On Thu, Jun 01, 2023 at 06:33:51PM -0700, John Hubbard wrote:
We cannot depend upon git to reliably retain the executable bit on shell scripts, or so I was told several years ago while working on this same run_vmtests.sh script. And sure enough, things such as test_hmm.sh are lately failing to run, due to lacking execute permissions.
A nice clean way to fix this would have been to use TEST_PROGS instead of TEST_FILES for the .sh scripts here. That tells the selftest framework to run these (and emit a warning if the files are not executable, but still run them anyway).
Unfortunately, run_vmtests.sh has its own run_test() routine, which does *not* do the right thing for shell scripts.
Fix this by explicitly adding "bash" to each of the shell script invocations. Leave fixing the overall approach to another day.
Is it possible someone just doesn't have "bash" at all? I used to only use "sh" without bash installed I think, but that was not on Linux, so I'm not sure how much that applies..
Maybe use $(SHELL)? I saw a bunch of usage in the tree too.