diff --git a/repertory/repertory_test/src/winfsp_drive_read_write_test.cpp b/repertory/repertory_test/src/winfsp_drive_read_write_test.cpp index 8acc0a8e..ba8206fd 100644 --- a/repertory/repertory_test/src/winfsp_drive_read_write_test.cpp +++ b/repertory/repertory_test/src/winfsp_drive_read_write_test.cpp @@ -73,35 +73,27 @@ static void test_file(auto &&file_path, auto &&flags) { EXPECT_EQ(0, std::memcmp(write_buffer.data(), read_buffer.data(), bytes_read)); - pointer = ::SetFilePointer(handle, 2U * write_buffer.size(), 0, FILE_BEGIN); - EXPECT_EQ(2U * write_buffer.size(), pointer); + for (auto idx = 0U; idx < 2U; ++idx) { + pointer = ::SetFilePointer(handle, 2U * write_buffer.size(), 0, FILE_BEGIN); + EXPECT_EQ(2U * write_buffer.size(), pointer); + EXPECT_TRUE(::ReadFile(handle, read_buffer.data(), read_buffer.size(), + &bytes_read, nullptr)); + EXPECT_EQ(static_cast(16U), bytes_read); + EXPECT_EQ(pointer + bytes_read, + ::SetFilePointer(handle, 0, 0, FILE_CURRENT)); + EXPECT_EQ(0, + std::memcmp(write_buffer.data(), read_buffer.data(), bytes_read)); + } + + pointer = ::SetFilePointer(handle, 3U * write_buffer.size(), 0, FILE_BEGIN); + EXPECT_EQ(3U * write_buffer.size(), pointer); EXPECT_TRUE(::ReadFile(handle, read_buffer.data(), read_buffer.size(), &bytes_read, nullptr)); EXPECT_EQ(static_cast(16U), bytes_read); EXPECT_EQ(pointer + bytes_read, ::SetFilePointer(handle, 0, 0, FILE_CURRENT)); EXPECT_EQ(0, std::memcmp(write_buffer.data(), read_buffer.data(), bytes_read)); - // - // FilePointer = SetFilePointer(Handle, 2 * BytesPerSector, 0, FILE_BEGIN); - // ASSERT(2 * BytesPerSector == FilePointer); - // memset(AllocBuffer[1], 0, AllocBufferSize); - // Success = - // ReadFile(Handle, Buffer[1], 2 * BytesPerSector, &BytesTransferred, 0); - // ASSERT(Success); - // ASSERT(BytesPerSector == BytesTransferred); - // ASSERT(FilePointer + BytesTransferred == - // SetFilePointer(Handle, 0, 0, FILE_CURRENT)); - // ASSERT(0 == memcmp(Buffer[0], Buffer[1], BytesTransferred)); - // - // FilePointer = SetFilePointer(Handle, 3 * BytesPerSector, 0, FILE_BEGIN); - // ASSERT(3 * BytesPerSector == FilePointer); - // memset(AllocBuffer[1], 0, AllocBufferSize); - // Success = ReadFile(Handle, Buffer[1], BytesPerSector, &BytesTransferred, - // 0); ASSERT(Success); ASSERT(0 == BytesTransferred); ASSERT(FilePointer + - // BytesTransferred == - // SetFilePointer(Handle, 0, 0, FILE_CURRENT)); - // ASSERT(0 == memcmp(Buffer[0], Buffer[1], BytesTransferred)); - // + // FilePointer = SetFilePointer(Handle, 0, 0, FILE_BEGIN); // ASSERT(0 == FilePointer); // Success = WriteFile(Handle, Buffer[0], 2 * SystemInfo.dwPageSize,