blob: 4e9230b163eb6ce2588a4366026051a4891f2de9 [file] [log] [blame]
jmadill027aa70482015-03-24 22:01:261// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
jmadill027aa70482015-03-24 22:01:265#include "base/bind.h"
6#include "base/command_line.h"
Alex Clarkef7fb8a82019-06-06 15:41:537#include "base/task/single_thread_task_executor.h"
jmadill027aa70482015-03-24 22:01:268#include "base/test/launcher/unit_test_launcher.h"
9#include "base/test/test_suite.h"
10
11namespace {
12
13int RunHelper(base::TestSuite* test_suite) {
Alex Clarkef7fb8a82019-06-06 15:41:5314 base::SingleThreadTaskExecutor io_task_executor(base::MessagePump::Type::IO);
jmadill027aa70482015-03-24 22:01:2615 return test_suite->Run();
16}
17
18} // namespace
19
Jamie Madillaf6fc952018-11-17 13:48:5120void ANGLEProcessPerfTestArgs(int *argc, char **argv);
Jamie Madill9cddc992017-09-26 03:19:2121
jmadill027aa70482015-03-24 22:01:2622int main(int argc, char** argv) {
Jamie Madillaf6fc952018-11-17 13:48:5123 // base::CommandLine::Init must be called before ANGLEProcessPerfTestArgs.
24 // See comment in angle_deqp_tests_main.cc.
jmadill027aa70482015-03-24 22:01:2625 base::CommandLine::Init(argc, argv);
Jamie Madillaf6fc952018-11-17 13:48:5126 ANGLEProcessPerfTestArgs(&argc, argv);
27
jmadill027aa70482015-03-24 22:01:2628 base::TestSuite test_suite(argc, argv);
29 int rt = base::LaunchUnitTestsSerially(
Corentin Wallez0b71452b2018-10-30 17:35:0030 argc, argv, base::BindOnce(&RunHelper, base::Unretained(&test_suite)));
jmadill027aa70482015-03-24 22:01:2631 return rt;
32}