blob: 02997fdc6d1c65c8ae41ac4dd9ac96b8a39c44fc [file] [log] [blame]
kbrdb69c442014-12-20 23:38:451// 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
kbrdb69c442014-12-20 23:38:455#include "base/bind.h"
6#include "base/command_line.h"
Carlos Caballeroa1f7a0d2019-06-12 08:20:347#include "base/task/single_thread_task_executor.h"
kbrdb69c442014-12-20 23:38:458#include "base/test/launcher/unit_test_launcher.h"
9#include "base/test/test_suite.h"
10#include "testing/gmock/include/gmock/gmock.h"
kbrdb69c442014-12-20 23:38:4511
12namespace {
13
14int RunHelper(base::TestSuite* test_suite) {
Carlos Caballeroa1f7a0d2019-06-12 08:20:3415 base::SingleThreadTaskExecutor task_executor;
kbrdb69c442014-12-20 23:38:4516 return test_suite->Run();
17}
18
19} // namespace
20
Jamie Madill0104ffe2018-12-28 16:35:5921// Located in third_party/angle/src/tests/test_utils/ANGLETest.cpp.
22// Defined here so we can avoid depending on the ANGLE headers.
Jamie Madillf60679d2018-12-20 04:35:3923void ANGLEProcessTestArgs(int *argc, char *argv[]);
24
kbrdb69c442014-12-20 23:38:4525int main(int argc, char** argv) {
avi9ab037202014-12-22 23:49:5326 base::CommandLine::Init(argc, argv);
Jamie Madillf60679d2018-12-20 04:35:3927 ANGLEProcessTestArgs(&argc, argv);
Jamie Madill4a9e85f2019-05-01 16:17:5828 testing::InitGoogleMock(&argc, argv);
kbrdb69c442014-12-20 23:38:4529 base::TestSuite test_suite(argc, argv);
phajdan.jrb265c2eb2015-10-30 11:44:5730 int rt = base::LaunchUnitTestsWithOptions(
Corentin Wallez0b71452b2018-10-30 17:35:0031 argc, argv,
32 1, // Run tests serially.
33 0, // Disable batching.
phajdan.jrb265c2eb2015-10-30 11:44:5734 true, // Use job objects.
Corentin Wallez0b71452b2018-10-30 17:35:0035 base::BindOnce(&RunHelper, base::Unretained(&test_suite)));
kbrdb69c442014-12-20 23:38:4536 return rt;
37}