blob: 09a97d4e8da136c89eaabdd4ae912311f7cf38b9 [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"
Chris Sharp7840c582019-08-02 15:45:327#include "base/message_loop/message_pump_type.h"
Alex Clarkef7fb8a82019-06-06 15:41:538#include "base/task/single_thread_task_executor.h"
jmadill027aa70482015-03-24 22:01:269#include "base/test/launcher/unit_test_launcher.h"
10#include "base/test/test_suite.h"
11
12namespace {
13
14int RunHelper(base::TestSuite* test_suite) {
Chris Sharp7840c582019-08-02 15:45:3215 base::SingleThreadTaskExecutor io_task_executor(base::MessagePumpType::IO);
jmadill027aa70482015-03-24 22:01:2616 return test_suite->Run();
17}
18
19} // namespace
20
Jamie Madillaf6fc952018-11-17 13:48:5121void ANGLEProcessPerfTestArgs(int *argc, char **argv);
Jamie Madill9cddc992017-09-26 03:19:2122
jmadill027aa70482015-03-24 22:01:2623int main(int argc, char** argv) {
Jamie Madillaf6fc952018-11-17 13:48:5124 // base::CommandLine::Init must be called before ANGLEProcessPerfTestArgs.
25 // See comment in angle_deqp_tests_main.cc.
jmadill027aa70482015-03-24 22:01:2626 base::CommandLine::Init(argc, argv);
Jamie Madillaf6fc952018-11-17 13:48:5127 ANGLEProcessPerfTestArgs(&argc, argv);
28
jmadill027aa70482015-03-24 22:01:2629 base::TestSuite test_suite(argc, argv);
François Doray2b82f402019-11-04 21:16:4830
31 // The thread priority is modified by StabilizeCPUForBenchmarking().
32 test_suite.DisableCheckForThreadAndProcessPriority();
33
jmadill027aa70482015-03-24 22:01:2634 int rt = base::LaunchUnitTestsSerially(
Corentin Wallez0b71452b2018-10-30 17:35:0035 argc, argv, base::BindOnce(&RunHelper, base::Unretained(&test_suite)));
jmadill027aa70482015-03-24 22:01:2636 return rt;
37}