test-driver.c
changeset 191 6e94ebe58141
parent 154 229fb0caa092
child 192 55b177b689c0
     1.1 --- a/test-driver.c	Fri Mar 07 08:52:09 2008 -0500
     1.2 +++ b/test-driver.c	Sun Apr 06 19:34:58 2008 -0400
     1.3 @@ -59,11 +59,11 @@
     1.4  	struct razor_set **importer_set;
     1.5  
     1.6  	struct razor_transaction *trans;
     1.7 -	struct razor_transaction_package *unsat;
     1.8  
     1.9  	char *install_pkgs[3], *remove_pkgs[3];
    1.10  	int n_install_pkgs, n_remove_pkgs;
    1.11  
    1.12 +	int unsat;
    1.13  	int in_result;
    1.14  
    1.15  	int debug, errors;
    1.16 @@ -194,23 +194,18 @@
    1.17  }
    1.18  
    1.19  static void
    1.20 -check_unsatisfiable_property(struct test_context *ctx, enum razor_property_type type, const char *name, enum razor_version_relation rel, const char *version)
    1.21 +check_unsatisfiable_property(struct test_context *ctx,
    1.22 +			     enum razor_property_type type,
    1.23 +			     const char *name,
    1.24 +			     enum razor_version_relation rel,
    1.25 +			     const char *version)
    1.26  {
    1.27  	if (!version)
    1.28  		version = "";
    1.29  
    1.30 -	for (; ctx->unsat < ctx->trans->packages + ctx->trans->package_count; ctx->unsat++) {
    1.31 -		if (ctx->unsat->state != RAZOR_PACKAGE_UNSATISFIABLE)
    1.32 -			continue;
    1.33 -		if (strcmp(name, ctx->unsat->dep_property) != 0 ||
    1.34 -		    rel != ctx->unsat->dep_relation ||
    1.35 -		    strcmp(version, ctx->unsat->dep_version) != 0)
    1.36 -			continue;
    1.37 -
    1.38 -		/* OK, found it, so skip over it and continue */
    1.39 -		ctx->unsat++;
    1.40 +	if (razor_transaction_unsatisfied_property(ctx->trans,
    1.41 +						   name, rel, version))
    1.42  		return;
    1.43 -	}
    1.44  
    1.45  	fprintf(stderr, "  didn't get unsatisfiable '%s %s %s'\n",
    1.46  		name, razor_version_relations[rel], version);
    1.47 @@ -253,22 +248,22 @@
    1.48  static void
    1.49  end_transaction(struct test_context *ctx)
    1.50  {
    1.51 +	int errors;
    1.52 +
    1.53  	ctx->trans = razor_transaction_create(ctx->system_set, ctx->repo_set,
    1.54  					      ctx->n_install_pkgs,
    1.55  					      (const char **)ctx->install_pkgs,
    1.56  					      ctx->n_remove_pkgs,
    1.57  					      (const char **)ctx->remove_pkgs);
    1.58 -	if (ctx->debug) {
    1.59 -		razor_transaction_describe(ctx->trans);
    1.60 -		printf("\n");
    1.61 -	}
    1.62 +	errors = razor_transaction_describe(ctx->trans);
    1.63 +	printf("\n");
    1.64  
    1.65  	while (ctx->n_install_pkgs--)
    1.66  		free(ctx->install_pkgs[ctx->n_install_pkgs]);
    1.67  	while (ctx->n_remove_pkgs--)
    1.68  		free(ctx->remove_pkgs[ctx->n_remove_pkgs]);
    1.69  
    1.70 -	if (!ctx->trans->errors) {
    1.71 +	if (!errors) {
    1.72  		struct razor_set *new;
    1.73  		new = razor_transaction_run(ctx->trans);
    1.74  		razor_set_destroy(ctx->system_set);
    1.75 @@ -348,13 +343,13 @@
    1.76  		exit(1);
    1.77  	}
    1.78  
    1.79 -	ctx->unsat = ctx->trans->packages;
    1.80 +	ctx->unsat = 1;
    1.81  }
    1.82  
    1.83  static void
    1.84  end_unsatisfiable(struct test_context *ctx)
    1.85  {
    1.86 -	ctx->unsat = NULL;
    1.87 +	ctx->unsat = 0;
    1.88  }
    1.89  
    1.90  static void