HomeFreeBSD

Fix the raise tests.

Description

Fix the raise tests.

  • The exit probe was not appropriately filtered to only the known pid so it was firing on any random process that would exit rather the only the one we cared about.
  • The dtest script executes the tst.raise*.exe in the background from POSIX sh without jobs control. POSIX mandates that SIGINT be set to SIG_IGN in this case. The test executable never actually tested that SIGINT could be caught despite trying to block and delay the signal. So the SIGINT sent from raise() is never actually received since it is ignored. This could be fixed by calling 'trap - INT' from dtest before running the executable but I've opted to just use SIGUSR1 instead in these specific tests rather than adding more logic to test that SIGINT is not ignored at startup.

These 2 issues meant that the tests would randomly work but only if a process
coincidentally exited during the test.

Reviewed by: markj
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

Details

Provenance
bdreweryAuthored on
Reviewer
markj
Parents
rS323619: Miscellaneous fixes and improvements to MMCCAM stack
Branches
Unknown
Tags
Unknown