From 1833a6c4d40a57f5782ac2f96b375923c51024ea Mon Sep 17 00:00:00 2001 From: Jonas Witschel Date: Sat, 20 Nov 2021 11:37:50 +0100 Subject: [PATCH] test_sparse_basic: test ARCHIVE_READDISK_NO_SPARSE --- libarchive/test/test_sparse_basic.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/libarchive/test/test_sparse_basic.c b/libarchive/test/test_sparse_basic.c index 5b6f84824..133a85398 100644 --- a/libarchive/test/test_sparse_basic.c +++ b/libarchive/test/test_sparse_basic.c @@ -616,6 +616,33 @@ DEFINE_TEST(test_sparse_basic) verify_sparse_file2(a, "file0", sparse_file0, 5, 0); verify_sparse_file2(a, "file0", sparse_file0, 5, 1); + assertEqualInt(ARCHIVE_OK, archive_read_free(a)); + + /* + * Test that setting ARCHIVE_READDISK_NO_SPARSE + * creates no sparse entries. + */ + assert((a = archive_read_disk_new()) != NULL); + + assertEqualIntA(a, ARCHIVE_OK, archive_read_disk_set_behavior(a, + ARCHIVE_READDISK_NO_SPARSE)); + + verify_sparse_file(a, "file0", sparse_file0, 0); + verify_sparse_file(a, "file1", sparse_file1, 0); + verify_sparse_file(a, "file2", sparse_file2, 0); + verify_sparse_file(a, "file3", sparse_file3, 0); + verify_sparse_file(a, "file4", sparse_file4, 0); + + assertEqualInt(ARCHIVE_OK, archive_read_free(a)); + + assert((a = archive_read_disk_new()) != NULL); + + assertEqualIntA(a, ARCHIVE_OK, archive_read_disk_set_behavior(a, + ARCHIVE_READDISK_NO_SPARSE)); + + verify_sparse_file2(a, "file0", sparse_file0, 0, 0); + verify_sparse_file2(a, "file0", sparse_file0, 0, 1); + assertEqualInt(ARCHIVE_OK, archive_read_free(a)); free(cwd); } -- 2.47.2