Fix posix-test, take 3.

This commit is contained in:
Victor Zverovich 2014-09-12 18:22:45 -07:00
parent 94daf27c9d
commit b54d6e7124

View File

@ -103,11 +103,11 @@ errno_t test::sopen_s(
static LONGLONG max_file_size() { return std::numeric_limits<LONGLONG>::max(); } static LONGLONG max_file_size() { return std::numeric_limits<LONGLONG>::max(); }
BOOL test::GetFileSizeEx(HANDLE hFile, PLARGE_INTEGER lpFileSize) { BOOL test::GetFileSizeEx(HANDLE hFile, PLARGE_INTEGER lpFileSize) {
BOOL result = ::GetFileSizeEx(hFile, lpFileSize);
if (fstat_sim == ERROR) { if (fstat_sim == ERROR) {
SetLastError(ERROR_ACCESS_DENIED); SetLastError(ERROR_ACCESS_DENIED);
return FALSE; return FALSE;
} }
BOOL result = ::GetFileSizeEx(hFile, lpFileSize);
if (fstat_sim == MAX_SIZE) if (fstat_sim == MAX_SIZE)
lpFileSize->QuadPart = max_file_size(); lpFileSize->QuadPart = max_file_size();
return result; return result;
@ -255,7 +255,6 @@ TEST(FileTest, Size) {
write_file("test", content); write_file("test", content);
File f("test", File::RDONLY); File f("test", File::RDONLY);
EXPECT_EQ(content.size(), f.size()); EXPECT_EQ(content.size(), f.size());
f.close();
#ifdef _WIN32 #ifdef _WIN32
fmt::Writer message; fmt::Writer message;
fmt::internal::format_windows_error( fmt::internal::format_windows_error(
@ -264,6 +263,7 @@ TEST(FileTest, Size) {
EXPECT_THROW_MSG(f.size(), fmt::WindowsError, message.str()); EXPECT_THROW_MSG(f.size(), fmt::WindowsError, message.str());
fstat_sim = NONE; fstat_sim = NONE;
#else #else
f.close();
EXPECT_SYSTEM_ERROR(f.size(), EBADF, "cannot get file attributes"); EXPECT_SYSTEM_ERROR(f.size(), EBADF, "cannot get file attributes");
#endif #endif
} }