| OLD | NEW | 
|    1 // Copyright 2015 The Crashpad Authors. All rights reserved. |    1 // Copyright 2015 The Crashpad Authors. All rights reserved. | 
|    2 // |    2 // | 
|    3 // Licensed under the Apache License, Version 2.0 (the "License"); |    3 // Licensed under the Apache License, Version 2.0 (the "License"); | 
|    4 // you may not use this file except in compliance with the License. |    4 // you may not use this file except in compliance with the License. | 
|    5 // You may obtain a copy of the License at |    5 // You may obtain a copy of the License at | 
|    6 // |    6 // | 
|    7 //     http://www.apache.org/licenses/LICENSE-2.0 |    7 //     http://www.apache.org/licenses/LICENSE-2.0 | 
|    8 // |    8 // | 
|    9 // Unless required by applicable law or agreed to in writing, software |    9 // Unless required by applicable law or agreed to in writing, software | 
|   10 // distributed under the License is distributed on an "AS IS" BASIS, |   10 // distributed under the License is distributed on an "AS IS" BASIS, | 
|   11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |   11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|   12 // See the License for the specific language governing permissions and |   12 // See the License for the specific language governing permissions and | 
|   13 // limitations under the License. |   13 // limitations under the License. | 
|   14  |   14  | 
|   15 #include "test/scoped_temp_dir.h" |   15 #include "test/scoped_temp_dir.h" | 
|   16  |   16  | 
|   17 #include <windows.h> |   17 #include <windows.h> | 
|   18  |   18  | 
|   19 #include "base/logging.h" |   19 #include "base/logging.h" | 
|   20 #include "base/rand_util.h" |  | 
|   21 #include "base/strings/string16.h" |   20 #include "base/strings/string16.h" | 
|   22 #include "base/strings/stringprintf.h" |   21 #include "base/strings/stringprintf.h" | 
|   23 #include "base/strings/utf_string_conversions.h" |   22 #include "base/strings/utf_string_conversions.h" | 
 |   23 #include "util/misc/random_string.h" | 
|   24 #include "gtest/gtest.h" |   24 #include "gtest/gtest.h" | 
|   25  |   25  | 
|   26 namespace crashpad { |   26 namespace crashpad { | 
|   27 namespace test { |   27 namespace test { | 
|   28  |   28  | 
|   29 namespace { |   29 namespace { | 
|   30  |   30  | 
|   31 base::FilePath GenerateCandidateName() { |   31 base::FilePath GenerateCandidateName() { | 
|   32   wchar_t temp_path[MAX_PATH + 1]; |   32   wchar_t temp_path[MAX_PATH + 1]; | 
|   33   DWORD path_len = GetTempPath(MAX_PATH, temp_path); |   33   DWORD path_len = GetTempPath(MAX_PATH, temp_path); | 
|   34   PCHECK(path_len != 0) << "GetTempPath"; |   34   PCHECK(path_len != 0) << "GetTempPath"; | 
|   35   base::FilePath system_temp_dir(temp_path); |   35   base::FilePath system_temp_dir(temp_path); | 
|   36   base::string16 new_dir_name = base::UTF8ToUTF16(base::StringPrintf( |   36   base::string16 new_dir_name = base::UTF8ToUTF16(base::StringPrintf( | 
|   37         "crashpad.test.%d.%I64x", GetCurrentProcessId(), base::RandUint64())); |   37         "crashpad.test.%d.%s", GetCurrentProcessId(), RandomString().c_str())); | 
|   38   return system_temp_dir.Append(new_dir_name); |   38   return system_temp_dir.Append(new_dir_name); | 
|   39 } |   39 } | 
|   40  |   40  | 
|   41 const int kRetries = 50; |   41 const int kRetries = 50; | 
|   42  |   42  | 
|   43 }  // namespace |   43 }  // namespace | 
|   44  |   44  | 
|   45 void ScopedTempDir::Rename() { |   45 void ScopedTempDir::Rename() { | 
|   46   for (int count = 0; count < kRetries; ++count) { |   46   for (int count = 0; count < kRetries; ++count) { | 
|   47     // Try to move to a new temporary directory with a randomly generated name. |   47     // Try to move to a new temporary directory with a randomly generated name. | 
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   95       EXPECT_TRUE(DeleteFile(entry_path.value().c_str())); |   95       EXPECT_TRUE(DeleteFile(entry_path.value().c_str())); | 
|   96   } while (FindNextFile(search_handle, &find_data)); |   96   } while (FindNextFile(search_handle, &find_data)); | 
|   97   EXPECT_EQ(ERROR_NO_MORE_FILES, GetLastError()); |   97   EXPECT_EQ(ERROR_NO_MORE_FILES, GetLastError()); | 
|   98  |   98  | 
|   99   EXPECT_TRUE(FindClose(search_handle)); |   99   EXPECT_TRUE(FindClose(search_handle)); | 
|  100   EXPECT_TRUE(RemoveDirectory(path.value().c_str())); |  100   EXPECT_TRUE(RemoveDirectory(path.value().c_str())); | 
|  101 } |  101 } | 
|  102  |  102  | 
|  103 }  // namespace test |  103 }  // namespace test | 
|  104 }  // namespace crashpad |  104 }  // namespace crashpad | 
| OLD | NEW |