summaryrefslogtreecommitdiff
path: root/src/test-driver.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/test-driver.c')
-rw-r--r--src/test-driver.c26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/test-driver.c b/src/test-driver.c
index 5223118..bd7aa17 100644
--- a/src/test-driver.c
+++ b/src/test-driver.c
@@ -285,6 +285,23 @@ start_transaction(struct test_context *ctx, const char **atts)
ctx->n_remove_pkgs = 0;
}
+static struct razor_package *
+get_package(struct razor_set *set, const char *package)
+{
+ struct razor_package_iterator *pi;
+ struct razor_package *p;
+ const char *name, *version, *arch;
+
+ pi = razor_package_iterator_create(set);
+ while (razor_package_iterator_next(pi, &p, &name, &version, &arch)) {
+ if (strcmp(package, name) == 0)
+ break;
+ }
+ razor_package_iterator_destroy(pi);
+
+ return p;
+}
+
static void
end_transaction(struct test_context *ctx)
{
@@ -293,16 +310,13 @@ end_transaction(struct test_context *ctx)
ctx->trans = razor_transaction_create(ctx->system_set, ctx->repo_set);
for (i = 0; i < ctx->n_install_pkgs; i++) {
- pkg = razor_set_get_package(ctx->repo_set,
- ctx->install_pkgs[i]);
+ pkg = get_package(ctx->repo_set, ctx->install_pkgs[i]);
razor_transaction_install_package(ctx->trans, pkg);
}
for (i = 0; i < ctx->n_remove_pkgs; i++) {
- pkg = razor_set_get_package(ctx->system_set,
- ctx->remove_pkgs[i]);
+ pkg = get_package(ctx->system_set, ctx->remove_pkgs[i]);
if (!pkg)
- pkg = razor_set_get_package(ctx->repo_set,
- ctx->remove_pkgs[i]);
+ pkg = get_package(ctx->repo_set, ctx->remove_pkgs[i]);
razor_transaction_remove_package(ctx->trans, pkg);
}