OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "base/environment.h" | 5 #include "base/environment.h" |
6 #include "base/files/file_path.h" | 6 #include "base/files/file_path.h" |
7 #include "base/files/scoped_temp_dir.h" | 7 #include "base/files/scoped_temp_dir.h" |
8 #include "base/i18n/case_conversion.h" | 8 #include "base/i18n/case_conversion.h" |
9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
10 #include "base/scoped_native_library.h" | 10 #include "base/scoped_native_library.h" |
(...skipping 14 matching lines...) Expand all Loading... |
25 | 25 |
26 const wchar_t kDll2Beacon[] = L"{F70A0100-2889-4629-9B44-610FE5C73231}"; | 26 const wchar_t kDll2Beacon[] = L"{F70A0100-2889-4629-9B44-610FE5C73231}"; |
27 const wchar_t kDll3Beacon[] = L"{9E056AEC-169E-400c-B2D0-5A07E3ACE2EB}"; | 27 const wchar_t kDll3Beacon[] = L"{9E056AEC-169E-400c-B2D0-5A07E3ACE2EB}"; |
28 | 28 |
29 extern const wchar_t* kEnvVars[]; | 29 extern const wchar_t* kEnvVars[]; |
30 | 30 |
31 extern "C" { | 31 extern "C" { |
32 // When modifying the blacklist in the test process, use the exported test dll | 32 // When modifying the blacklist in the test process, use the exported test dll |
33 // functions on the test blacklist dll, not the ones linked into the test | 33 // functions on the test blacklist dll, not the ones linked into the test |
34 // executable itself. | 34 // executable itself. |
35 __declspec(dllimport) bool TestDll_AddDllsFromRegistryToBlacklist(); | 35 __declspec(dllimport) void TestDll_AddDllsFromRegistryToBlacklist(); |
36 __declspec(dllimport) bool TestDll_AddDllToBlacklist(const wchar_t* dll_name); | 36 __declspec(dllimport) bool TestDll_AddDllToBlacklist(const wchar_t* dll_name); |
37 __declspec(dllimport) bool TestDll_IsBlacklistInitialized(); | 37 __declspec(dllimport) bool TestDll_IsBlacklistInitialized(); |
38 __declspec(dllimport) bool TestDll_RemoveDllFromBlacklist( | 38 __declspec(dllimport) bool TestDll_RemoveDllFromBlacklist( |
39 const wchar_t* dll_name); | 39 const wchar_t* dll_name); |
40 __declspec(dllimport) bool TestDll_SuccessfullyBlocked( | 40 __declspec(dllimport) bool TestDll_SuccessfullyBlocked( |
41 const wchar_t** blocked_dlls, | 41 const wchar_t** blocked_dlls, |
42 int* size); | 42 int* size); |
43 } | 43 } |
44 | 44 |
45 namespace { | 45 namespace { |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 // Add the test dlls to the registry (with their name as both key and value). | 233 // Add the test dlls to the registry (with their name as both key and value). |
234 base::win::RegKey finch_blacklist_registry_key( | 234 base::win::RegKey finch_blacklist_registry_key( |
235 HKEY_CURRENT_USER, | 235 HKEY_CURRENT_USER, |
236 blacklist::kRegistryFinchListPath, | 236 blacklist::kRegistryFinchListPath, |
237 KEY_QUERY_VALUE | KEY_SET_VALUE); | 237 KEY_QUERY_VALUE | KEY_SET_VALUE); |
238 for (int i = 0; i < arraysize(test_data); ++i) { | 238 for (int i = 0; i < arraysize(test_data); ++i) { |
239 finch_blacklist_registry_key.WriteValue(test_data[i].dll_name, | 239 finch_blacklist_registry_key.WriteValue(test_data[i].dll_name, |
240 test_data[i].dll_name); | 240 test_data[i].dll_name); |
241 } | 241 } |
242 | 242 |
243 EXPECT_TRUE(TestDll_AddDllsFromRegistryToBlacklist()); | 243 TestDll_AddDllsFromRegistryToBlacklist(); |
244 CheckBlacklistedDllsNotLoaded(); | 244 CheckBlacklistedDllsNotLoaded(); |
245 } | 245 } |
246 | 246 |
247 void TestResetBeacon(scoped_ptr<base::win::RegKey>& key, | 247 void TestResetBeacon(scoped_ptr<base::win::RegKey>& key, |
248 DWORD input_state, | 248 DWORD input_state, |
249 DWORD expected_output_state) { | 249 DWORD expected_output_state) { |
250 LONG result = key->WriteValue(blacklist::kBeaconState, input_state); | 250 LONG result = key->WriteValue(blacklist::kBeaconState, input_state); |
251 EXPECT_EQ(ERROR_SUCCESS, result); | 251 EXPECT_EQ(ERROR_SUCCESS, result); |
252 | 252 |
253 EXPECT_TRUE(blacklist::ResetBeacon()); | 253 EXPECT_TRUE(blacklist::ResetBeacon()); |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 &blacklist_state); | 317 &blacklist_state); |
318 EXPECT_EQ(blacklist_state, blacklist::BLACKLIST_SETUP_RUNNING); | 318 EXPECT_EQ(blacklist_state, blacklist::BLACKLIST_SETUP_RUNNING); |
319 | 319 |
320 DWORD attempt_count = blacklist::kBeaconMaxAttempts; | 320 DWORD attempt_count = blacklist::kBeaconMaxAttempts; |
321 blacklist_registry_key_->ReadValueDW(blacklist::kBeaconAttemptCount, | 321 blacklist_registry_key_->ReadValueDW(blacklist::kBeaconAttemptCount, |
322 &attempt_count); | 322 &attempt_count); |
323 EXPECT_EQ(static_cast<DWORD>(0), attempt_count); | 323 EXPECT_EQ(static_cast<DWORD>(0), attempt_count); |
324 } | 324 } |
325 | 325 |
326 } // namespace | 326 } // namespace |
OLD | NEW |