]> git.ipfire.org Git - pakfire.git/commitdiff
archive: Add test for pakfire_archive_copy
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 20 Nov 2021 16:07:28 +0000 (16:07 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 20 Nov 2021 16:07:28 +0000 (16:07 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
tests/libpakfire/archive.c

index 4b79f51205e7b05e8cc6ec54090ebd25dc8facc3..d179fde2ed058870cf624744f41ff97ecd5bbbf2 100644 (file)
@@ -157,6 +157,35 @@ FAIL:
        return r;
 }
 
+static int test_copy(const struct test* t) {
+       struct pakfire_archive* archive = NULL;
+       char* path = NULL;
+       int r = EXIT_FAILURE;
+
+       // Create a temporary file
+       FILE* f = test_mktemp(&path);
+       ASSERT(f && path);
+
+       // Open the archive
+       ASSERT_SUCCESS(pakfire_archive_open(&archive, t->pakfire, TEST_SRC_PATH TEST_PKG1_PATH));
+
+       // Copy archive
+       ASSERT_SUCCESS(pakfire_archive_copy(archive, path));
+
+       // Everything passed
+       r = EXIT_SUCCESS;
+
+FAIL:
+       if (archive)
+               pakfire_archive_unref(archive);
+       if (f)
+               fclose(f);
+       if (path)
+               unlink(path);
+
+       return r;
+}
+
 static int test_filelist(const struct test* t) {
        const char* path = TEST_SRC_PATH TEST_PKG1_PATH;
        int r = EXIT_FAILURE;
@@ -253,6 +282,7 @@ int main(int argc, char** argv) {
        testsuite_add_test(test_open_directory);
        testsuite_add_test(test_get);
        testsuite_add_test(test_read);
+       testsuite_add_test(test_copy);
        testsuite_add_test(test_filelist);
        testsuite_add_test(test_extract);
        testsuite_add_test(test_import);