From e37a428af9ffe954c356764af6bcf40380231c73 Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Mon, 29 Apr 2024 18:08:00 +0200 Subject: [PATCH] test: add tests for file_scanner::dump() --- test/tool_main_test.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/test/tool_main_test.cpp b/test/tool_main_test.cpp index 2c14803a..724e67c1 100644 --- a/test/tool_main_test.cpp +++ b/test/tool_main_test.cpp @@ -2787,3 +2787,28 @@ TEST(file_scanner, large_file_handling) { EXPECT_EQ(data[i], buffer) << i; } } + +TEST(mkdwarfs_test, file_scanner_dump) { + auto t = mkdwarfs_tester::create_empty(); + t.add_root_dir(); + t.os->add_local_files(audio_data_dir); + t.os->add_local_files(fits_data_dir); + t.add_random_file_tree({.avg_size = 1024.0, .dimension = 10}); + + t.os->setenv("DWARFS_DUMP_FILES_RAW", "raw.json"); + t.os->setenv("DWARFS_DUMP_FILES_FINAL", "final.json"); + + ASSERT_EQ(0, t.run("-l1 -i / -o -")) << t.err(); + + auto raw = t.fa->get_file("raw.json"); + ASSERT_TRUE(raw); + EXPECT_GT(raw->size(), 100'000); + EXPECT_NO_THROW(folly::parseJson(raw.value())); + + auto finalized = t.fa->get_file("final.json"); + ASSERT_TRUE(finalized); + EXPECT_GT(finalized->size(), 100'000); + EXPECT_NO_THROW(folly::parseJson(finalized.value())); + + EXPECT_NE(*raw, *finalized); +}