Chromium Code Reviews| Index: sandbox/win/src/handle_inheritance_test.cc |
| diff --git a/sandbox/win/src/handle_inheritance_test.cc b/sandbox/win/src/handle_inheritance_test.cc |
| index 8074c416ac3b3aec75cfa2988266aa20716a81d9..37974e310610a79cd7b16beeee7b4bcd3d32f13c 100644 |
| --- a/sandbox/win/src/handle_inheritance_test.cc |
| +++ b/sandbox/win/src/handle_inheritance_test.cc |
| @@ -5,6 +5,8 @@ |
| #include <stdio.h> |
| #include "base/files/file_util.h" |
| +#include "base/files/scoped_temp_dir.h" |
| +#include "base/win/scoped_handle.h" |
| #include "base/win/windows_version.h" |
| #include "sandbox/win/tests/common/controller.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| @@ -18,37 +20,33 @@ SBOX_TESTS_COMMAND int HandleInheritanceTests_PrintToStdout(int argc, |
| } |
| TEST(HandleInheritanceTests, TestStdoutInheritance) { |
| - wchar_t temp_directory[MAX_PATH]; |
| - wchar_t temp_file_name[MAX_PATH]; |
| - ASSERT_NE(::GetTempPath(MAX_PATH, temp_directory), 0u); |
| - ASSERT_NE(::GetTempFileName(temp_directory, L"test", 0, temp_file_name), 0u); |
| + base::ScopedTempDir temp_directory; |
| + base::FilePath temp_file_name; |
| + ASSERT_TRUE(temp_directory.CreateUniqueTempDir()); |
| + ASSERT_TRUE(CreateTemporaryFileInDir(temp_directory.path(), &temp_file_name)); |
| SECURITY_ATTRIBUTES attrs = {}; |
| attrs.nLength = sizeof(attrs); |
| - attrs.lpSecurityDescriptor = NULL; |
| attrs.bInheritHandle = TRUE; |
| - HANDLE file_handle = CreateFile( |
| - temp_file_name, GENERIC_WRITE, |
| - FILE_SHARE_WRITE | FILE_SHARE_READ | FILE_SHARE_DELETE, |
| - &attrs, OPEN_EXISTING, 0, NULL); |
| - EXPECT_NE(file_handle, INVALID_HANDLE_VALUE); |
| + base::win::ScopedHandle tmp_handle( |
| + CreateFile(temp_file_name.value().c_str(), GENERIC_WRITE, |
| + FILE_SHARE_WRITE | FILE_SHARE_READ | FILE_SHARE_DELETE, |
| + &attrs, OPEN_EXISTING, 0, NULL)); |
| + ASSERT_TRUE(tmp_handle.IsValid()); |
|
Timur Iskhodzhanov
2015/02/05 08:15:52
Forgot to fix this one in PS5, fixed in PS6.
|
| TestRunner runner; |
| - EXPECT_EQ(SBOX_ALL_OK, runner.GetPolicy()->SetStdoutHandle(file_handle)); |
| + ASSERT_EQ(SBOX_ALL_OK, runner.GetPolicy()->SetStdoutHandle(tmp_handle.Get())); |
| int result = runner.RunTest(L"HandleInheritanceTests_PrintToStdout"); |
| - EXPECT_EQ(SBOX_TEST_SUCCEEDED, result); |
| - EXPECT_TRUE(::CloseHandle(file_handle)); |
| + ASSERT_EQ(SBOX_TEST_SUCCEEDED, result); |
| std::string data; |
| - EXPECT_TRUE(base::ReadFileToString(base::FilePath(temp_file_name), &data)); |
| + ASSERT_TRUE(base::ReadFileToString(base::FilePath(temp_file_name), &data)); |
| // Redirection uses a feature that was added in Windows Vista. |
| if (base::win::GetVersion() >= base::win::VERSION_VISTA) { |
| - EXPECT_EQ("Example output to stdout\r\n", data); |
| + ASSERT_EQ("Example output to stdout\r\n", data); |
| } else { |
| - EXPECT_EQ("", data); |
| + ASSERT_EQ("", data); |
| } |
| - |
| - EXPECT_TRUE(::DeleteFile(temp_file_name)); |
| } |
| } |