tests: robustify signal delivery test against kernel bugs
authorDmitry V. Levin <ldv@altlinux.org>
Wed, 11 Apr 2018 22:01:37 +0000 (22:01 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Wed, 11 Apr 2018 22:01:37 +0000 (22:01 +0000)
commit34c7794cc16e2511eda7b1d5767c655a83b17309
treeb15d11028a542895b58961d72af59d9c6704284d
parentecf5284f7d75d0f131acd120cea8ed4cb5dbe4c7
tests: robustify signal delivery test against kernel bugs

Recent kernel siginfo changes, namely, v4.14-rc1~60^2^2~1,
v4.16-rc1~159^2~37, and v4.16-rc1~159^2~39, introduced ABI regressions
that render the whole siginfo interface unreliable.

Looks like the kernel side is not eager to fix the breakage,
so here is a workaround.

* tests/signal_receive.c (s_sig, s_code, s_pid, s_uid): New volatile
variables.
(handler): Add siginfo_t parameter, save siginfo_t fields.
(sig_print): Remove.
(main): Rewrite.  Use variables saved by handler to print expected
siginfo output. Print diagnostics in case of siginfo mismatch.
* strace.spec.in (%check): Extract the diagnostics.

Closes: https://github.com/strace/strace/issues/21
strace.spec.in
tests/signal_receive.c