We were setting a global variable FAIL on failure, but if we failed inside a subshell (which a very small number of tests might do), this setting would be lost. The script output (a series of failed/warning lines) was still valid, but not the return code, so the shell might be selected even if one of these tests failed. To avoid the problem, put the fail/warning state in the filesystem instead, which is shared across subshells. |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| all.do | ||
| clean.do | ||
| default.vartest.do | ||
| nonshelltest.do | ||
| shelltest.do | ||
| vartest.do | ||