tests: Add client helper routines for output and reference filenames
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-By: Derek Foreman <derekf@osg.samsung.com>
diff --git a/tests/weston-test-client-helper.c b/tests/weston-test-client-helper.c
index 41ed208..00fdf8f 100644
--- a/tests/weston-test-client-helper.c
+++ b/tests/weston-test-client-helper.c
@@ -812,3 +812,41 @@
return client;
}
+
+static const char*
+output_path(void) {
+ char *path = getenv("WESTON_TEST_OUTPUT_PATH");
+
+ if (!path)
+ return ".";
+ 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) {
+ char *path = getenv("WESTON_TEST_REFERENCE_PATH");
+
+ if (!path)
+ return "./tests/reference";
+ return path;
+}
+
+char*
+screenshot_reference_filename(const char *basename, uint32_t seq) {
+ char *filename;
+
+ if (asprintf(&filename, "%s/%s-%02d.png",
+ reference_path(), basename, seq) < 0)
+ return NULL;
+ return filename;
+}
diff --git a/tests/weston-test-client-helper.h b/tests/weston-test-client-helper.h
index 8635471..b46f158 100644
--- a/tests/weston-test-client-helper.h
+++ b/tests/weston-test-client-helper.h
@@ -180,4 +180,10 @@
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);
+
#endif