]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
[backend] support a -T option that writes a testcase
authorMichael Schroeder <mls@suse.de>
Tue, 25 Aug 2015 12:00:32 +0000 (14:00 +0200)
committerMichael Schroeder <mls@suse.de>
Tue, 25 Aug 2015 12:00:32 +0000 (14:00 +0200)
Useful for verification purposes.

tools/testsolv.c

index 428688f42fe00ca0cf849c3ade75e7f6096efe16..5c4939411fa4632c7ce51e0a636eb4d6e469f144 100644 (file)
@@ -73,6 +73,7 @@ main(int argc, char **argv)
   int resultflags = 0;
   int debuglevel = 0;
   int writeresult = 0;
+  char *writetestcase = 0;
   int multijob = 0;
   int rescallback = 0;
   int c;
@@ -82,7 +83,7 @@ main(int argc, char **argv)
   const char *p;
 
   queue_init(&solq);
-  while ((c = getopt(argc, argv, "vmrhl:s:")) >= 0)
+  while ((c = getopt(argc, argv, "vmrhl:s:T:")) >= 0)
     {
       switch (c)
       {
@@ -107,6 +108,9 @@ main(int argc, char **argv)
          else
            queue_push2(&solq, 1, atoi(optarg));
           break;
+        case 'T':
+         writetestcase = optarg;
+          break;
         default:
          usage(1);
           break;
@@ -231,6 +235,8 @@ main(int argc, char **argv)
          else
            {
              int pcnt = solver_solve(solv, &job);
+             if (writetestcase)
+               testcase_write(solv, writetestcase, resultflags, 0, 0);
              if (pcnt && solq.count)
                {
                  int i, taken = 0;