linux/tools/testing/selftests
Tyler Hicks 17c29ddae8 selftests/ipc: Fix test failure seen after initial test run
[ Upstream commit b87080eab4 ]

After successfully running the IPC msgque test once, subsequent runs
result in a test failure:

  $ sudo ./run_kselftest.sh
  TAP version 13
  1..1
  # selftests: ipc: msgque
  # Failed to get stats for IPC queue with id 0
  # Failed to dump queue: -22
  # Bail out!
  # # Pass 0 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
  not ok 1 selftests: ipc: msgque # exit=1

The dump_queue() function loops through the possible message queue index
values using calls to msgctl(kern_id, MSG_STAT, ...) where kern_id
represents the index value. The first time the test is ran, the initial
index value of 0 is valid and the test is able to complete. The index
value of 0 is not valid in subsequent test runs and the loop attempts to
try index values of 1, 2, 3, and so on until a valid index value is
found that corresponds to the message queue created earlier in the test.

The msgctl() syscall returns -1 and sets errno to EINVAL when invalid
index values are used. The test failure is caused by incorrectly
comparing errno to -EINVAL when cycling through possible index values.

Fix invalid test failures on subsequent runs of the msgque test by
correctly comparing errno values to a non-negated EINVAL.

Fixes: 3a665531a3 ("selftests: IPC message queue copy feature test")
Signed-off-by: Tyler Hicks <tyhicks@linux.microsoft.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-05-10 10:30:06 +02:00
..
android selftests: Fix test errors related to lib.mk khdr target 2019-01-22 21:40:38 +01:00
bpf selftests: bpf: Reset global state between reuseport test runs 2020-02-24 08:34:51 +01:00
breakpoints
capabilities
cgroup cgroup: kselftest: relax fs_spec checks 2019-08-06 19:06:55 +02:00
cpu-hotplug selftests: cpu-hotplug: fix case where CPUs offline > CPUs present 2019-03-13 14:02:28 -07:00
cpufreq
drivers
efivarfs
exec
filesystems
firmware selftests: firmware: Fix it to do root uid check and skip 2020-01-17 19:47:14 +01:00
ftrace tracing/selftests: Turn off timeout setting 2020-04-29 16:31:15 +02:00
futex selftests: Fix test errors related to lib.mk khdr target 2019-01-22 21:40:38 +01:00
gpio selftests: gpio-mockup-chardev: Check asprintf() for error 2019-03-05 17:58:48 +01:00
ia64
intel_pstate
ipc selftests/ipc: Fix test failure seen after initial test run 2020-05-10 10:30:06 +02:00
kcmp
kmod selftests: kmod: fix handling test numbers above 9 2020-04-29 16:31:12 +02:00
kvm selftests: kvm: fix build with glibc >= 2.30 2019-12-13 08:51:05 +01:00
lib
locking
media_tests
membarrier
memfd
memory-hotplug
mount
mqueue
net selftests/net/fib_tests: update addr_metric_test for peer route testing 2020-03-18 07:14:17 +01:00
netfilter selftests: netfilter: missing error check when setting up veth interface 2019-06-22 08:15:15 +02:00
networking/timestamping selftests: Fix test errors related to lib.mk khdr target 2019-01-22 21:40:38 +01:00
nsfs
ntb
powerpc selftests/powerpc: Skip test instead of failing 2019-12-13 08:51:45 +01:00
prctl
proc selftests: fix warning: "_GNU_SOURCE" redefined 2019-12-01 09:17:00 +01:00
pstore
ptp
ptrace
rcutorture
rseq rseq/selftests: Turn off timeout setting 2020-01-17 19:47:15 +01:00
rtc selftests: rtc: rtctest: add alarm test on minute boundary 2019-03-05 17:58:47 +01:00
seccomp selftests: skip seccomp get_metadata test if not real root 2019-04-05 22:33:07 +02:00
sigaltstack
size kselftest: Minimise dependency of get_size on C library interfaces 2020-02-24 08:34:37 +01:00
sparc64
splice
static_keys
sync
sysctl
tc-testing tc-testing: fix build of eBPF programs 2019-11-24 08:20:29 +01:00
timers selftests/timers: Add missing fflush(stdout) calls 2019-06-19 08:18:04 +02:00
uevent
user
vDSO
vm selftests: vm: drop dependencies on page flags from mlock2 tests 2020-04-17 10:48:51 +02:00
watchdog selftests: watchdog: Fix error message. 2019-12-01 09:16:59 +01:00
x86 selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault 2020-04-17 10:48:40 +02:00
zram
.gitignore
gen_kselftest_tar.sh
kselftest_harness.h selftests: do not macro-expand failed assertion expressions 2019-01-26 09:32:38 +01:00
kselftest_install.sh
kselftest.h
lib.mk selftests: fix too long argument 2020-03-11 14:14:48 +01:00
Makefile selftests: add script to stress-test nft packet path vs. control plane 2018-12-17 09:24:31 +01:00