Index: base/test/test_suite.cc |
diff --git a/base/test/test_suite.cc b/base/test/test_suite.cc |
index c9bfe9e0f0173558f90130aead0fabe5b8370864..d8a61df6df4c7375a7678b43cc925c5a16189490 100644 |
--- a/base/test/test_suite.cc |
+++ b/base/test/test_suite.cc |
@@ -135,8 +135,7 @@ int RunUnitTestsUsingBaseTestSuite(int argc, char **argv) { |
Bind(&TestSuite::Run, Unretained(&test_suite))); |
} |
-TestSuite::TestSuite(int argc, char** argv) |
- : initialized_command_line_(false), created_feature_list_(false) { |
+TestSuite::TestSuite(int argc, char** argv) : initialized_command_line_(false) { |
PreInitialize(); |
InitializeFromCommandLine(argc, argv); |
// Logging must be initialized before any thread has a chance to call logging |
@@ -146,7 +145,7 @@ TestSuite::TestSuite(int argc, char** argv) |
#if defined(OS_WIN) |
TestSuite::TestSuite(int argc, wchar_t** argv) |
- : initialized_command_line_(false), created_feature_list_(false) { |
+ : initialized_command_line_(false) { |
PreInitialize(); |
InitializeFromCommandLine(argc, argv); |
// Logging must be initialized before any thread has a chance to call logging |
@@ -342,13 +341,19 @@ void TestSuite::Initialize() { |
debug::WaitForDebugger(60, true); |
} |
#endif |
- |
// Set up a FeatureList instance, so that code using that API will not hit a |
- // an error that it's not set. If a FeatureList was created in this way (i.e. |
- // one didn't exist previously), it will be cleared in Shutdown() via |
- // ClearInstanceForTesting(). |
- created_feature_list_ = |
- FeatureList::InitializeInstance(std::string(), std::string()); |
+ // an error that it's not set. It will be cleared automatically. |
+ // TestFeatureForBrowserTest1 and TestFeatureForBrowserTest2 used in |
+ // BrowserTestScopedFeatureListTest and |
+ // ContentBrowserTestScopedFeatureListTest to ensure ScopedFeatureList works. |
+ std::string enabled = |
+ CommandLine::ForCurrentProcess()->GetSwitchValueASCII("enable-features"); |
+ std::string disabled = |
+ CommandLine::ForCurrentProcess()->GetSwitchValueASCII("disable-features"); |
+ enabled += ",TestFeatureForBrowserTest1"; |
chaopeng
2017/06/28 14:16:51
Here is the only correct timing can change feature
|
+ disabled += ",TestFeatureForBrowserTest2"; |
+ |
+ scoped_feature_list_.InitFromCommandLine(enabled, disabled); |
#if defined(OS_IOS) |
InitIOSTestMessageLoop(); |
@@ -412,10 +417,6 @@ void TestSuite::Initialize() { |
void TestSuite::Shutdown() { |
base::debug::StopProfiling(); |
- |
- // Clear the FeatureList that was created by Initialize(). |
- if (created_feature_list_) |
- FeatureList::ClearInstanceForTesting(); |
} |
} // namespace base |