From: <chr...@ma...> - 2020-05-24 06:56:15
|
On 2020-05-23 22:45, Ken Moffat via Check-devel wrote: > On Thu, May 21, 2020 at 09:48:34PM -0700, chr...@ma... wrote: >> check_check_fixture.c:336:F:Core:test_ch_setup_sig:0: SRunner stat string >> incorrect with checked setup signal If you look at tests/check_check_fixture.c:336, it says in the comment at the top of the function that the test will fail without fork. > Before I posted, I'd already tried with --disable-fork (no failures, > but obviously a lot fewer tests were actually run) and I didn't get > those messages. More evidence that it's a fork issue on your system. Official advice is for you to use Check in --disable-fork mode. > But I'm at a loss about how to determine what is > causing them. It looks as if > > Check Servant2 > 19%: Checks: 260, Failures: 167, Errors: 43 > > means there were 43 unexpected errors, but deciphering testsuites > seems to be an art which I have not acquired. The suites for > different packages are all pretty different from each other - unless > an individual test reports an obvious error where I can see how the > expected result differs from what actually happened, and ideally get > some error message along the way, then it might as well all be > written in a language I can't read. I agree, it's hard to decipher our own testing logs. Without looking too hard, my guess is that these 43 errors are cascading failures that result from your system's fork not working properly. Ideally we would have some tests that check whether or not fork works, and then not run the tests that require fork to work. Or in other words, --disable-fork should be automatic if fork doesn't actually work. Assuming you still want to fix this, can you compile and run a simple program that relies on fork? Examples here: https://www.geeksforgeeks.org/fork-system-call/ Also, what does Check's configure say about fork? There's explicit testing in there. You can also look at config.log. If that all works fine, then you can start testing the other functions related to fork that Check uses. They'll all show up in https://linux.die.net/man/7/signal - src/check_run.c is a good starting point to look for them. An alternatively useful thing would be a test in configure.ac that forced --disable-fork if fork (or a related signal function) was not working. Good luck! Chris |