From: Maxime Ripard <maxime@cerno.tech>
To: igt-dev@lists.freedesktop.org
Cc: Pekka Paalanen <ppaalanen@gmail.com>, Maxime Ripard <maxime@cerno.tech>
Subject: [igt-dev] [PATCH i-g-t 3/8] lib/igt_frame: Move frame path creation to function
Date: Tue, 8 Mar 2022 16:21:36 +0100 [thread overview]
Message-ID: <20220308152141.2457841-4-maxime@cerno.tech> (raw)
In-Reply-To: <20220308152141.2457841-1-maxime@cerno.tech>
The igt_write_frame_to_png() has some logic to create the PNG filename
Since we'll need the same logic in a future function, let's move it to a
separate function.
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
lib/igt_frame.c | 42 ++++++++++++++++++++++++++++--------------
1 file changed, 28 insertions(+), 14 deletions(-)
diff --git a/lib/igt_frame.c b/lib/igt_frame.c
index 530ccbc32df2..ba29ac028e1b 100644
--- a/lib/igt_frame.c
+++ b/lib/igt_frame.c
@@ -57,6 +57,30 @@ bool igt_frame_dump_is_enabled(void)
return igt_frame_dump_path != NULL;
}
+static char *igt_get_frame_path(const char *qualifier, const char *suffix,
+ const char *extension)
+{
+ char *path;
+ const char *test_name;
+ const char *subtest_name;
+ test_name = igt_test_name();
+ subtest_name = igt_subtest_name();
+
+ path = malloc(PATH_MAX);
+ igt_assert(path);
+
+ if (suffix)
+ snprintf(path, PATH_MAX, "%s/frame-%s-%s-%s-%s.%s",
+ igt_frame_dump_path, test_name, subtest_name, qualifier,
+ suffix, extension);
+ else
+ snprintf(path, PATH_MAX, "%s/frame-%s-%s-%s.%s",
+ igt_frame_dump_path, test_name, subtest_name, qualifier,
+ extension);
+
+ return path;
+}
+
static void igt_log_frame_path(int summary_fd, char *path)
{
int index = strlen(path);
@@ -72,22 +96,11 @@ static void igt_log_frame_path(int summary_fd, char *path)
static void igt_write_frame_to_png(cairo_surface_t *surface, int summary_fd,
const char *qualifier, const char *suffix)
{
- char path[PATH_MAX];
- const char *test_name;
- const char *subtest_name;
+ char *path;
cairo_status_t status;
- int index;
- test_name = igt_test_name();
- subtest_name = igt_subtest_name();
-
- if (suffix)
- snprintf(path, PATH_MAX, "%s/frame-%s-%s-%s-%s.png",
- igt_frame_dump_path, test_name, subtest_name, qualifier,
- suffix);
- else
- snprintf(path, PATH_MAX, "%s/frame-%s-%s-%s.png",
- igt_frame_dump_path, test_name, subtest_name, qualifier);
+ path = igt_get_frame_path(qualifier, suffix, "png");
+ igt_assert(path);
igt_debug("Dumping %s frame to %s...\n", qualifier, path);
@@ -96,6 +109,7 @@ static void igt_write_frame_to_png(cairo_surface_t *surface, int summary_fd,
igt_assert_eq(status, CAIRO_STATUS_SUCCESS);
igt_log_frame_path(summary_fd, path);
+ free(path);
}
/**
--
2.35.1
next prev parent reply other threads:[~2022-03-08 15:21 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-08 15:21 [igt-dev] [PATCH i-g-t 0/8] Writeback fixes and improvements Maxime Ripard
2022-03-08 15:21 ` [igt-dev] [PATCH i-g-t 1/8] lib/igt_frame: Rename summary fd variable Maxime Ripard
2022-03-08 15:21 ` [igt-dev] [PATCH i-g-t 2/8] lib/igt_frame: Move frame dump logging to function Maxime Ripard
2022-03-08 15:21 ` Maxime Ripard [this message]
2022-03-08 15:21 ` [igt-dev] [PATCH i-g-t 4/8] lib/igt_frame: Add function to dump frames in RGB and raw Maxime Ripard
2022-03-08 15:21 ` [igt-dev] [PATCH i-g-t 5/8] tests/kms_writeback: Use endianness accessor to fill pixels Maxime Ripard
2022-03-08 15:21 ` [igt-dev] [PATCH i-g-t 6/8] tests/kms_writeback: Dump the frames if the don't match Maxime Ripard
2022-03-08 15:21 ` [igt-dev] [PATCH i-g-t 7/8] lib/igt_fb: Ignore the X component when computing CRC Maxime Ripard
2022-03-08 15:21 ` [igt-dev] [PATCH i-g-t 8/8] tests/kms_writeback: Use a garbage X value to create fill our test buffer Maxime Ripard
2022-03-08 21:36 ` [igt-dev] ✓ Fi.CI.BAT: success for Writeback fixes and improvements Patchwork
2022-03-09 4:07 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220308152141.2457841-4-maxime@cerno.tech \
--to=maxime@cerno.tech \
--cc=igt-dev@lists.freedesktop.org \
--cc=ppaalanen@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox