$(PAKFIRE_CPPFLAGS) \
-DABS_TOP_SRCDIR=\"$(abs_top_srcdir)\" \
-DTEST_ROOTFS=\"$(TEST_ROOTFS)\" \
+ -DTEST_STUB_COMMAND=\"$(abs_top_builddir)/tests/stub/root/command\" \
-DTEST_STUB_ROOT=\"$(TEST_STUB_ROOT)\" \
-DPAKFIRE_PRIVATE
struct testsuite ts;
static int test_run(int i, struct test* t) {
+ struct pakfire* p = NULL;
+
char root[PATH_MAX] = TEST_ROOTFS "/pakfire-test-XXXXXX";
int r;
0, LOG_DEBUG, pakfire_log_stderr, NULL);
if (r) {
LOG("ERROR: Could not initialize pakfire: %m\n");
- exit(1);
+ goto ERROR;
+ }
+
+ // Copy command into environment
+ r = pakfire_copy_in(t->pakfire, TEST_STUB_COMMAND, "/command");
+ if (r) {
+ LOG("ERROR: Could not copy command: %m\n");
+ goto ERROR;
}
+ // Run test
r = t->func(t);
if (r)
LOG("Test failed with error code: %d\n", r);
+ERROR:
// Release pakfire
- struct pakfire* p = pakfire_unref(t->pakfire);
+ p = pakfire_unref(t->pakfire);
// Check if Pakfire was actually released
if (p) {
return 1;
}
+ // Reset pointer (just in case)
+ t->pakfire = NULL;
+
// Cleanup root
pakfire_rmtree(root, 0);