From: Michael Tremer Date: Tue, 21 Feb 2023 18:15:37 +0000 (+0000) Subject: tests: Add a simple test for filelists X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=256cff9ea2a941e0c6c0c42d4ca05cb1e1d5a5c1;p=people%2Fstevee%2Fpakfire.git tests: Add a simple test for filelists Signed-off-by: Michael Tremer --- diff --git a/tests/libpakfire/file.c b/tests/libpakfire/file.c index ae171672..d32f5dd4 100644 --- a/tests/libpakfire/file.c +++ b/tests/libpakfire/file.c @@ -19,6 +19,7 @@ #############################################################################*/ #include +#include #include "../testsuite.h" @@ -62,10 +63,58 @@ FAIL: return EXIT_FAILURE; } +static int test_create_filelist(const struct test* t) { + struct pakfire_filelist* list = NULL; + struct pakfire_file* file1 = NULL; + struct pakfire_file* file2 = NULL; + struct pakfire_file* file3 = NULL; + int r = EXIT_FAILURE; + + // Create a new filelist + ASSERT_SUCCESS(pakfire_filelist_create(&list, t->pakfire)); + + // Create some files + ASSERT_SUCCESS(pakfire_file_create(&file1, t->pakfire)); + ASSERT_SUCCESS(pakfire_file_create(&file2, t->pakfire)); + ASSERT_SUCCESS(pakfire_file_create(&file3, t->pakfire)); + + // Set some paths + ASSERT_SUCCESS(pakfire_file_set_path(file1, "/1")); + ASSERT_SUCCESS(pakfire_file_set_path(file2, "/2")); + ASSERT_SUCCESS(pakfire_file_set_path(file3, "/3")); + + // Add the files to the list + ASSERT_SUCCESS(pakfire_filelist_add(list, file1)); + ASSERT_SUCCESS(pakfire_filelist_add(list, file3)); + ASSERT_SUCCESS(pakfire_filelist_add(list, file2)); + + // Dump the filelist + pakfire_filelist_dump(list, 0); + + ASSERT(pakfire_filelist_length(list) == 3); + + // Success + r = EXIT_SUCCESS; + +FAIL: + if (list) + pakfire_filelist_unref(list); + if (file1) + pakfire_file_unref(file1); + if (file2) + pakfire_file_unref(file2); + if (file3) + pakfire_file_unref(file3); + + return r; +} + int main(int argc, const char* argv[]) { testsuite_add_test(test_create); testsuite_add_test(test_create_invalid); + testsuite_add_test(test_create_filelist); + return testsuite_run(argc, argv); }