tests: make use of helpers to create unique filenames

Start to use the helpers introduced in "tests: add helpers to create
unique filenames".

Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>

Pekka: Dropped program name from output_filename_for_test_case() calls
as it is already added automatically.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
This commit is contained in:
Leandro Ribeiro 2024-02-07 18:29:31 -03:00 committed by Pekka Paalanen
parent d29f904bec
commit bac9060d54
5 changed files with 12 additions and 51 deletions

View file

@ -196,35 +196,19 @@ build_lcms_profile_output(const struct setup_args *arg)
return NULL; return NULL;
} }
static char * static void
build_output_icc_profile(const struct setup_args *arg) build_output_icc_profile(const struct setup_args *arg, const char *filename)
{ {
char *profile_name = NULL;
cmsHPROFILE profile = NULL; cmsHPROFILE profile = NULL;
char *wd;
int ret;
bool saved; 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); profile = build_lcms_profile_output(arg);
assert(profile); assert(profile);
saved = cmsSaveProfileToFile(profile, profile_name); saved = cmsSaveProfileToFile(profile, filename);
assert(saved); assert(saved);
cmsCloseProfile(profile); cmsCloseProfile(profile);
free(wd);
return profile_name;
} }
static void static void
@ -251,9 +235,9 @@ fixture_setup(struct weston_test_harness *harness, const struct setup_args *arg)
setup.shell = SHELL_TEST_DESKTOP; setup.shell = SHELL_TEST_DESKTOP;
setup.logging_scopes = "log,color-lcms-profiles,color-lcms-transformations,color-lcms-optimizer"; setup.logging_scopes = "log,color-lcms-profiles,color-lcms-transformations,color-lcms-optimizer";
file_name = build_output_icc_profile(arg); file_name = output_filename_for_fixture(THIS_TEST_NAME, harness,
if (!file_name) arg->meta.name, "icm");
return RESULT_HARD_ERROR; build_output_icc_profile(arg, file_name);
weston_ini_setup(&setup, weston_ini_setup(&setup,
cfgln("[core]"), cfgln("[core]"),

View file

@ -139,7 +139,7 @@ TEST(drm_writeback_screenshot) {
testlog("Screenshot %s reference image\n", match? "equal to" : "different from"); testlog("Screenshot %s reference image\n", match? "equal to" : "different from");
if (!match) { if (!match) {
diffimg = visualize_image_difference(screenshot->image, reference, &clip, NULL); 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); write_image_as_png(diffimg, fname);
pixman_image_unref(diffimg); pixman_image_unref(diffimg);
free(fname); free(fname);

View file

@ -156,7 +156,7 @@ TEST(internal_screenshot)
testlog("Screenshot %s reference image in clipped area\n", match? "matches" : "doesn't match"); testlog("Screenshot %s reference image in clipped area\n", match? "matches" : "doesn't match");
if (!match) { if (!match) {
diffimg = visualize_image_difference(screenshot->image, reference_good, &clip, NULL); 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); write_image_as_png(diffimg, fname);
pixman_image_unref(diffimg); pixman_image_unref(diffimg);
free(fname); free(fname);
@ -165,7 +165,7 @@ TEST(internal_screenshot)
/* Test dumping of non-matching images */ /* Test dumping of non-matching images */
if (!match || dump_all_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); write_image_as_png(screenshot->image, fname);
free(fname); free(fname);
} }

View file

@ -1142,17 +1142,6 @@ output_path(void)
return path; 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* static const char*
reference_path(void) reference_path(void)
{ {
@ -1891,25 +1880,18 @@ static void
write_visual_diff(pixman_image_t *ref_image, write_visual_diff(pixman_image_t *ref_image,
pixman_image_t *shot, pixman_image_t *shot,
const struct rectangle *clip, const struct rectangle *clip,
const char *test_name,
int seq_no, int seq_no,
const struct range *fuzz) const struct range *fuzz)
{ {
char *fname; char *fname;
char *ext_test_name;
pixman_image_t *diff; pixman_image_t *diff;
int ret;
ret = asprintf(&ext_test_name, "%s-diff", test_name); fname = output_filename_for_test_case("diff", seq_no, "png");
assert(ret >= 0);
fname = screenshot_output_filename(ext_test_name, seq_no);
diff = visualize_image_difference(ref_image, shot, clip, fuzz); diff = visualize_image_difference(ref_image, shot, clip, fuzz);
write_image_as_png(diff, fname); write_image_as_png(diff, fname);
pixman_image_unref(diff); pixman_image_unref(diff);
free(fname); free(fname);
free(ext_test_name);
} }
/** /**
@ -1949,14 +1931,13 @@ verify_image(pixman_image_t *shot,
const struct rectangle *clip, const struct rectangle *clip,
int seq_no) int seq_no)
{ {
const char *test_name = get_test_name();
const struct range gl_fuzz = { -3, 4 }; const struct range gl_fuzz = { -3, 4 };
pixman_image_t *ref = NULL; pixman_image_t *ref = NULL;
char *ref_fname = NULL; char *ref_fname = NULL;
char *shot_fname; char *shot_fname;
bool match = false; 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) { if (ref_image) {
ref_fname = screenshot_reference_filename(ref_image, ref_seq_no); 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"); ref_fname, shot_fname, match ? "PASS" : "FAIL");
if (!match) { if (!match) {
write_visual_diff(ref, shot, clip, write_visual_diff(ref, shot, clip, seq_no, &gl_fuzz);
test_name, seq_no, &gl_fuzz);
} }
pixman_image_unref(ref); pixman_image_unref(ref);

View file

@ -249,9 +249,6 @@ void
expect_protocol_error(struct client *client, expect_protocol_error(struct client *client,
const struct wl_interface *intf, uint32_t code); const struct wl_interface *intf, uint32_t code);
char *
screenshot_output_filename(const char *basename, uint32_t seq);
char * char *
screenshot_reference_filename(const char *basename, uint32_t seq); screenshot_reference_filename(const char *basename, uint32_t seq);