diff options
author | Bart Ribbers <bribbers@disroot.org> | 2021-10-26 10:33:56 +0200 |
---|---|---|
committer | Bart Ribbers <bribbers@disroot.org> | 2021-10-26 09:28:55 +0000 |
commit | c0e0e6ebf1ea2058fb777a49de612c1fcdd84232 (patch) | |
tree | e60e40ac3a1a98aab82eb0a9bd4c8bcf85a93e58 /community/pipewire/0003-test-fix-tmpdir-value-after-setenv.patch | |
parent | 3e746c1bf3458abf2434046b69eca873e2cf2239 (diff) | |
download | aports-c0e0e6ebf1ea2058fb777a49de612c1fcdd84232.tar.gz aports-c0e0e6ebf1ea2058fb777a49de612c1fcdd84232.tar.bz2 aports-c0e0e6ebf1ea2058fb777a49de612c1fcdd84232.tar.xz |
community/pipewire: re-enable tests
Diffstat (limited to 'community/pipewire/0003-test-fix-tmpdir-value-after-setenv.patch')
-rw-r--r-- | community/pipewire/0003-test-fix-tmpdir-value-after-setenv.patch | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/community/pipewire/0003-test-fix-tmpdir-value-after-setenv.patch b/community/pipewire/0003-test-fix-tmpdir-value-after-setenv.patch new file mode 100644 index 0000000000..fc4c5f2f35 --- /dev/null +++ b/community/pipewire/0003-test-fix-tmpdir-value-after-setenv.patch @@ -0,0 +1,77 @@ +From cf3c0431c387a72fdbc66ec78086f695d0b6de3c Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <peter.hutterer@who-t.net> +Date: Tue, 26 Oct 2021 11:14:06 +1000 +Subject: [PATCH 1/2] test: fix tmpdir value after setenv + +Introduced in a2856c6e0f692b7a379e06d3ed6ac8107f9b946b + +set_test_env() modifies TMPDIR so we must not use getenv until after +that call. + +Fixes #1736 +--- + test/pwtest.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/test/pwtest.c b/test/pwtest.c +index fbf16cb2f..a000153fd 100644 +--- a/test/pwtest.c ++++ b/test/pwtest.c +@@ -915,9 +915,7 @@ static void run_test(struct pwtest_context *ctx, struct pwtest_suite *c, struct + pid_t pw_daemon = 0; + int read_fds[_FD_LAST], write_fds[_FD_LAST]; + int r; +- const char *tmpdir = getenv("TMPDIR"); +- +- spa_assert_se(tmpdir != NULL); ++ const char *tmpdir; + + if (t->result == PWTEST_SKIP) { + char *buf = pw_array_add(&t->logs[FD_LOG], 64); +@@ -934,6 +932,8 @@ static void run_test(struct pwtest_context *ctx, struct pwtest_suite *c, struct + } + + set_test_env(ctx, t); ++ tmpdir = getenv("TMPDIR"); ++ spa_assert_se(tmpdir != NULL); + r = chdir(tmpdir); + if (r < 0) { + t->sig_or_errno = -errno; +-- +GitLab + + +From 07c5511aedf0b0606c0d3f92ce829c5402436d58 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <peter.hutterer@who-t.net> +Date: Tue, 26 Oct 2021 11:03:22 +1000 +Subject: [PATCH 2/2] test: handle chdir errors correctly + +When we get to this code, we already updated the environment variables +so we need to use the usual error path to restore them. + +And where chdir does fail, print an error to the log. 256 chars should +be enough here, if your tmpdir exceeds that you just have the error +message cut off. +--- + test/pwtest.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/test/pwtest.c b/test/pwtest.c +index a000153fd..35e7b003c 100644 +--- a/test/pwtest.c ++++ b/test/pwtest.c +@@ -936,8 +936,10 @@ static void run_test(struct pwtest_context *ctx, struct pwtest_suite *c, struct + spa_assert_se(tmpdir != NULL); + r = chdir(tmpdir); + if (r < 0) { ++ char *buf = pw_array_add(&t->logs[FD_LOG], 256); ++ spa_scnprintf(buf, 256, "pwtest: failed to chdir to '%s'\n", tmpdir); + t->sig_or_errno = -errno; +- return; ++ goto error; + } + + if (t->args.pw_daemon) { +-- +GitLab + |