summaryrefslogtreecommitdiff
path: root/src/testpattern/testpattern.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/testpattern/testpattern.c')
-rw-r--r--src/testpattern/testpattern.c62
1 files changed, 49 insertions, 13 deletions
diff --git a/src/testpattern/testpattern.c b/src/testpattern/testpattern.c
index 512739d..e27e73d 100644
--- a/src/testpattern/testpattern.c
+++ b/src/testpattern/testpattern.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testpattern.c,v 1.54 2008/07/16 23:59:23 rlk Exp $"
+ * "$Id: testpattern.c,v 1.57 2009/06/14 17:12:44 rlk Exp $"
*
* Test pattern generator for Gimp-Print
*
@@ -92,11 +92,15 @@ int global_did_something;
int global_noscale = 0;
int global_suppress_output = 0;
int global_quiet = 0;
+int global_fail_verify_ok = 0;
char *global_output = NULL;
FILE *output = NULL;
int write_to_process = 0;
int start_job = 0;
int end_job = 0;
+int passes = 0;
+int failures = 0;
+int skipped = 0;
static testpattern_t *static_testpatterns;
@@ -249,6 +253,7 @@ initialize_global_parameters(void)
static int
do_print(void)
{
+ int status = 0;
stp_vars_t *v;
const stp_printer_t *the_printer;
int left, right, top, bottom;
@@ -421,22 +426,50 @@ do_print(void)
stp_set_top(v, top);
stp_merge_printvars(v, stp_printer_get_defaults(the_printer));
- if (start_job)
+ if (stp_verify(v))
{
- stp_start_job(v, &theImage);
- start_job = 0;
+ if (start_job)
+ {
+ stp_start_job(v, &theImage);
+ start_job = 0;
+ }
+ if (stp_print(v, &theImage) != 1)
+ {
+ if (!global_quiet)
+ fprintf(stderr, "FAILED!");
+ failures++;
+ status = 2;
+ }
+ else
+ passes++;
+ if (end_job)
+ {
+ stp_end_job(v, &theImage);
+ end_job = 0;
+ }
}
- if (stp_print(v, &theImage) != 1)
- return 2;
- if (end_job)
+ else
{
- stp_end_job(v, &theImage);
- end_job = 0;
+ if (! global_fail_verify_ok)
+ {
+ if (!global_quiet)
+ fprintf(stderr, "FAILED!");
+ failures++;
+ status = 2;
+ }
+ else
+ {
+ if (!global_quiet)
+ fprintf(stderr, "(skipped)");
+ skipped++;
+ }
}
+ if (!global_quiet)
+ fprintf(stderr, "\n");
stp_vars_destroy(v);
stp_free(static_testpatterns);
static_testpatterns = NULL;
- return 0;
+ return status;
}
int
@@ -447,7 +480,7 @@ main(int argc, char **argv)
int global_status = 0;
while (1)
{
- c = getopt(argc, argv, "nq");
+ c = getopt(argc, argv, "nqy");
if (c == -1)
break;
switch (c)
@@ -458,6 +491,9 @@ main(int argc, char **argv)
case 'q':
global_quiet = 1;
break;
+ case 'y':
+ global_fail_verify_ok = 1;
+ break;
default:
break;
}
@@ -474,6 +510,8 @@ main(int argc, char **argv)
global_status = 1;
}
close_output();
+ if (!global_quiet)
+ fprintf(stderr, "%d pass, %d fail, %d skipped\n", passes, failures, skipped);
return global_status;
}
@@ -1134,8 +1172,6 @@ Image_conclude(stp_image_t *image)
abort();
}
Image_is_valid = 0;
- if (!global_quiet)
- fprintf(stderr, "\n");
}
static const char *