From 07c5511aedf0b0606c0d3f92ce829c5402436d58 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 26 Oct 2021 11:03:22 +1000 Subject: [PATCH] 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) {