From cc2a03446fd4a81c68fd38bd877c3c2df8eaf43e Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Sat, 13 Jan 2024 08:56:10 +0100 Subject: [PATCH] test(metadata): add inode_info test --- test/tool_main_test.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/test/tool_main_test.cpp b/test/tool_main_test.cpp index 6fd50ff1..87d006b1 100644 --- a/test/tool_main_test.cpp +++ b/test/tool_main_test.cpp @@ -612,6 +612,37 @@ INSTANTIATE_TEST_SUITE_P(dwarfs, categorizer_test, ::testing::Values("error", "warn", "info", "verbose", "debug", "trace")); +TEST(mkdwarfs_test, metadata_inode_info) { + auto t = mkdwarfs_tester::create_empty(); + t.add_root_dir(); + t.os->add_local_files(audio_data_dir); + t.os->add_file("random", 4096, true); + + ASSERT_EQ(0, t.run("-l3 -i / -o - --categorize")); + + auto fs = t.fs_from_stdout(); + + auto iv = fs.find("/test8.aiff"); + ASSERT_TRUE(iv); + + auto info = fs.get_inode_info(*iv); + ASSERT_TRUE(info.count("chunks") > 0); + + std::set categories; + + for (auto chunk : info["chunks"]) { + ASSERT_TRUE(chunk.count("category") > 0); + categories.insert(chunk["category"].asString()); + } + + std::set expected{ + "pcmaudio/metadata", + "pcmaudio/waveform", + }; + + EXPECT_EQ(expected, categories); +} + TEST(mkdwarfs_test, metadata_path) { fs::path const f1{"test.txt"}; fs::path const f2{U"猫.txt"};