20917cac7b
In the msg and shm tests, if the child exited before the parent entered sigsuspend(), the test would hang and time out. This was also a problem in the sem test, but the misuse of atf_tc_pass() masked it. Adding a short sleep before the sigsuspend() calls made the hang 100% reliable. With the same sleep in the new version, the test passes reliably. Remove calls to atf_tc_pass(). The call in the sem test broke the test by exiting prematurely, after only one child out of five had finished. The other two were harmless but unhelpful. Reduce a one-second sleep to a more reasonable duration so I can quickly run many iterations of the test. Where feasible, assert that wait() returns the child PID. While I'm here, use the more succinct ATF_REQUIRE* instead of if/atf_tc_fail/else. Flush stdout before forking to avoid double-flush. Use errx() when errno is irrelevant. Don't use ATF_REQUIRE* in children. Apparently, the output doesn't get saved. The exit status works, so it fails correctly, but silently. Re-enable the test in CI. PR: 233649 Reviewed by: markj (previous version) MFC after: 1 week Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D35187 |
||
---|---|---|
.. | ||
bin | ||
crypto | ||
dev | ||
fs | ||
games | ||
include | ||
ipf | ||
kernel | ||
lib | ||
libexec/ld.elf_so | ||
modules | ||
net | ||
rump | ||
sbin | ||
share | ||
sys | ||
usr.bin | ||
usr.sbin | ||
FREEBSD-upgrade | ||
h_macros.h |