continue refactor drive tests
This commit is contained in:
parent
b6456abf0d
commit
9c2aa62f1f
@ -24,65 +24,6 @@
|
||||
#include "fixtures/winfsp_fixture.hpp"
|
||||
|
||||
namespace repertory {
|
||||
// static void get_set_basic_info_test(const std::string &mount_point) {
|
||||
// TEST_HEADER(__FUNCTION__);
|
||||
//
|
||||
// const auto file =
|
||||
// utils::path::combine(mount_point, {"setbasicinfo_file.txt"});
|
||||
// auto handle =
|
||||
// ::CreateFileA(&file[0], GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ,
|
||||
// nullptr, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, nullptr);
|
||||
// EXPECT_NE(INVALID_HANDLE_VALUE, handle);
|
||||
//
|
||||
// SYSTEMTIME st{};
|
||||
// ::GetSystemTime(&st);
|
||||
// st.wMinute = 0;
|
||||
//
|
||||
// FILETIME test_ch_time{};
|
||||
// st.wMinute++;
|
||||
// ::SystemTimeToFileTime(&st, &test_ch_time);
|
||||
//
|
||||
// FILETIME test_cr_time{};
|
||||
// st.wMinute++;
|
||||
// ::SystemTimeToFileTime(&st, &test_cr_time);
|
||||
//
|
||||
// FILETIME test_la_time{};
|
||||
// st.wMinute++;
|
||||
// ::SystemTimeToFileTime(&st, &test_la_time);
|
||||
//
|
||||
// FILETIME test_lw_time{};
|
||||
// st.wMinute++;
|
||||
// ::SystemTimeToFileTime(&st, &test_lw_time);
|
||||
//
|
||||
// FILE_BASIC_INFO fbi{};
|
||||
// fbi.FileAttributes = FILE_ATTRIBUTE_HIDDEN;
|
||||
// fbi.ChangeTime.HighPart = test_ch_time.dwHighDateTime;
|
||||
// fbi.ChangeTime.LowPart = test_ch_time.dwLowDateTime;
|
||||
// fbi.CreationTime = *(LARGE_INTEGER *)&test_cr_time;
|
||||
// fbi.LastAccessTime = *(LARGE_INTEGER *)&test_la_time;
|
||||
// fbi.LastWriteTime = *(LARGE_INTEGER *)&test_lw_time;
|
||||
//
|
||||
// EXPECT_TRUE(::SetFileInformationByHandle(handle, FileBasicInfo, &fbi,
|
||||
// sizeof(FILE_BASIC_INFO)));
|
||||
//
|
||||
// FILE_BASIC_INFO fbi2{};
|
||||
// EXPECT_TRUE(::GetFileInformationByHandleEx(handle, FileBasicInfo, &fbi2,
|
||||
// sizeof(FILE_BASIC_INFO)));
|
||||
//
|
||||
// EXPECT_EQ(0, memcmp(&fbi, &fbi2, sizeof(FILE_BASIC_INFO)));
|
||||
//
|
||||
// std::cout << fbi.FileAttributes << " " << fbi.ChangeTime.QuadPart << " "
|
||||
// << fbi.CreationTime.QuadPart << " " <<
|
||||
// fbi.LastAccessTime.QuadPart
|
||||
// << " " << fbi.LastWriteTime.QuadPart << std::endl;
|
||||
// std::cout << fbi2.FileAttributes << " " << fbi2.ChangeTime.QuadPart << " "
|
||||
// << fbi2.CreationTime.QuadPart << " " <<
|
||||
// fbi2.LastAccessTime.QuadPart
|
||||
// << " " << fbi2.LastWriteTime.QuadPart << std::endl;
|
||||
//
|
||||
// EXPECT_TRUE(::CloseHandle(handle));
|
||||
// }
|
||||
//
|
||||
|
||||
TYPED_TEST_CASE(winfsp_test, winfsp_provider_types);
|
||||
|
||||
@ -216,6 +157,68 @@ TYPED_TEST(winfsp_test, can_overwrite_file) {
|
||||
this->delete_file_and_test(file_path);
|
||||
this->delete_file_and_test(file_path2);
|
||||
}
|
||||
|
||||
TYPED_TEST(winfsp_test, can_get_and_set_basic_info_test) {
|
||||
std::string file_name{"overwrite_file"};
|
||||
auto file_path = this->create_file_and_test(file_name);
|
||||
|
||||
auto handle =
|
||||
::CreateFileA(file_path.c_str(), GENERIC_READ | GENERIC_WRITE,
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
|
||||
nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr);
|
||||
EXPECT_NE(INVALID_HANDLE_VALUE, handle);
|
||||
if (handle == INVALID_HANDLE_VALUE) {
|
||||
return;
|
||||
}
|
||||
|
||||
SYSTEMTIME st{};
|
||||
::GetSystemTime(&st);
|
||||
st.wMinute = 0;
|
||||
|
||||
FILETIME test_ch_time{};
|
||||
st.wMinute++;
|
||||
::SystemTimeToFileTime(&st, &test_ch_time);
|
||||
|
||||
FILETIME test_cr_time{};
|
||||
st.wMinute++;
|
||||
::SystemTimeToFileTime(&st, &test_cr_time);
|
||||
|
||||
FILETIME test_la_time{};
|
||||
st.wMinute++;
|
||||
::SystemTimeToFileTime(&st, &test_la_time);
|
||||
|
||||
FILETIME test_lw_time{};
|
||||
st.wMinute++;
|
||||
::SystemTimeToFileTime(&st, &test_lw_time);
|
||||
|
||||
FILE_BASIC_INFO fbi{};
|
||||
fbi.FileAttributes = FILE_ATTRIBUTE_HIDDEN;
|
||||
fbi.ChangeTime.HighPart = static_cast<LONG>(test_ch_time.dwHighDateTime);
|
||||
fbi.ChangeTime.LowPart = test_ch_time.dwLowDateTime;
|
||||
fbi.CreationTime = *reinterpret_cast<LARGE_INTEGER *>(&test_cr_time);
|
||||
fbi.LastAccessTime = *reinterpret_cast<LARGE_INTEGER *>(&test_la_time);
|
||||
fbi.LastWriteTime = *reinterpret_cast<LARGE_INTEGER *>(&test_lw_time);
|
||||
|
||||
EXPECT_TRUE(::SetFileInformationByHandle(handle, FileBasicInfo, &fbi,
|
||||
sizeof(FILE_BASIC_INFO)));
|
||||
|
||||
FILE_BASIC_INFO fbi2{};
|
||||
EXPECT_TRUE(::GetFileInformationByHandleEx(handle, FileBasicInfo, &fbi2,
|
||||
sizeof(FILE_BASIC_INFO)));
|
||||
|
||||
EXPECT_EQ(0, memcmp(&fbi, &fbi2, sizeof(FILE_BASIC_INFO)));
|
||||
|
||||
std::cout << fbi.FileAttributes << " " << fbi.ChangeTime.QuadPart << " "
|
||||
<< fbi.CreationTime.QuadPart << " " << fbi.LastAccessTime.QuadPart
|
||||
<< " " << fbi.LastWriteTime.QuadPart << std::endl;
|
||||
std::cout << fbi2.FileAttributes << " " << fbi2.ChangeTime.QuadPart << " "
|
||||
<< fbi2.CreationTime.QuadPart << " " << fbi2.LastAccessTime.QuadPart
|
||||
<< " " << fbi2.LastWriteTime.QuadPart << std::endl;
|
||||
|
||||
EXPECT_TRUE(::CloseHandle(handle));
|
||||
|
||||
this->delete_file_and_test(file_path);
|
||||
}
|
||||
} // namespace repertory
|
||||
|
||||
#endif // defined(_WIN32)
|
||||
|
Loading…
x
Reference in New Issue
Block a user