chromium/fuchsia_web/common/test/run_all_integration_tests.cc

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/system/sys_info.h"
#include "base/test/launcher/unit_test_launcher.h"
#include "base/test/test_suite.h"
#include "build/build_config.h"

constexpr size_t kDefaultTestBatchLimit = 10;

int main(int argc, char** argv) {
  base::TestSuite test_suite(argc, argv);

  // Each test launches a complete set of components, so allow two CPU cores
  // per test.
  size_t jobs = base::SysInfo::NumberOfProcessors();
  if (jobs > 1)
    jobs /= 2;

  return base::LaunchUnitTestsWithOptions(
      argc, argv, jobs, kDefaultTestBatchLimit, true /* use_job_objects */,
      base::DoNothing(),
      base::BindOnce(&base::TestSuite::Run, base::Unretained(&test_suite)));
}