From c5003e0ee62f12a3c4f38952e3c657a1e1543d15 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 8 Nov 2024 13:01:28 -0600 Subject: [PATCH] winfsp unit tests and fixes --- .../src/winfsp_drive_volume_test.cpp | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) 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)