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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.