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.
This commit is contained in:
Peter Hutterer 2021-10-26 11:03:22 +10:00
parent cf3c0431c3
commit 07c5511aed

View file

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