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

Unified Diff: trunk/src/base/test/test_reg_util_win.h

Issue 69793004: Revert 234367 "Base: Make RegistryOverrideManager support sharde..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « trunk/src/base/base.gyp ('k') | trunk/src/base/test/test_reg_util_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: trunk/src/base/test/test_reg_util_win.h
===================================================================
--- trunk/src/base/test/test_reg_util_win.h (revision 234626)
+++ trunk/src/base/test/test_reg_util_win.h (working copy)
@@ -7,72 +7,57 @@
// Registry utility functions used only by tests.
+#include <string>
+#include <vector>
+
#include "base/basictypes.h"
-#include "base/memory/scoped_vector.h"
-#include "base/strings/string16.h"
-#include "base/time/time.h"
#include "base/win/registry.h"
namespace registry_util {
// Allows a test to easily override registry hives so that it can start from a
// known good state, or make sure to not leave any side effects once the test
-// completes. This supports parallel tests. All the overrides are scoped to the
-// lifetime of the override manager. Destroy the manager to undo the overrides.
-//
-// Overridden hives use keys stored at, for instance:
-// HKCU\Software\Chromium\TempTestKeys\
-// 13028145911617809$02AB211C-CF73-478D-8D91-618E11998AED
-// The key path are comprises of:
-// - The test key root, HKCU\Software\Chromium\TempTestKeys\
-// - The base::Time::ToInternalValue of the creation time. This is used to
-// delete stale keys left over from crashed tests.
-// - A GUID used for preventing name collisions (although unlikely) between
-// two RegistryOverrideManagers created with the same timestamp.
+// completes.
class RegistryOverrideManager {
public:
+ // All overridden hives will be descendents of this registry path under the
+ // main HKCU hive.
+ static const wchar_t kTempTestKeyPath[];
+
RegistryOverrideManager();
~RegistryOverrideManager();
// Override the given registry hive using a temporary key named by temp_name
- // under the temporary test key path. There is no need to randomize
- // |override_name|, as a random parent key is generated. Multiple overrides to
- // the same hive are not supported and lead to undefined behavior.
- void OverrideRegistry(HKEY override, const string16& override_name);
+ // under the temporary test key path.
+ void OverrideRegistry(HKEY override, const std::wstring& temp_name);
- private:
- friend class RegistryOverrideManagerTest;
+ // Deletes all temporary test keys used by the overrides.
+ static void DeleteAllTempKeys();
+ // Removes all overrides and deletes all temporary test keys used by the
+ // overrides.
+ void RemoveAllOverrides();
+
+ private:
// Keeps track of one override.
class ScopedRegistryKeyOverride {
public:
- ScopedRegistryKeyOverride(HKEY override, const string16& key_path);
+ ScopedRegistryKeyOverride(HKEY override, const std::wstring& temp_name);
~ScopedRegistryKeyOverride();
private:
HKEY override_;
base::win::RegKey temp_key_;
+ std::wstring temp_name_;
DISALLOW_COPY_AND_ASSIGN(ScopedRegistryKeyOverride);
};
- // Used for testing only.
- RegistryOverrideManager(const base::Time& timestamp,
- const string16& test_key_root);
+ std::vector<ScopedRegistryKeyOverride*> overrides_;
- base::Time timestamp_;
- string16 guid_;
-
- string16 test_key_root_;
- ScopedVector<ScopedRegistryKeyOverride> overrides_;
-
DISALLOW_COPY_AND_ASSIGN(RegistryOverrideManager);
};
-// Generates a temporary key path that will be eventually deleted
-// automatically if the process crashes.
-string16 GenerateTempKeyPath();
-
} // namespace registry_util
#endif // BASE_TEST_TEST_REG_UTIL_H_
« no previous file with comments | « trunk/src/base/base.gyp ('k') | trunk/src/base/test/test_reg_util_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698