Accept FS usage figures within significant unallocated threshold (!49)
So far the read file system usage figures, read via the file system interface classes using file system specific tools, have been checked to the exact sector for: 0 <= used <= size 0 <= unused <= size unallocated = 0 used + unused = size However for JFS and NTFS this fails like this: # ./test_SupportedFileSystems --gtest_filter='*ReadUsage/*' | fgrep ' ms' [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/btrfs (335 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/exfat (0 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/ext2 (38 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/ext3 (131 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/ext4 (32 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/f2fs (47 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/fat16 (19 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/fat32 (48 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/hfs (0 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/hfsplus (0 ms) [ FAILED ] My/SupportedFileSystemsTest.CreateAndReadUsage/jfs, where GetParam() = 17 (73 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/linuxswap (20 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/luks (0 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/lvm2pv (410 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/minix (0 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/nilfs2 (226 ms) [ FAILED ] My/SupportedFileSystemsTest.CreateAndReadUsage/ntfs, where GetParam() = 23 (56 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/reiser4 (49 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/reiserfs (139 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/udf (34 ms) [ OK ] My/SupportedFileSystemsTest.CreateAndReadUsage/xfs (67 ms) [----------] 21 tests from My/SupportedFileSystemsTest (1726 ms total) [==========] 21 tests from 1 test case ran. (1726 ms total) # ./test_SupportedFileSystems --gtest_filter='*ReadUsage/jfs:*ReadUsage/ntfs' Running main() from test_SupportedFileSystems.cc Note: Google Test filter = *ReadUsage/jfs:*ReadUsage/ntfs [==========] Running 2 tests from 1 test case. [----------] Global test environment set-up. [----------] 2 tests from My/SupportedFileSystemsTest [ RUN ] My/SupportedFileSystemsTest.CreateAndReadUsage/jfs test_SupportedFileSystems.cc:465: Failure Expected equality of these values: m_partition.sectors_unallocated Which is: 2472 0 test_SupportedFileSystems.cc:517: Failure Expected equality of these values: m_partition.sectors_used + m_partition.sectors_unused Which is: 521816 m_partition.get_sector_length() Which is: 524288 [ FAILED ] My/SupportedFileSystemsTest.CreateAndReadUsage/jfs, where GetParam() = 17 (36 ms) [ RUN ] My/SupportedFileSystemsTest.CreateAndReadUsage/ntfs test_SupportedFileSystems.cc:465: Failure Expected equality of these values: m_partition.sectors_unallocated Which is: 8 0 test_SupportedFileSystems.cc:517: Failure Expected equality of these values: m_partition.sectors_used + m_partition.sectors_unused Which is: 524280 m_partition.get_sector_length() Which is: 524288 [ FAILED ] My/SupportedFileSystemsTest.CreateAndReadUsage/ntfs, where GetParam() = 23 (35 ms) [----------] 2 tests from My/SupportedFileSystemsTest (71 ms total) [----------] Global test environment tear-down [==========] 2 tests from 1 test case ran. (72 ms total) [ PASSED ] 0 tests. [ FAILED ] 2 tests, listed below: [ FAILED ] My/SupportedFileSystemsTest.CreateAndReadUsage/jfs, where GetParam() = 17 [ FAILED ] My/SupportedFileSystemsTest.CreateAndReadUsage/ntfs, where GetParam() = 23 2 FAILED TESTS So JFS is reporting 2472 unallocated sectors in a size of 524288 sectors and NTFS is reporting 8 unallocated sectors in the same size. This exact issue is already solved for GParted so that it doesn't show a small amount of unallocated space by commits [1][2] from Bug 499202 [3]. Fix the same way, use the accessors to the file system usage figures which don't show unallocated space when it is below the significant threshold. [1]b5c80f18a9
Enhance calculation of significant unallocated space (#499202) [2]7ebedc4bb3
Don't show intrinsic unallocated space (#499202) [3] Bug 499202 - gparted does not see the difference if partition size differs from filesystem size https://bugzilla.gnome.org/show_bug.cgi?id=499202 Closes !49 - Add file system interface tests
This commit is contained in:
parent
d6e8236860
commit
c15d0cd6aa
|
@ -506,15 +506,15 @@ TEST_P(SupportedFileSystemsTest, CreateAndReadUsage)
|
||||||
m_fs_object->set_used_sectors(m_partition);
|
m_fs_object->set_used_sectors(m_partition);
|
||||||
// Test file system usage is reported correctly.
|
// Test file system usage is reported correctly.
|
||||||
// Used is between 0 and length.
|
// Used is between 0 and length.
|
||||||
EXPECT_LE(0, m_partition.sectors_used);
|
EXPECT_LE(0, m_partition.get_sectors_used());
|
||||||
EXPECT_LE(m_partition.sectors_used, m_partition.get_sector_length());
|
EXPECT_LE(m_partition.get_sectors_used(), m_partition.get_sector_length());
|
||||||
// Unused is between 0 and length.
|
// Unused is between 0 and length.
|
||||||
EXPECT_LE(0, m_partition.sectors_unused);
|
EXPECT_LE(0, m_partition.get_sectors_unused());
|
||||||
EXPECT_LE(m_partition.sectors_unused, m_partition.get_sector_length());
|
EXPECT_LE(m_partition.get_sectors_unused(), m_partition.get_sector_length());
|
||||||
// Unallocated is 0.
|
// Unallocated is 0.
|
||||||
EXPECT_EQ(m_partition.sectors_unallocated, 0);
|
EXPECT_EQ(m_partition.get_sectors_unallocated(), 0);
|
||||||
// Used + unused = length.
|
// Used + unused = length.
|
||||||
EXPECT_EQ(m_partition.sectors_used + m_partition.sectors_unused, m_partition.get_sector_length());
|
EXPECT_EQ(m_partition.get_sectors_used() + m_partition.get_sectors_unused(), m_partition.get_sector_length());
|
||||||
|
|
||||||
// Test messages from read operation are empty or print them.
|
// Test messages from read operation are empty or print them.
|
||||||
EXPECT_TRUE(m_partition.get_messages().empty()) << m_partition;
|
EXPECT_TRUE(m_partition.get_messages().empty()) << m_partition;
|
||||||
|
|
Loading…
Reference in New Issue