linux/tools
Dmitry V. Levin 656257cf1c selftests: do not macro-expand failed assertion expressions
[ Upstream commit b708a3cc96 ]

I've stumbled over the current macro-expand behaviour of the test
harness:

$ gcc -Wall -xc - <<'__EOF__'
TEST(macro) {
	int status = 0;
	ASSERT_TRUE(WIFSIGNALED(status));
}
TEST_HARNESS_MAIN
__EOF__
$ ./a.out
[==========] Running 1 tests from 1 test cases.
[ RUN      ] global.macro
<stdin>:4:global.macro:Expected 0 (0) != (((signed char) (((status) & 0x7f) + 1) >> 1) > 0) (0)
global.macro: Test terminated by assertion
[     FAIL ] global.macro
[==========] 0 / 1 tests passed.
[  FAILED  ]

With this change the output of the same test looks much more
comprehensible:

[==========] Running 1 tests from 1 test cases.
[ RUN      ] global.macro
<stdin>:4:global.macro:Expected 0 (0) != WIFSIGNALED(status) (0)
global.macro: Test terminated by assertion
[     FAIL ] global.macro
[==========] 0 / 1 tests passed.
[  FAILED  ]

The issue is very similar to the bug fixed in glibc assert(3)
three years ago:
https://sourceware.org/bugzilla/show_bug.cgi?id=18604

Cc: Shuah Khan <shuah@kernel.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Will Drewry <wad@chromium.org>
Cc: linux-kselftest@vger.kernel.org
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Acked-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Shuah Khan <shuah@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-01-26 09:32:38 +01:00
..
accounting
arch tools arch uapi: Sync the x86 kvm.h copy 2018-10-08 12:04:51 -03:00
bpf tools: bpftool: fix potential NULL pointer dereference in do_load 2018-12-17 09:24:34 +01:00
build
cgroup
firewire
gpio
hv tools: hv: fcopy: set 'error' in case an unknown operation was requested 2018-09-30 08:49:55 -07:00
iio
include x86/speculation: Add prctl() control for indirect branch speculation 2018-12-05 19:32:04 +01:00
kvm/kvm_stat tools/kvm_stat: cut down decimal places in update interval dialog 2018-10-01 15:40:59 +02:00
laptop
leds
lib tools lib traceevent: Fix processing of dereferenced args in bprintk events 2019-01-09 17:38:47 +01:00
memory-model
nfsd
objtool objtool: Fix segfault in .cold detection with -ffunction-sections 2018-12-17 09:24:33 +01:00
pci
pcmcia
perf perf env: Also consider env->arch == NULL as local operation 2019-01-09 17:38:43 +01:00
power tools/power/cpupower: fix compilation with STATIC=true 2018-12-01 09:37:27 +01:00
scripts
spi
testing selftests: do not macro-expand failed assertion expressions 2019-01-26 09:32:38 +01:00
thermal/tmon
time
usb
virtio virtio: fix test build after uio.h change 2019-01-13 09:51:03 +01:00
vm
wmi
Makefile