]> git.ipfire.org Git - pakfire.git/commitdiff
archive: Add tests for functions pakfire_archive_get
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 10 Nov 2021 15:28:23 +0000 (15:28 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 10 Nov 2021 15:28:23 +0000 (15:28 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
tests/libpakfire/archive.c

index dcbdcc42fdcd953c6969200f9d3da57ef45c0ccb..65f18cbc25b1f1b3553548eb430e4c3157211f2c 100644 (file)
@@ -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);