[Piglit] [PATCH] gl-framework: always destroy gl context on exit
Ilia Mirkin
imirkin at alum.mit.edu
Thu Jun 25 17:36:50 PDT 2015
ping
On Mon, May 25, 2015 at 7:51 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> Currently a piglit_report_result in init (or earlier) would cause the
> framework to not get torn down. This ensures that the teardown happens
> on exit, which also enables usage of valgrind to detect memory leaks.
>
> This is a refinment of commit 121fb6b7d84 for winsys and commit
> 50402d6c7 which introduced the fbo framework.
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
> tests/util/piglit-framework-gl.c | 8 ++++++++
> tests/util/piglit-framework-gl/piglit_fbo_framework.c | 1 -
> tests/util/piglit-framework-gl/piglit_winsys_framework.c | 1 -
> 3 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/tests/util/piglit-framework-gl.c b/tests/util/piglit-framework-gl.c
> index b9ab2f8..0c2595e 100644
> --- a/tests/util/piglit-framework-gl.c
> +++ b/tests/util/piglit-framework-gl.c
> @@ -165,6 +165,13 @@ piglit_gl_process_args(int *argc, char *argv[],
>
> }
>
> +static void
> +destroy(void)
> +{
> + if (gl_fw->destroy)
> + gl_fw->destroy(gl_fw);
> +}
> +
> void
> piglit_gl_test_run(int argc, char *argv[],
> const struct piglit_gl_test_config *config)
> @@ -179,6 +186,7 @@ piglit_gl_test_run(int argc, char *argv[],
> piglit_report_result(PIGLIT_FAIL);
> }
>
> + atexit(destroy);
> gl_fw->run_test(gl_fw, argc, argv);
> assert(false);
> }
> diff --git a/tests/util/piglit-framework-gl/piglit_fbo_framework.c b/tests/util/piglit-framework-gl/piglit_fbo_framework.c
> index 8f4a19d..456cf7e 100644
> --- a/tests/util/piglit-framework-gl/piglit_fbo_framework.c
> +++ b/tests/util/piglit-framework-gl/piglit_fbo_framework.c
> @@ -50,7 +50,6 @@ run_test(struct piglit_gl_framework *gl_fw,
> gl_fw->test_config->init(argc, argv);
> if (gl_fw->test_config->display)
> result = gl_fw->test_config->display();
> - gl_fw->destroy(gl_fw);
> piglit_report_result(result);
> }
>
> diff --git a/tests/util/piglit-framework-gl/piglit_winsys_framework.c b/tests/util/piglit-framework-gl/piglit_winsys_framework.c
> index d9a40eb..c80e972 100644
> --- a/tests/util/piglit-framework-gl/piglit_winsys_framework.c
> +++ b/tests/util/piglit-framework-gl/piglit_winsys_framework.c
> @@ -78,7 +78,6 @@ run_test(struct piglit_gl_framework *gl_fw,
> if (gl_fw->test_config->display)
> result = gl_fw->test_config->display();
>
> - gl_fw->destroy(gl_fw);
> piglit_report_result(result);
> }
>
> --
> 2.3.6
>
More information about the Piglit
mailing list