Re: [PATCH 2/3] pthread-same-source: Add a reference image generation mode
"Bryce W. Harrington" <[email protected]>
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <[email protected]> |
Reviewed-by: Bryce Harrington <[email protected]> On Fri, Apr 11, 2014 at 10:48:22AM +0200, Uli Schlachter wrote: > In this mode, only a single thread is active and calling into cairo at any time. > Thus, there can be no races between threads. Since this test is supposed to find > races between threads, the resulting image can be used as a reference image. > > Signed-off-by: Uli Schlachter <[email protected]> > --- > test/pthread-same-source.c | 16 +++++++++++++--- > 1 file changed, 13 insertions(+), 3 deletions(-) > > diff --git a/test/pthread-same-source.c b/test/pthread-same-source.c > index 5960ca0..9db7332 100644 > --- a/test/pthread-same-source.c > +++ b/test/pthread-same-source.c > @@ -28,6 +28,7 @@ > #include <pthread.h> > > #define N_THREADS 8 > +#define GENERATE_REFERENCE 0 > > #define WIDTH 64 > #define HEIGHT 8 > @@ -136,6 +137,9 @@ draw (cairo_t *cr, int width, int height) > cairo_status_t status; > int i; > > + cairo_set_source_rgb (cr, 0.5, 0.5, 0.5); > + cairo_paint (cr); > + > source = create_source (cairo_get_target (cr)); > status = cairo_surface_status (source); > if (status) { > @@ -157,18 +161,24 @@ draw (cairo_t *cr, int width, int height) > test_status = CAIRO_TEST_FAILURE; > break; > } > +#if GENERATE_REFERENCE > + { > + cairo_test_status_t status = join_thread (cr, threads[i]); > + if (status != CAIRO_TEST_SUCCESS) > + test_status = status; > + } > +#endif > } > > cairo_surface_destroy (source); > > - cairo_set_source_rgb (cr, 0.5, 0.5, 0.5); > - cairo_paint (cr); > - > +#if !GENERATE_REFERENCE > for (i = 0; i < N_THREADS; i++) { > cairo_test_status_t status = join_thread (cr, threads[i]); > if (status != CAIRO_TEST_SUCCESS) > test_status = status; > } > +#endif > > return test_status; > } > -- > 1.9.1 > > -- > cairo mailing list > [email protected] > http://lists.cairographics.org/mailman/listinfo/cairo -- cairo mailing list [email protected] http://lists.cairographics.org/mailman/listinfo/cairo