Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Side by Side Diff: chrome/browser/prefs/tracked/pref_hash_browsertest.cc

Issue 2893703002: Cleanup PreferenceMACs on browser_tests startup (Closed)
Patch Set: re-enable PrefHashBrowserTests disabled for this issue Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <memory> 5 #include <memory>
6 #include <string> 6 #include <string>
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/base_switches.h" 9 #include "base/base_switches.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 ? num_tracked_prefs() 512 ? num_tracked_prefs()
513 : 0, 513 : 0,
514 GetTrackedPrefHistogramCount( 514 GetTrackedPrefHistogramCount(
515 user_prefs::tracked::kTrackedPrefHistogramUnchanged, 515 user_prefs::tracked::kTrackedPrefHistogramUnchanged,
516 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix, 516 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix,
517 ALLOW_ANY)); 517 ALLOW_ANY));
518 } 518 }
519 } 519 }
520 }; 520 };
521 521
522 // Test is flaky. crbug.com/723639 522 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUnchangedDefault, UnchangedDefault);
jam 2017/05/17 19:06:16 https://codereview.chromium.org/2882423002 was als
gab 2017/05/17 20:01:04 Done.
523 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUnchangedDefault,
524 DISABLED_UnchangedDefault);
525 523
526 // Augments PrefHashBrowserTestUnchangedDefault to confirm that nothing is reset 524 // Augments PrefHashBrowserTestUnchangedDefault to confirm that nothing is reset
527 // when nothing is tampered with, even if Chrome itself wrote custom prefs in 525 // when nothing is tampered with, even if Chrome itself wrote custom prefs in
528 // its last run. 526 // its last run.
529 class PrefHashBrowserTestUnchangedCustom 527 class PrefHashBrowserTestUnchangedCustom
530 : public PrefHashBrowserTestUnchangedDefault { 528 : public PrefHashBrowserTestUnchangedDefault {
531 public: 529 public:
532 void SetupPreferences() override { 530 void SetupPreferences() override {
533 profile()->GetPrefs()->SetString(prefs::kHomePage, "http://example.com"); 531 profile()->GetPrefs()->SetString(prefs::kHomePage, "http://example.com");
534 532
535 InstallExtensionWithUIAutoConfirm( 533 InstallExtensionWithUIAutoConfirm(
536 test_data_dir_.AppendASCII("good.crx"), 1, browser()); 534 test_data_dir_.AppendASCII("good.crx"), 1, browser());
537 } 535 }
538 536
539 void VerifyReactionToPrefAttack() override { 537 void VerifyReactionToPrefAttack() override {
540 // Make sure the settings written in the last run stuck. 538 // Make sure the settings written in the last run stuck.
541 EXPECT_EQ("http://example.com", 539 EXPECT_EQ("http://example.com",
542 profile()->GetPrefs()->GetString(prefs::kHomePage)); 540 profile()->GetPrefs()->GetString(prefs::kHomePage));
543 541
544 EXPECT_TRUE(extension_service()->GetExtensionById(kGoodCrxId, false)); 542 EXPECT_TRUE(extension_service()->GetExtensionById(kGoodCrxId, false));
545 543
546 // Reaction should be identical to unattacked default prefs. 544 // Reaction should be identical to unattacked default prefs.
547 PrefHashBrowserTestUnchangedDefault::VerifyReactionToPrefAttack(); 545 PrefHashBrowserTestUnchangedDefault::VerifyReactionToPrefAttack();
548 } 546 }
549 }; 547 };
550 548
551 // Test is flaky. crbug.com/723639 549 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUnchangedCustom, UnchangedCustom);
552 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUnchangedCustom,
553 DISABLED_UnchangedCustom);
554 550
555 // Verifies that cleared prefs are reported. 551 // Verifies that cleared prefs are reported.
556 class PrefHashBrowserTestClearedAtomic : public PrefHashBrowserTestBase { 552 class PrefHashBrowserTestClearedAtomic : public PrefHashBrowserTestBase {
557 public: 553 public:
558 void SetupPreferences() override { 554 void SetupPreferences() override {
559 profile()->GetPrefs()->SetString(prefs::kHomePage, "http://example.com"); 555 profile()->GetPrefs()->SetString(prefs::kHomePage, "http://example.com");
560 } 556 }
561 557
562 void AttackPreferencesOnDisk( 558 void AttackPreferencesOnDisk(
563 base::DictionaryValue* unprotected_preferences, 559 base::DictionaryValue* unprotected_preferences,
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 // Expect homepage clearance to have been noticed by registry validation. 611 // Expect homepage clearance to have been noticed by registry validation.
616 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, 612 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0,
617 GetTrackedPrefHistogramCount( 613 GetTrackedPrefHistogramCount(
618 user_prefs::tracked::kTrackedPrefHistogramCleared, 614 user_prefs::tracked::kTrackedPrefHistogramCleared,
619 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix, 615 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix,
620 BEGIN_ALLOW_SINGLE_BUCKET + 2)); 616 BEGIN_ALLOW_SINGLE_BUCKET + 2));
621 } 617 }
622 } 618 }
623 }; 619 };
624 620
625 // Test is flaky. crbug.com/723639 621 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestClearedAtomic, ClearedAtomic);
626 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestClearedAtomic,
627 DISABLED_ClearedAtomic);
628 622
629 // Verifies that clearing the MACs results in untrusted Initialized pings for 623 // Verifies that clearing the MACs results in untrusted Initialized pings for
630 // non-null protected prefs. 624 // non-null protected prefs.
631 class PrefHashBrowserTestUntrustedInitialized : public PrefHashBrowserTestBase { 625 class PrefHashBrowserTestUntrustedInitialized : public PrefHashBrowserTestBase {
632 public: 626 public:
633 void SetupPreferences() override { 627 void SetupPreferences() override {
634 // Explicitly set the DSE (it's otherwise NULL by default, preventing 628 // Explicitly set the DSE (it's otherwise NULL by default, preventing
635 // thorough testing of the PROTECTION_ENABLED_DSE level). 629 // thorough testing of the PROTECTION_ENABLED_DSE level).
636 DefaultSearchManager default_search_manager( 630 DefaultSearchManager default_search_manager(
637 profile()->GetPrefs(), DefaultSearchManager::ObserverCallback()); 631 profile()->GetPrefs(), DefaultSearchManager::ObserverCallback());
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
751 ? num_tracked_prefs() 745 ? num_tracked_prefs()
752 : 0, 746 : 0,
753 GetTrackedPrefHistogramCount( 747 GetTrackedPrefHistogramCount(
754 user_prefs::tracked::kTrackedPrefHistogramUnchanged, 748 user_prefs::tracked::kTrackedPrefHistogramUnchanged,
755 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix, 749 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix,
756 ALLOW_ANY)); 750 ALLOW_ANY));
757 } 751 }
758 } 752 }
759 }; 753 };
760 754
761 // Test is flaky. crbug.com/723639
762 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedInitialized, 755 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedInitialized,
763 DISABLED_UntrustedInitialized); 756 UntrustedInitialized);
764 757
765 // Verifies that changing an atomic pref results in it being reported (and reset 758 // Verifies that changing an atomic pref results in it being reported (and reset
766 // if the protection level allows it). 759 // if the protection level allows it).
767 class PrefHashBrowserTestChangedAtomic : public PrefHashBrowserTestBase { 760 class PrefHashBrowserTestChangedAtomic : public PrefHashBrowserTestBase {
768 public: 761 public:
769 void SetupPreferences() override { 762 void SetupPreferences() override {
770 profile()->GetPrefs()->SetInteger(prefs::kRestoreOnStartup, 763 profile()->GetPrefs()->SetInteger(prefs::kRestoreOnStartup,
771 SessionStartupPref::URLS); 764 SessionStartupPref::URLS);
772 765
773 ListPrefUpdate update(profile()->GetPrefs(), 766 ListPrefUpdate update(profile()->GetPrefs(),
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
851 // Expect a single Changed event for tracked pref #4 (startup URLs). 844 // Expect a single Changed event for tracked pref #4 (startup URLs).
852 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, 845 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0,
853 GetTrackedPrefHistogramCount( 846 GetTrackedPrefHistogramCount(
854 user_prefs::tracked::kTrackedPrefHistogramChanged, 847 user_prefs::tracked::kTrackedPrefHistogramChanged,
855 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix, 848 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix,
856 BEGIN_ALLOW_SINGLE_BUCKET + 4)); 849 BEGIN_ALLOW_SINGLE_BUCKET + 4));
857 } 850 }
858 } 851 }
859 }; 852 };
860 853
861 // Test is flaky. crbug.com/723639 854 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestChangedAtomic, ChangedAtomic);
862 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestChangedAtomic,
863 DISABLED_ChangedAtomic);
864 855
865 // Verifies that changing or adding an entry in a split pref results in both 856 // Verifies that changing or adding an entry in a split pref results in both
866 // items being reported (and remove if the protection level allows it). 857 // items being reported (and remove if the protection level allows it).
867 class PrefHashBrowserTestChangedSplitPref : public PrefHashBrowserTestBase { 858 class PrefHashBrowserTestChangedSplitPref : public PrefHashBrowserTestBase {
868 public: 859 public:
869 void SetupPreferences() override { 860 void SetupPreferences() override {
870 InstallExtensionWithUIAutoConfirm( 861 InstallExtensionWithUIAutoConfirm(
871 test_data_dir_.AppendASCII("good.crx"), 1, browser()); 862 test_data_dir_.AppendASCII("good.crx"), 1, browser());
872 } 863 }
873 864
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
960 // pref #5 (extensions). 951 // pref #5 (extensions).
961 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, 952 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0,
962 GetTrackedPrefHistogramCount( 953 GetTrackedPrefHistogramCount(
963 user_prefs::tracked::kTrackedPrefHistogramChanged, 954 user_prefs::tracked::kTrackedPrefHistogramChanged,
964 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix, 955 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix,
965 BEGIN_ALLOW_SINGLE_BUCKET + 5)); 956 BEGIN_ALLOW_SINGLE_BUCKET + 5));
966 } 957 }
967 } 958 }
968 }; 959 };
969 960
970 // Test is flaky. crbug.com/723639 961 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestChangedSplitPref, ChangedSplitPref);
971 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestChangedSplitPref,
972 DISABLED_ChangedSplitPref);
973 962
974 // Verifies that adding a value to unprotected preferences for a key which is 963 // Verifies that adding a value to unprotected preferences for a key which is
975 // still using the default (i.e. has no value stored in protected preferences) 964 // still using the default (i.e. has no value stored in protected preferences)
976 // doesn't allow that value to slip in with no valid MAC (regression test for 965 // doesn't allow that value to slip in with no valid MAC (regression test for
977 // http://crbug.com/414554) 966 // http://crbug.com/414554)
978 class PrefHashBrowserTestUntrustedAdditionToPrefs 967 class PrefHashBrowserTestUntrustedAdditionToPrefs
979 : public PrefHashBrowserTestBase { 968 : public PrefHashBrowserTestBase {
980 public: 969 public:
981 void SetupPreferences() override { 970 void SetupPreferences() override {
982 // Ensure there is no user-selected value for kRestoreOnStartup. 971 // Ensure there is no user-selected value for kRestoreOnStartup.
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
1046 ? changed_expected 1035 ? changed_expected
1047 : 0, 1036 : 0,
1048 GetTrackedPrefHistogramCount( 1037 GetTrackedPrefHistogramCount(
1049 user_prefs::tracked::kTrackedPrefHistogramChanged, 1038 user_prefs::tracked::kTrackedPrefHistogramChanged,
1050 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix, 1039 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix,
1051 BEGIN_ALLOW_SINGLE_BUCKET + 3)); 1040 BEGIN_ALLOW_SINGLE_BUCKET + 3));
1052 } 1041 }
1053 } 1042 }
1054 }; 1043 };
1055 1044
1056 // Test is flaky. crbug.com/723639
1057 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedAdditionToPrefs, 1045 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedAdditionToPrefs,
1058 DISABLED_UntrustedAdditionToPrefs); 1046 UntrustedAdditionToPrefs);
1059 1047
1060 // Verifies that adding a value to unprotected preferences while wiping a 1048 // Verifies that adding a value to unprotected preferences while wiping a
1061 // user-selected value from protected preferences doesn't allow that value to 1049 // user-selected value from protected preferences doesn't allow that value to
1062 // slip in with no valid MAC (regression test for http://crbug.com/414554). 1050 // slip in with no valid MAC (regression test for http://crbug.com/414554).
1063 class PrefHashBrowserTestUntrustedAdditionToPrefsAfterWipe 1051 class PrefHashBrowserTestUntrustedAdditionToPrefsAfterWipe
1064 : public PrefHashBrowserTestBase { 1052 : public PrefHashBrowserTestBase {
1065 public: 1053 public:
1066 void SetupPreferences() override { 1054 void SetupPreferences() override {
1067 profile()->GetPrefs()->SetString(prefs::kHomePage, "http://example.com"); 1055 profile()->GetPrefs()->SetString(prefs::kHomePage, "http://example.com");
1068 } 1056 }
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
1134 BEGIN_ALLOW_SINGLE_BUCKET + 2)); 1122 BEGIN_ALLOW_SINGLE_BUCKET + 2));
1135 EXPECT_EQ(cleared_expected, 1123 EXPECT_EQ(cleared_expected,
1136 GetTrackedPrefHistogramCount( 1124 GetTrackedPrefHistogramCount(
1137 user_prefs::tracked::kTrackedPrefHistogramCleared, 1125 user_prefs::tracked::kTrackedPrefHistogramCleared,
1138 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix, 1126 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix,
1139 BEGIN_ALLOW_SINGLE_BUCKET + 2)); 1127 BEGIN_ALLOW_SINGLE_BUCKET + 2));
1140 } 1128 }
1141 } 1129 }
1142 }; 1130 };
1143 1131
1144 // Test is flaky. crbug.com/723639
1145 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedAdditionToPrefsAfterWipe, 1132 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedAdditionToPrefsAfterWipe,
1146 DISABLED_UntrustedAdditionToPrefsAfterWipe); 1133 UntrustedAdditionToPrefsAfterWipe);
1147 1134
1148 #if defined(OS_WIN) 1135 #if defined(OS_WIN)
1149 class PrefHashBrowserTestRegistryValidationFailure 1136 class PrefHashBrowserTestRegistryValidationFailure
1150 : public PrefHashBrowserTestBase { 1137 : public PrefHashBrowserTestBase {
1151 public: 1138 public:
1152 void SetupPreferences() override { 1139 void SetupPreferences() override {
1153 profile()->GetPrefs()->SetString(prefs::kHomePage, "http://example.com"); 1140 profile()->GetPrefs()->SetString(prefs::kHomePage, "http://example.com");
1154 } 1141 }
1155 1142
1156 void AttackPreferencesOnDisk( 1143 void AttackPreferencesOnDisk(
(...skipping 22 matching lines...) Expand all
1179 // (homepage). 1166 // (homepage).
1180 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, 1167 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0,
1181 GetTrackedPrefHistogramCount( 1168 GetTrackedPrefHistogramCount(
1182 user_prefs::tracked::kTrackedPrefHistogramChanged, 1169 user_prefs::tracked::kTrackedPrefHistogramChanged,
1183 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix, 1170 user_prefs::tracked::kTrackedPrefRegistryValidationSuffix,
1184 BEGIN_ALLOW_SINGLE_BUCKET + 2)); 1171 BEGIN_ALLOW_SINGLE_BUCKET + 2));
1185 } 1172 }
1186 } 1173 }
1187 }; 1174 };
1188 1175
1189 // Test is flaky. crbug.com/723639
1190 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestRegistryValidationFailure, 1176 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestRegistryValidationFailure,
1191 DISABLED_RegistryValidationFailure); 1177 RegistryValidationFailure);
1192 #endif 1178 #endif
1193 1179
1194 // Verifies that all preferences related to choice of default search engine are 1180 // Verifies that all preferences related to choice of default search engine are
1195 // protected. 1181 // protected.
1196 class PrefHashBrowserTestDefaultSearch : public PrefHashBrowserTestBase { 1182 class PrefHashBrowserTestDefaultSearch : public PrefHashBrowserTestBase {
1197 public: 1183 public:
1198 void SetupPreferences() override { 1184 void SetupPreferences() override {
1199 // Set user selected default search engine. 1185 // Set user selected default search engine.
1200 DefaultSearchManager default_search_manager( 1186 DefaultSearchManager default_search_manager(
1201 profile()->GetPrefs(), DefaultSearchManager::ObserverCallback()); 1187 profile()->GetPrefs(), DefaultSearchManager::ObserverCallback());
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
1286 // Attack fails. 1272 // Attack fails.
1287 EXPECT_EQ(DefaultSearchManager::FROM_FALLBACK, dse_source); 1273 EXPECT_EQ(DefaultSearchManager::FROM_FALLBACK, dse_source);
1288 EXPECT_NE(current_dse->keyword(), base::UTF8ToUTF16("badkeyword")); 1274 EXPECT_NE(current_dse->keyword(), base::UTF8ToUTF16("badkeyword"));
1289 EXPECT_NE(current_dse->short_name(), base::UTF8ToUTF16("badname")); 1275 EXPECT_NE(current_dse->short_name(), base::UTF8ToUTF16("badname"));
1290 EXPECT_NE(current_dse->url(), 1276 EXPECT_NE(current_dse->url(),
1291 "http://bad_default_engine/search?q=dirty_user_query"); 1277 "http://bad_default_engine/search?q=dirty_user_query");
1292 } 1278 }
1293 } 1279 }
1294 }; 1280 };
1295 1281
1296 // Test is flaky. crbug.com/723639 1282 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestDefaultSearch, SearchProtected);
1297 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestDefaultSearch,
1298 DISABLED_SearchProtected);
OLDNEW
« no previous file with comments | « no previous file | chrome/test/base/chrome_test_launcher.h » ('j') | chrome/test/base/chrome_test_launcher.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698