| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // Main entry point for all unit tests. | 5 // Main entry point for all unit tests. |
| 6 | 6 |
| 7 #include "rlz_test_helpers.h" | 7 #include "rlz_test_helpers.h" |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 74 dest->WriteValue(value.name.c_str(), | 74 dest->WriteValue(value.name.c_str(), |
| 75 value.data.size() ? &value.data[0] : NULL, | 75 value.data.size() ? &value.data[0] : NULL, |
| 76 static_cast<DWORD>(value.data.size()), | 76 static_cast<DWORD>(value.data.size()), |
| 77 value.type); | 77 value.type); |
| 78 } | 78 } |
| 79 | 79 |
| 80 // Next write values recursively. | 80 // Next write values recursively. |
| 81 for (std::map<base::string16, RegistryKeyData>::const_iterator iter = | 81 for (std::map<base::string16, RegistryKeyData>::const_iterator iter = |
| 82 data.keys.begin(); | 82 data.keys.begin(); |
| 83 iter != data.keys.end(); ++iter) { | 83 iter != data.keys.end(); ++iter) { |
| 84 WriteRegistryTree(iter->second, | 84 base::win::RegKey key(dest->Handle(), iter->first.c_str(), KEY_ALL_ACCESS); |
| 85 &base::win::RegKey(dest->Handle(), iter->first.c_str(), | 85 WriteRegistryTree(iter->second, &key); |
| 86 KEY_ALL_ACCESS)); | |
| 87 } | 86 } |
| 88 } | 87 } |
| 89 | 88 |
| 90 // Initialize temporary HKLM/HKCU registry hives used for testing. | 89 // Initialize temporary HKLM/HKCU registry hives used for testing. |
| 91 // Testing RLZ requires reading and writing to the Windows registry. To keep | 90 // Testing RLZ requires reading and writing to the Windows registry. To keep |
| 92 // the tests isolated from the machine's state, as well as to prevent the tests | 91 // the tests isolated from the machine's state, as well as to prevent the tests |
| 93 // from causing side effects in the registry, HKCU and HKLM are overridden for | 92 // from causing side effects in the registry, HKCU and HKLM are overridden for |
| 94 // the duration of the tests. RLZ tests don't expect the HKCU and KHLM hives to | 93 // the duration of the tests. RLZ tests don't expect the HKCU and KHLM hives to |
| 95 // be empty though, and this function initializes the minimum value needed so | 94 // be empty though, and this function initializes the minimum value needed so |
| 96 // that the test will run successfully. | 95 // that the test will run successfully. |
| (...skipping 12 matching lines...) Expand all Loading... |
| 109 // This seems to be required since Win7. | 108 // This seems to be required since Win7. |
| 110 ReadRegistryTree(base::win::RegKey(HKEY_LOCAL_MACHINE, | 109 ReadRegistryTree(base::win::RegKey(HKEY_LOCAL_MACHINE, |
| 111 kHKLMAccessProviders, | 110 kHKLMAccessProviders, |
| 112 KEY_READ), &data); | 111 KEY_READ), &data); |
| 113 } | 112 } |
| 114 | 113 |
| 115 override_manager->OverrideRegistry(HKEY_LOCAL_MACHINE, L"rlz_temp_hklm"); | 114 override_manager->OverrideRegistry(HKEY_LOCAL_MACHINE, L"rlz_temp_hklm"); |
| 116 override_manager->OverrideRegistry(HKEY_CURRENT_USER, L"rlz_temp_hkcu"); | 115 override_manager->OverrideRegistry(HKEY_CURRENT_USER, L"rlz_temp_hkcu"); |
| 117 | 116 |
| 118 if (do_copy) { | 117 if (do_copy) { |
| 119 WriteRegistryTree(data, &base::win::RegKey(HKEY_LOCAL_MACHINE, | 118 base::win::RegKey key( |
| 120 kHKLMAccessProviders, | 119 HKEY_LOCAL_MACHINE, kHKLMAccessProviders, KEY_ALL_ACCESS); |
| 121 KEY_ALL_ACCESS)); | 120 WriteRegistryTree(data, &key); |
| 122 } | 121 } |
| 123 } | 122 } |
| 124 | 123 |
| 125 } // namespace | 124 } // namespace |
| 126 | 125 |
| 127 #endif // defined(OS_WIN) | 126 #endif // defined(OS_WIN) |
| 128 | 127 |
| 129 void RlzLibTestNoMachineState::SetUp() { | 128 void RlzLibTestNoMachineState::SetUp() { |
| 130 #if defined(OS_WIN) | 129 #if defined(OS_WIN) |
| 131 InitializeRegistryOverridesForTesting(&override_manager_); | 130 InitializeRegistryOverridesForTesting(&override_manager_); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 143 rlz_lib::testing::SetRlzStoreDirectory(base::FilePath()); | 142 rlz_lib::testing::SetRlzStoreDirectory(base::FilePath()); |
| 144 #endif // defined(OS_POSIX) | 143 #endif // defined(OS_POSIX) |
| 145 } | 144 } |
| 146 | 145 |
| 147 void RlzLibTestBase::SetUp() { | 146 void RlzLibTestBase::SetUp() { |
| 148 RlzLibTestNoMachineState::SetUp(); | 147 RlzLibTestNoMachineState::SetUp(); |
| 149 #if defined(OS_WIN) | 148 #if defined(OS_WIN) |
| 150 rlz_lib::CreateMachineState(); | 149 rlz_lib::CreateMachineState(); |
| 151 #endif // defined(OS_WIN) | 150 #endif // defined(OS_WIN) |
| 152 } | 151 } |
| OLD | NEW |