| OLD | NEW |
| 1 // Copyright 2013 Google Inc. All Rights Reserved. | 1 // Copyright 2013 Google Inc. 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, |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 // and getting the contents of its log file. Not thread safe. | 89 // and getting the contents of its log file. Not thread safe. |
| 90 struct ScopedAgentLogger { | 90 struct ScopedAgentLogger { |
| 91 explicit ScopedAgentLogger(base::FilePath temp_dir) | 91 explicit ScopedAgentLogger(base::FilePath temp_dir) |
| 92 : nul_(NULL), temp_dir_(temp_dir) { | 92 : nul_(NULL), temp_dir_(temp_dir) { |
| 93 agent_logger_ = testing::GetOutputRelativePath( | 93 agent_logger_ = testing::GetOutputRelativePath( |
| 94 L"agent_logger.exe"); | 94 L"agent_logger.exe"); |
| 95 instance_id_ = base::StringPrintf("integra%08X", ::GetCurrentProcessId()); | 95 instance_id_ = base::StringPrintf("integra%08X", ::GetCurrentProcessId()); |
| 96 } | 96 } |
| 97 | 97 |
| 98 ~ScopedAgentLogger() { | 98 ~ScopedAgentLogger() { |
| 99 // Clean up the temp directory if we created one. | |
| 100 if (!temp_dir_.empty()) | |
| 101 base::DeleteFile(temp_dir_, true); | |
| 102 | |
| 103 if (nul_) { | 99 if (nul_) { |
| 104 ::CloseHandle(nul_); | 100 ::CloseHandle(nul_); |
| 105 nul_ = NULL; | 101 nul_ = NULL; |
| 106 } | 102 } |
| 107 } | 103 } |
| 108 | 104 |
| 109 void RunAction(const char* action, base::Process* process) { | 105 void RunAction(const char* action, base::Process* process) { |
| 110 DCHECK_NE(static_cast<const char*>(nullptr), action); | 106 DCHECK_NE(static_cast<const char*>(nullptr), action); |
| 111 DCHECK_NE(static_cast<base::Process*>(nullptr), process); | 107 DCHECK_NE(static_cast<base::Process*>(nullptr), process); |
| 112 | 108 |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 | 157 |
| 162 void GetLog(std::string* log) { | 158 void GetLog(std::string* log) { |
| 163 DCHECK_NE(static_cast<std::string*>(nullptr), log); | 159 DCHECK_NE(static_cast<std::string*>(nullptr), log); |
| 164 *log = log_contents_; | 160 *log = log_contents_; |
| 165 } | 161 } |
| 166 | 162 |
| 167 // Initialized at construction. | 163 // Initialized at construction. |
| 168 base::FilePath agent_logger_; | 164 base::FilePath agent_logger_; |
| 169 std::string instance_id_; | 165 std::string instance_id_; |
| 170 | 166 |
| 167 // The temp directory used by this logger. This is owned by the object that |
| 168 // owns this logger. |
| 169 base::FilePath temp_dir_; |
| 170 |
| 171 // Modified by Start and Stop. | 171 // Modified by Start and Stop. |
| 172 base::FilePath temp_dir_; | |
| 173 base::FilePath log_file_; | 172 base::FilePath log_file_; |
| 174 base::Process process_; | 173 base::Process process_; |
| 175 HANDLE nul_; | 174 HANDLE nul_; |
| 176 | 175 |
| 177 // Modified by Stop. | 176 // Modified by Stop. |
| 178 std::string log_contents_; | 177 std::string log_contents_; |
| 179 }; | 178 }; |
| 180 | 179 |
| 181 enum AccessMode { | 180 enum AccessMode { |
| 182 ASAN_READ_ACCESS = agent::asan::ASAN_READ_ACCESS, | 181 ASAN_READ_ACCESS = agent::asan::ASAN_READ_ACCESS, |
| (...skipping 1577 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1760 | 1759 |
| 1761 TEST_F(InstrumentAppIntegrationTest, DeferredFreeTLS) { | 1760 TEST_F(InstrumentAppIntegrationTest, DeferredFreeTLS) { |
| 1762 ASSERT_NO_FATAL_FAILURE(StartService()); | 1761 ASSERT_NO_FATAL_FAILURE(StartService()); |
| 1763 ASSERT_NO_FATAL_FAILURE(EndToEndTest("asan")); | 1762 ASSERT_NO_FATAL_FAILURE(EndToEndTest("asan")); |
| 1764 ASSERT_EQ(0, InvokeTestDllFunction(testing::kAsanDeferredFreeTLS)); | 1763 ASSERT_EQ(0, InvokeTestDllFunction(testing::kAsanDeferredFreeTLS)); |
| 1765 ASSERT_NO_FATAL_FAILURE(UnloadDll()); | 1764 ASSERT_NO_FATAL_FAILURE(UnloadDll()); |
| 1766 ASSERT_NO_FATAL_FAILURE(StopService()); | 1765 ASSERT_NO_FATAL_FAILURE(StopService()); |
| 1767 } | 1766 } |
| 1768 | 1767 |
| 1769 } // namespace integration_tests | 1768 } // namespace integration_tests |
| OLD | NEW |