summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--base/test/test_launcher.cc2
-rw-r--r--base/test/test_launcher.h3
-rw-r--r--base/test/unit_test_launcher.cc4
-rw-r--r--content/public/test/test_launcher.cc5
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) {