| Index: content/public/test/test_launcher.h
|
| diff --git a/content/public/test/test_launcher.h b/content/public/test/test_launcher.h
|
| index 3f399b007bf64f9e17252957a0472a79721c8b6f..117c65866ba967afb9489b7d9a96eeb07be93a04 100644
|
| --- a/content/public/test/test_launcher.h
|
| +++ b/content/public/test/test_launcher.h
|
| @@ -8,6 +8,7 @@
|
| #include <string>
|
|
|
| #include "base/compiler_specific.h"
|
| +#include "base/test/launcher/test_launcher.h"
|
|
|
| namespace base {
|
| class CommandLine;
|
| @@ -28,6 +29,17 @@ extern const char kSingleProcessTestsFlag[];
|
| // Flag that causes only the kEmptyTestName test to be run.
|
| extern const char kWarmupFlag[];
|
|
|
| +// See details in PreRunTest().
|
| +class TestState {
|
| + public:
|
| + virtual ~TestState() {}
|
| +
|
| + // Called once test process has launched (and is still running).
|
| + // NOTE: this is called on a background thread.
|
| + virtual void ChildProcessLaunched(base::ProcessHandle handle,
|
| + base::ProcessId pid) = 0;
|
| +};
|
| +
|
| class TestLauncherDelegate {
|
| public:
|
| virtual int RunTestSuite(int argc, char** argv) = 0;
|
| @@ -38,6 +50,16 @@ class TestLauncherDelegate {
|
| virtual void PostRunMessageLoop() {}
|
| virtual ContentMainDelegate* CreateContentMainDelegate() = 0;
|
|
|
| + // Called prior to running each test. The delegate may alter the CommandLine
|
| + // and options used to launch the subprocess. Additionally the client may
|
| + // return a TestState that is destroyed once the test completes as well as
|
| + // once the test process is launched.
|
| + //
|
| + // NOTE: this is not called if --single_process is supplied.
|
| + virtual scoped_ptr<TestState> PreRunTest(
|
| + base::CommandLine* command_line,
|
| + base::TestLauncher::LaunchOptions* test_launch_options);
|
| +
|
| // Allows a TestLauncherDelegate to adjust the number of |default_jobs| used
|
| // when --test-launcher-jobs isn't specified on the command-line.
|
| virtual void AdjustDefaultParallelJobs(int* default_jobs) {}
|
|
|