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;
}
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]"),

View File

@ -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);

View File

@ -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);
}

View File

@ -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);

View File

@ -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);