From: Michael Tremer Date: Wed, 10 Nov 2021 15:28:23 +0000 (+0000) Subject: archive: Add tests for functions pakfire_archive_get X-Git-Tag: 0.9.28~872 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d5542b6efdf52a0f1b3a25f96c651d5e73c8fea6;p=pakfire.git archive: Add tests for functions pakfire_archive_get Signed-off-by: Michael Tremer --- diff --git a/tests/libpakfire/archive.c b/tests/libpakfire/archive.c index dcbdcc42f..65f18cbc2 100644 --- a/tests/libpakfire/archive.c +++ b/tests/libpakfire/archive.c @@ -77,6 +77,38 @@ FAIL: return r; } +static int test_get(const struct test* t) { + struct pakfire_archive* archive = NULL; + int r = EXIT_FAILURE; + + // Open the archive + ASSERT_SUCCESS(pakfire_archive_open(&archive, t->pakfire, TEST_SRC_PATH TEST_PKG1_PATH)); + + // Read name + ASSERT_STRING_EQUALS(pakfire_archive_get(archive, "package", "name"), "beep"); + + // Read version + ASSERT_STRING_EQUALS(pakfire_archive_get(archive, "package", "version"), "1.3"); + + // Read release + ASSERT_STRING_EQUALS(pakfire_archive_get(archive, "package", "release"), "2.ip3"); + + // Read something that doesn't exist + ASSERT_NULL(pakfire_archive_get(archive, "package", "doesn't-exist")); + + // Pass NULL as input + ASSERT_ERRNO(pakfire_archive_get(archive, NULL, NULL) == NULL, EINVAL); + + // Everything passed + r = EXIT_SUCCESS; + +FAIL: + if (archive) + pakfire_archive_unref(archive); + + return r; +} + static int test_filelist(const struct test* t) { const char* path = TEST_SRC_PATH TEST_PKG1_PATH; int r = EXIT_FAILURE; @@ -171,6 +203,7 @@ FAIL: int main(int argc, char** argv) { testsuite_add_test(test_open); testsuite_add_test(test_open_directory); + testsuite_add_test(test_get); testsuite_add_test(test_filelist); testsuite_add_test(test_extract); testsuite_add_test(test_import);