diff --git a/tests/color-icc-output-test.c b/tests/color-icc-output-test.c index 016f76e4..81311ff3 100644 --- a/tests/color-icc-output-test.c +++ b/tests/color-icc-output-test.c @@ -196,35 +196,19 @@ build_lcms_profile_output(const struct setup_args *arg) return NULL; } -static char * -build_output_icc_profile(const struct setup_args *arg) +static void +build_output_icc_profile(const struct setup_args *arg, const char *filename) { - char *profile_name = NULL; cmsHPROFILE profile = NULL; - char *wd; - int ret; bool saved; - wd = realpath(".", NULL); - assert(wd); - if (arg->type == PTYPE_MATRIX_SHAPER) - ret = asprintf(&profile_name, "%s/matrix-shaper-test-%s.icm", wd, - arg->pipeline->color_space); - else - ret = asprintf(&profile_name, "%s/cLUT-test-%s.icm", wd, - arg->pipeline->color_space); - assert(ret > 0); - profile = build_lcms_profile_output(arg); assert(profile); - saved = cmsSaveProfileToFile(profile, profile_name); + saved = cmsSaveProfileToFile(profile, filename); assert(saved); cmsCloseProfile(profile); - free(wd); - - return profile_name; } static void @@ -251,9 +235,9 @@ fixture_setup(struct weston_test_harness *harness, const struct setup_args *arg) setup.shell = SHELL_TEST_DESKTOP; setup.logging_scopes = "log,color-lcms-profiles,color-lcms-transformations,color-lcms-optimizer"; - file_name = build_output_icc_profile(arg); - if (!file_name) - return RESULT_HARD_ERROR; + file_name = output_filename_for_fixture(THIS_TEST_NAME, harness, + arg->meta.name, "icm"); + build_output_icc_profile(arg, file_name); weston_ini_setup(&setup, cfgln("[core]"), diff --git a/tests/drm-writeback-screenshot-test.c b/tests/drm-writeback-screenshot-test.c index be18919e..94f5c784 100644 --- a/tests/drm-writeback-screenshot-test.c +++ b/tests/drm-writeback-screenshot-test.c @@ -139,7 +139,7 @@ TEST(drm_writeback_screenshot) { testlog("Screenshot %s reference image\n", match? "equal to" : "different from"); if (!match) { diffimg = visualize_image_difference(screenshot->image, reference, &clip, NULL); - fname = screenshot_output_filename("drm-writeback-screenshot-error", 0); + fname = output_filename_for_test_case("error", 0, "png"); write_image_as_png(diffimg, fname); pixman_image_unref(diffimg); free(fname); diff --git a/tests/internal-screenshot-test.c b/tests/internal-screenshot-test.c index e3b6a54b..da63cb53 100644 --- a/tests/internal-screenshot-test.c +++ b/tests/internal-screenshot-test.c @@ -156,7 +156,7 @@ TEST(internal_screenshot) testlog("Screenshot %s reference image in clipped area\n", match? "matches" : "doesn't match"); if (!match) { diffimg = visualize_image_difference(screenshot->image, reference_good, &clip, NULL); - fname = screenshot_output_filename("internal-screenshot-error", 0); + fname = output_filename_for_test_case("error", 0, "png"); write_image_as_png(diffimg, fname); pixman_image_unref(diffimg); free(fname); @@ -165,7 +165,7 @@ TEST(internal_screenshot) /* Test dumping of non-matching images */ if (!match || dump_all_images) { - fname = screenshot_output_filename("internal-screenshot", 0); + fname = output_filename_for_test_case(NULL, 0, "png"); write_image_as_png(screenshot->image, fname); free(fname); } diff --git a/tests/weston-test-client-helper.c b/tests/weston-test-client-helper.c index 3b279300..3ede7fd1 100644 --- a/tests/weston-test-client-helper.c +++ b/tests/weston-test-client-helper.c @@ -1142,17 +1142,6 @@ output_path(void) return path; } -char* -screenshot_output_filename(const char *basename, uint32_t seq) -{ - char *filename; - - if (asprintf(&filename, "%s/%s-%02d.png", - output_path(), basename, seq) < 0) - return NULL; - return filename; -} - static const char* reference_path(void) { @@ -1891,25 +1880,18 @@ static void write_visual_diff(pixman_image_t *ref_image, pixman_image_t *shot, const struct rectangle *clip, - const char *test_name, int seq_no, const struct range *fuzz) { char *fname; - char *ext_test_name; pixman_image_t *diff; - int ret; - ret = asprintf(&ext_test_name, "%s-diff", test_name); - assert(ret >= 0); - - fname = screenshot_output_filename(ext_test_name, seq_no); + fname = output_filename_for_test_case("diff", seq_no, "png"); diff = visualize_image_difference(ref_image, shot, clip, fuzz); write_image_as_png(diff, fname); pixman_image_unref(diff); free(fname); - free(ext_test_name); } /** @@ -1949,14 +1931,13 @@ verify_image(pixman_image_t *shot, const struct rectangle *clip, int seq_no) { - const char *test_name = get_test_name(); const struct range gl_fuzz = { -3, 4 }; pixman_image_t *ref = NULL; char *ref_fname = NULL; char *shot_fname; bool match = false; - shot_fname = screenshot_output_filename(test_name, seq_no); + shot_fname = output_filename_for_test_case("shot", seq_no, "png"); if (ref_image) { ref_fname = screenshot_reference_filename(ref_image, ref_seq_no); @@ -1969,8 +1950,7 @@ verify_image(pixman_image_t *shot, ref_fname, shot_fname, match ? "PASS" : "FAIL"); if (!match) { - write_visual_diff(ref, shot, clip, - test_name, seq_no, &gl_fuzz); + write_visual_diff(ref, shot, clip, seq_no, &gl_fuzz); } pixman_image_unref(ref); diff --git a/tests/weston-test-client-helper.h b/tests/weston-test-client-helper.h index 0ed97459..3ac1013a 100644 --- a/tests/weston-test-client-helper.h +++ b/tests/weston-test-client-helper.h @@ -249,9 +249,6 @@ void expect_protocol_error(struct client *client, const struct wl_interface *intf, uint32_t code); -char * -screenshot_output_filename(const char *basename, uint32_t seq); - char * screenshot_reference_filename(const char *basename, uint32_t seq);