Skip a test program if ATF_SHELL is not found
Test programs that aren't compatible with /bin/sh can specify a different shell using -s. For example:
#!/usr/libexec/atf-sh -s/usr/local/bin/ksh93
But if that shell is not found, then Kyua cannot list the test cases, and will report the test as broken. Instead, it should simply skip the entire test program.
There is nothing Kyua can do about this because Kyua should not be inspecting the contents of the test, much less playing heuristics with the shebang line.
I guess atf-sh could check for the existence of the file and then report something back to Kyua... But this is tricky: at that point we haven't even started processing the command line of the test program so we don't know where the results file is going to live. And trying to process the command line from there seems fragile.
You can avoid this by adding a required_programs entry to your Kyuafile and listing the shell there. Is that sufficient?
I tried that, but it doesn't work because Kyua will still try to list test cases. It seems that required_programs only affects whether a test case will be executed.
Oh I see. Yikes. There is no concept of skipping a whole test program during listing. Not sure how this ought to be fixed...