# #
#############################################################################*/
+#include <pakfire/archive.h>
#include <pakfire/db.h>
+#include <pakfire/package.h>
+#include <pakfire/repo.h>
#include <pakfire/util.h>
#include "../testsuite.h"
return 0;
}
+static int test_add_package(const struct test* t) {
+ struct pakfire_db* db;
+
+ PakfireRepo repo = pakfire_repo_create(t->pakfire, "dummy");
+ ASSERT(repo);
+
+ int r = pakfire_db_open(&db, t->pakfire, PAKFIRE_DB_READWRITE);
+ ASSERT(!r);
+
+ char* path = pakfire_path_join(TEST_SRC_PATH, "data/beep-1.3-2.ip3.x86_64.pfm");
+
+ // Open archive
+ PakfireArchive archive = pakfire_archive_open(t->pakfire, path);
+ ASSERT(archive);
+
+ // Get package
+ PakfirePackage pkg = pakfire_archive_make_package(archive, repo);
+ ASSERT(pkg);
+
+ // Try to add the package to the database
+ r = pakfire_db_add_package(db, pkg, archive);
+ ASSERT(r == 0);
+
+ // Cleanup
+ pakfire_archive_unref(archive);
+ pakfire_db_unref(db);
+ pakfire_package_unref(pkg);
+ pakfire_repo_unref(repo);
+ free(path);
+
+ return 0;
+}
+
int main(int argc, char** argv) {
testsuite_add_test(test_open_ro);
testsuite_add_test(test_open_rw);
testsuite_add_test(test_check);
+ testsuite_add_test(test_add_package);
return testsuite_run();
}