From 1f2f6b08b9f9ba8700d53650ccdcb58ee3c271aa Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Sat, 24 Aug 2024 23:50:14 +0200 Subject: [PATCH] test: add dwarfsextract archive_error test --- test/tool_main_test.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/test/tool_main_test.cpp b/test/tool_main_test.cpp index 444df9a3..b1dad993 100644 --- a/test/tool_main_test.cpp +++ b/test/tool_main_test.cpp @@ -1975,6 +1975,20 @@ TEST(dwarfsextract_test, stdout_progress_error) { "cannot use --stdout-progress with --output=-")); } +TEST(dwarfsextract_test, archive_error) { + auto tgen = mkdwarfs_tester::create_empty(); + tgen.add_root_dir(); + tgen.add_random_file_tree( + {.avg_size = 32.0, .dimension = 5, .max_name_len = 250}); + ASSERT_EQ(0, tgen.run({"-i", "/", "-l3", "-o", "-"})) << tgen.err(); + auto image = tgen.out(); + + auto t = dwarfsextract_tester::create_with_image(image); + EXPECT_EQ(1, t.run({"-i", "image.dwarfs", "-f", "ustar"})) << t.err(); + EXPECT_THAT(t.err(), ::testing::HasSubstr("archive_error")); + EXPECT_THAT(t.err(), ::testing::HasSubstr("extraction aborted")); +} + TEST(dwarfsck_test, check_exclusive) { auto t = dwarfsck_tester::create_with_image(); EXPECT_NE(0, t.run({"image.dwarfs", "--no-check", "--check-integrity"}))