diff --git a/repertory/repertory_test/src/winfsp_drive_volume_test.cpp b/repertory/repertory_test/src/winfsp_drive_volume_test.cpp index aab6f279..4ded1483 100644 --- a/repertory/repertory_test/src/winfsp_drive_volume_test.cpp +++ b/repertory/repertory_test/src/winfsp_drive_volume_test.cpp @@ -56,6 +56,34 @@ TYPED_TEST(winfsp_test, volume_can_get_volume_info) { volume_label.c_str()); EXPECT_STREQ(this->mount_location.c_str(), fs_name.c_str()); } + +TYPED_TEST(winfsp_test, volume_can_get_size_info) { + { + DWORD bytes_per_sector{}; + DWORD free_clusters{}; + DWORD sectors_per_cluster{}; + DWORD total_clusters{}; + EXPECT_TRUE(::GetDiskFreeSpaceA(this->mount_location.c_str(), + §ors_per_cluster, &bytes_per_sector, + &free_clusters, &total_clusters)); + EXPECT_NEQ(0U, bytes_per_cluster); + EXPECT_NEQ(0U, free_clusters); + EXPECT_NEQ(0U, sectors_per_cluster); + EXPECT_EQ(0U, total_clusters); + } + + { + ULARGE_INTEGER caller_free_bytes{}; + ULARGE_INTEGER free_bytes{}; + ULARGE_INTEGER total_bytes{}; + EXPECT_TRUE(::GetDiskFreeSpaceExA(this->mount_location.c_str(), + &caller_free_bytes, &total_bytes, + &free_bytes)); + EXPECT_NEQ(0U, caller_free_bytes.QuadPart); + EXPECT_EQ(0U, total_bytes.QuadPart); + EXPECT_NEQ(0U, free_bytes.QuadPart); + } +} } // namespace repertory #endif // defined(_WIN32)