mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
pwtest: if a test expects a signal, skip it under valgrind
Running under valgrind enforces --no-fork so any signal will cause valgrind to error out, failing the test abnormally. This prevents us from running our test suite through valgrind, we'd have to mark every test specifically whether it should run under valgrind or not. Easier is just to automatically skip tests expecting signals.
This commit is contained in:
parent
6600d93d5d
commit
5ebfbccd16
1 changed files with 9 additions and 0 deletions
|
|
@ -412,6 +412,7 @@ void _pwtest_add(struct pwtest_context *ctx, struct pwtest_suite *suite,
|
|||
return;
|
||||
|
||||
t = calloc(1, sizeof *t);
|
||||
t->result = PWTEST_SYSTEM_ERROR;
|
||||
t->name = funcname;
|
||||
t->func = func;
|
||||
t->args.range.min = 0;
|
||||
|
|
@ -432,6 +433,8 @@ void _pwtest_add(struct pwtest_context *ctx, struct pwtest_suite *suite,
|
|||
case PWTEST_NOARG:
|
||||
break;
|
||||
case PWTEST_ARG_SIGNAL:
|
||||
if (RUNNING_ON_VALGRIND)
|
||||
t->result = PWTEST_SKIP;
|
||||
t->args.signal = va_arg(args, int);
|
||||
break;
|
||||
case PWTEST_ARG_RANGE:
|
||||
|
|
@ -908,6 +911,12 @@ static void run_test(struct pwtest_context *ctx, struct pwtest_suite *c, struct
|
|||
int read_fds[_FD_LAST], write_fds[_FD_LAST];
|
||||
int r;
|
||||
|
||||
if (t->result == PWTEST_SKIP) {
|
||||
char *buf = pw_array_add(&t->logs[FD_LOG], 64);
|
||||
spa_scnprintf(buf, 64, "pwtest: test skipped by pwtest\n");
|
||||
return;
|
||||
}
|
||||
|
||||
t->result = PWTEST_SYSTEM_ERROR;
|
||||
|
||||
r = init_pipes(read_fds, write_fds);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue