Starting from these Shell Compatibility Reports:
Here are some questions:
- What shell test suites exist?
- Oils - incorporates some cases from
toysh - We also run the Smoosh test suite, linked from our quality page
- Oils - incorporates some cases from
- Can tests be shared across shell implementations?
- What's the success criteria? Bash oracle mode versus Assertions
- What's the format of the tests, and the protocol? e.g.
$SHvs.$TEST_SHELL
- Can we agree on what the shell language is?
- It's not just POSIX anymore!
- Maybe it's "Bashix" --
bash mksh ksh sush brush oshagree on hundreds of tests that other shells don't.
- Which constructs do shells disagree the most on? Some candidates:
- The semantics of POSIX special Builtins
- The semantics of
unset
Why care about this? I think shell users should have a well-defined language to write.
We can use the discussions and wiki to sort out these questions!
Some more motivation:
Even BASH doesn't have 100% bash conformance. (Half my arguments with Chet cause version skew, which I see as a bug and he sees as a feature. I ask him to explain a corner case and he FIXES it, but then what do I put in the test suite ... ?
— Rob Landley (of toysh)