diff options
-rw-r--r-- | base/test/test_launcher.cc | 2 | ||||
-rw-r--r-- | base/test/test_launcher.h | 3 | ||||
-rw-r--r-- | base/test/unit_test_launcher.cc | 4 | ||||
-rw-r--r-- | content/public/test/test_launcher.cc | 5 |
4 files changed, 14 insertions, 0 deletions
diff --git a/base/test/test_launcher.cc b/base/test/test_launcher.cc index 462f4d4..b58a608 100644 --- a/base/test/test_launcher.cc +++ b/base/test/test_launcher.cc @@ -546,6 +546,8 @@ void RunTestIteration(TestLauncherDelegate* launcher_delegate, // Special value "-1" means "repeat indefinitely". int new_cycles = (cycles == -1) ? cycles : cycles - 1; + launcher_delegate->OnTestIterationStarting(); + MessageLoop::current()->PostTask( FROM_HERE, Bind(&RunTests, launcher_delegate, total_shards, shard_index, diff --git a/base/test/test_launcher.h b/base/test/test_launcher.h index 0e8faea..bf4e9c0 100644 --- a/base/test/test_launcher.h +++ b/base/test/test_launcher.h @@ -69,6 +69,9 @@ struct TestResult { // which tests and how are run. class TestLauncherDelegate { public: + // Called at the start of each test iteration. + virtual void OnTestIterationStarting() = 0; + // Called to get a test name for filtering purposes. Usually it's // test case's name and test's name joined by a dot (e.g. // "TestCaseName.TestName"). diff --git a/base/test/unit_test_launcher.cc b/base/test/unit_test_launcher.cc index daf264d..aee90c8 100644 --- a/base/test/unit_test_launcher.cc +++ b/base/test/unit_test_launcher.cc @@ -99,6 +99,10 @@ class UnitTestLauncherDelegate : public TestLauncherDelegate { TestResultCallback callback; }; + virtual void OnTestIterationStarting() OVERRIDE { + // Nothing to do. + } + virtual std::string GetTestNameForFiltering( const testing::TestCase* test_case, const testing::TestInfo* test_info) OVERRIDE { diff --git a/content/public/test/test_launcher.cc b/content/public/test/test_launcher.cc index 1237451..82616cf 100644 --- a/content/public/test/test_launcher.cc +++ b/content/public/test/test_launcher.cc @@ -97,6 +97,7 @@ class WrapperTestLauncherDelegate : public base::TestLauncherDelegate { } // base::TestLauncherDelegate: + virtual void OnTestIterationStarting() OVERRIDE; virtual std::string GetTestNameForFiltering( const testing::TestCase* test_case, const testing::TestInfo* test_info) OVERRIDE; @@ -156,6 +157,10 @@ class WrapperTestLauncherDelegate : public base::TestLauncherDelegate { DISALLOW_COPY_AND_ASSIGN(WrapperTestLauncherDelegate); }; +void WrapperTestLauncherDelegate::OnTestIterationStarting() { + tests_to_run_.clear(); +} + std::string WrapperTestLauncherDelegate::GetTestNameForFiltering( const testing::TestCase* test_case, const testing::TestInfo* test_info) { |