| Index: chrome/browser/sync/test/integration/two_client_extension_settings_and_app_settings_sync_test.cc
|
| diff --git a/chrome/browser/sync/test/integration/two_client_extension_settings_sync_test.cc b/chrome/browser/sync/test/integration/two_client_extension_settings_and_app_settings_sync_test.cc
|
| similarity index 57%
|
| rename from chrome/browser/sync/test/integration/two_client_extension_settings_sync_test.cc
|
| rename to chrome/browser/sync/test/integration/two_client_extension_settings_and_app_settings_sync_test.cc
|
| index bd581dd6943da0bb69a764738f1d58d995d9e89a..15683b57bca77f5a9f1e986e6581ccc0ecf63319 100644
|
| --- a/chrome/browser/sync/test/integration/two_client_extension_settings_sync_test.cc
|
| +++ b/chrome/browser/sync/test/integration/two_client_extension_settings_and_app_settings_sync_test.cc
|
| @@ -5,6 +5,7 @@
|
| #include "base/stringprintf.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/sync/profile_sync_service_harness.h"
|
| +#include "chrome/browser/sync/test/integration/apps_helper.h"
|
| #include "chrome/browser/sync/test/integration/extension_settings_helper.h"
|
| #include "chrome/browser/sync/test/integration/extensions_helper.h"
|
| #include "chrome/browser/sync/test/integration/sync_datatype_helper.h"
|
| @@ -12,18 +13,13 @@
|
|
|
| namespace {
|
|
|
| +using apps_helper::InstallAppForAllProfiles;
|
| +using extension_settings_helper::AllExtensionSettingsSameAsVerifier;
|
| using extension_settings_helper::SetExtensionSettings;
|
| using extension_settings_helper::SetExtensionSettingsForAllProfiles;
|
| -using extension_settings_helper::AllExtensionSettingsSameAsVerifier;
|
| -using extensions_helper::InstallExtension;
|
| +using extensions_helper::InstallExtensionForAllProfiles;
|
| using sync_datatype_helper::test;
|
|
|
| -std::string InstallExtensionForAllProfiles(int index) {
|
| - for (int i = 0; i < test()->num_clients(); ++i)
|
| - InstallExtension(test()->GetProfile(i), index);
|
| - return InstallExtension(test()->verifier(), index);
|
| -}
|
| -
|
| // Generic mutations done after the initial setup of all tests. Note that
|
| // unfortuately we can't test existing configurations of the sync server since
|
| // the tests don't support that.
|
| @@ -61,13 +57,13 @@ void MutateSomeSettings(
|
| }
|
| }
|
|
|
| -class TwoClientExtensionSettingsSyncTest : public SyncTest {
|
| +class TwoClientExtensionSettingsAndAppSettingsSyncTest : public SyncTest {
|
| public:
|
| - TwoClientExtensionSettingsSyncTest() : SyncTest(TWO_CLIENT) {}
|
| - virtual ~TwoClientExtensionSettingsSyncTest() {}
|
| + TwoClientExtensionSettingsAndAppSettingsSyncTest() : SyncTest(TWO_CLIENT) {}
|
| + virtual ~TwoClientExtensionSettingsAndAppSettingsSyncTest() {}
|
|
|
| private:
|
| - DISALLOW_COPY_AND_ASSIGN(TwoClientExtensionSettingsSyncTest);
|
| + DISALLOW_COPY_AND_ASSIGN(TwoClientExtensionSettingsAndAppSettingsSyncTest);
|
| };
|
|
|
| // For three independent extensions:
|
| @@ -75,14 +71,10 @@ class TwoClientExtensionSettingsSyncTest : public SyncTest {
|
| // Set up each extension with the same (but not necessarily empty) settings for
|
| // all profiles, start syncing, add some new settings, sync, mutate those
|
| // settings, sync.
|
| -IN_PROC_BROWSER_TEST_F(TwoClientExtensionSettingsSyncTest,
|
| - StartWithSameSettings) {
|
| - ASSERT_TRUE(SetupClients());
|
| -
|
| - const std::string& extension0 = InstallExtensionForAllProfiles(0);
|
| - const std::string& extension1 = InstallExtensionForAllProfiles(1);
|
| - const std::string& extension2 = InstallExtensionForAllProfiles(2);
|
| -
|
| +testing::AssertionResult StartWithSameSettingsTest(
|
| + const std::string& extension0,
|
| + const std::string& extension1,
|
| + const std::string& extension2) {
|
| {
|
| // Leave extension0 empty.
|
| }
|
| @@ -98,17 +90,26 @@ IN_PROC_BROWSER_TEST_F(TwoClientExtensionSettingsSyncTest,
|
| SetExtensionSettingsForAllProfiles(extension2, settings);
|
| }
|
|
|
| - ASSERT_TRUE(SetupSync());
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllExtensionSettingsSameAsVerifier());
|
| + if (!test()->SetupSync())
|
| + return testing::AssertionFailure();
|
| + if (!test()->AwaitQuiescence())
|
| + return testing::AssertionFailure();
|
| + if (!AllExtensionSettingsSameAsVerifier())
|
| + return testing::AssertionFailure();
|
|
|
| MutateSomeSettings(0, extension0, extension1, extension2);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllExtensionSettingsSameAsVerifier());
|
| + if (!test()->AwaitQuiescence())
|
| + return testing::AssertionFailure();
|
| + if (!AllExtensionSettingsSameAsVerifier())
|
| + return testing::AssertionFailure();
|
|
|
| MutateSomeSettings(1, extension0, extension1, extension2);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllExtensionSettingsSameAsVerifier());
|
| + if (!test()->AwaitQuiescence())
|
| + return testing::AssertionFailure();
|
| + if (!AllExtensionSettingsSameAsVerifier())
|
| + return testing::AssertionFailure();
|
| +
|
| + return testing::AssertionSuccess();
|
| }
|
|
|
| // For three independent extensions:
|
| @@ -116,14 +117,10 @@ IN_PROC_BROWSER_TEST_F(TwoClientExtensionSettingsSyncTest,
|
| // Set up each extension with different settings for each profile, start
|
| // syncing, add some settings, sync, mutate those settings, sync, have a no-op
|
| // (non-)change to those settings, sync, mutate again, sync.
|
| -IN_PROC_BROWSER_TEST_F(TwoClientExtensionSettingsSyncTest,
|
| - StartWithDifferentSettings) {
|
| - ASSERT_TRUE(SetupClients());
|
| -
|
| - const std::string& extension0 = InstallExtensionForAllProfiles(0);
|
| - const std::string& extension1 = InstallExtensionForAllProfiles(1);
|
| - const std::string& extension2 = InstallExtensionForAllProfiles(2);
|
| -
|
| +testing::AssertionResult StartWithDifferentSettingsTest(
|
| + const std::string& extension0,
|
| + const std::string& extension1,
|
| + const std::string& extension2) {
|
| {
|
| // Leave extension0 empty again for no particular reason other than it's
|
| // the only remaining unique combination given the other 2 tests have
|
| @@ -145,27 +142,80 @@ IN_PROC_BROWSER_TEST_F(TwoClientExtensionSettingsSyncTest,
|
| SetExtensionSettings(test()->GetProfile(1), extension2, settings);
|
| }
|
|
|
| - ASSERT_TRUE(SetupSync());
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllExtensionSettingsSameAsVerifier());
|
| + if (!test()->SetupSync())
|
| + return testing::AssertionFailure();
|
| + if (!test()->AwaitQuiescence())
|
| + return testing::AssertionFailure();
|
| + if (!AllExtensionSettingsSameAsVerifier())
|
| + return testing::AssertionFailure();
|
|
|
| MutateSomeSettings(2, extension0, extension1, extension2);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllExtensionSettingsSameAsVerifier());
|
| + if (!test()->AwaitQuiescence())
|
| + return testing::AssertionFailure();
|
| + if (!AllExtensionSettingsSameAsVerifier())
|
| + return testing::AssertionFailure();
|
|
|
| MutateSomeSettings(3, extension0, extension1, extension2);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllExtensionSettingsSameAsVerifier());
|
| + if (!test()->AwaitQuiescence())
|
| + return testing::AssertionFailure();
|
| + if (!AllExtensionSettingsSameAsVerifier())
|
| + return testing::AssertionFailure();
|
|
|
| // Test a round of no-ops once, for sanity. Ideally we'd want to assert that
|
| // this causes no sync activity, but that sounds tricky.
|
| MutateSomeSettings(3, extension0, extension1, extension2);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllExtensionSettingsSameAsVerifier());
|
| + if (!test()->AwaitQuiescence())
|
| + return testing::AssertionFailure();
|
| + if (!AllExtensionSettingsSameAsVerifier())
|
| + return testing::AssertionFailure();
|
|
|
| MutateSomeSettings(4, extension0, extension1, extension2);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllExtensionSettingsSameAsVerifier());
|
| + if (!test()->AwaitQuiescence())
|
| + return testing::AssertionFailure();
|
| + if (!AllExtensionSettingsSameAsVerifier())
|
| + return testing::AssertionFailure();
|
| +
|
| + return testing::AssertionSuccess();
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(TwoClientExtensionSettingsAndAppSettingsSyncTest,
|
| + ExtensionsStartWithSameSettings) {
|
| + ASSERT_TRUE(SetupClients());
|
| + ASSERT_PRED3(StartWithSameSettingsTest,
|
| + InstallExtensionForAllProfiles(0),
|
| + InstallExtensionForAllProfiles(1),
|
| + InstallExtensionForAllProfiles(2)
|
| + );
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(TwoClientExtensionSettingsAndAppSettingsSyncTest,
|
| + AppsStartWithSameSettings) {
|
| + ASSERT_TRUE(SetupClients());
|
| + ASSERT_PRED3(StartWithSameSettingsTest,
|
| + InstallAppForAllProfiles(0),
|
| + InstallAppForAllProfiles(1),
|
| + InstallAppForAllProfiles(2)
|
| + );
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(TwoClientExtensionSettingsAndAppSettingsSyncTest,
|
| + ExtensionsStartWithDifferentSettings) {
|
| + ASSERT_TRUE(SetupClients());
|
| + ASSERT_PRED3(StartWithDifferentSettingsTest,
|
| + InstallExtensionForAllProfiles(0),
|
| + InstallExtensionForAllProfiles(1),
|
| + InstallExtensionForAllProfiles(2)
|
| + );
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(TwoClientExtensionSettingsAndAppSettingsSyncTest,
|
| + AppsStartWithDifferentSettings) {
|
| + ASSERT_TRUE(SetupClients());
|
| + ASSERT_PRED3(StartWithDifferentSettingsTest,
|
| + InstallAppForAllProfiles(0),
|
| + InstallAppForAllProfiles(1),
|
| + InstallAppForAllProfiles(2)
|
| + );
|
| }
|
|
|
| } // namespace
|
|
|