chromium/content/public/test/test_launcher.h

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

#ifndef CONTENT_PUBLIC_TEST_TEST_LAUNCHER_H_
#define CONTENT_PUBLIC_TEST_TEST_LAUNCHER_H_

#include <memory>
#include <string>

#include "build/build_config.h"

namespace base {
class CommandLine;
struct TestResult;
}

namespace content {
class BrowserMainParts;
class ContentMainDelegate;
struct ContentMainParams;

class TestLauncherDelegate {};

// Launches tests using |launcher_delegate|. |parallel_jobs| is the number
// of test jobs to be run in parallel.
[[nodiscard]] int LaunchTests(TestLauncherDelegate* launcher_delegate,
                              size_t parallel_jobs,
                              int argc,
                              char** argv);

TestLauncherDelegate* GetCurrentTestLauncherDelegate();

// Returns a copy of the ContentMainParams initialized before launching tests.
ContentMainParams CopyContentMainParams();

// Returns true if the currently running test has a prefix that indicates it
// should run before a test of the same name without the prefix.
bool IsPreTest();

}  // namespace content

#endif  // CONTENT_PUBLIC_TEST_TEST_LAUNCHER_H_