diff options
Diffstat (limited to 'src/testpattern/testpattern.c')
-rw-r--r-- | src/testpattern/testpattern.c | 62 |
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 * |