test-bug-delete: /usr/bin/zsh: bad interpreter: No such file or directory
sparcbr opened this issue · 3 comments
Only test test-bug-delete fails. Log below:
cat test/integration/test-suite.log
zshdb 1.0.0: test/integration/test-suite.log
TOTAL: 23
PASS: 22
SKIP: 0
XFAIL: 0
FAIL: 1
XPASS: 0
ERROR: 0
.. contents:: :depth: 2
FAIL: test-bug-delete
../../test-driver: ./test-bug-delete: /usr/bin/zsh: bad interpreter: No such file or directory
Then I tried a grep. The path seems hardcoded. And config.log shows the right path:
./config.log:configure:2483: found /bin/zsh
./config.log:configure:2496: result: /bin/zsh
./config.log:configure:2511: checking Checking whether /bin/zsh is compatible with zshdb
./config.log:ac_cv_path_SH_PROG=/bin/zsh
./config.log:SH_PROG='/bin/zsh'
grep '/usr/bin/zsh' -rni
test/integration/test-bug-delete:1:#!/usr/bin/zsh -f
test/zsh/ok4zshdb.sh:1:# !/usr/bin/zsh -f
Also we can see there is a space between hash and ! on ok4zshdb, but I think this scripts isn't being executed.
I am not sure how, but I suspect something you did somewhere along the way messed up.
test/integration/test-delete
is created (or rather replaced) from test/integration/test-delete.in
using the value of SH_PROG
that is found by configure
which I guess you show above.
To redo the recreation of all the test programs without running and entire configure
again (which will also work), just run ./config.status
and you should see something like:
config.status: creating Makefile
config.status: creating command/Makefile
config.status: creating command/info_sub/Makefile
config.status: creating command/set_sub/Makefile
config.status: creating command/show_sub/Makefile
config.status: creating data/Makefile
config.status: creating doc/Makefile
config.status: creating dbg-trace.sh
config.status: creating lib/Makefile
config.status: creating test/Makefile
config.status: creating test/data/Makefile
config.status: creating test/example/Makefile
config.status: creating test/integration/Makefile
config.status: creating test/integration/check-common.sh
config.status: creating test/unit/Makefile
config.status: creating test/zsh/Makefile
config.status: creating zshdb
config.status: creating test/example/hanoi.sh
config.status: creating test/example/restart.sh
config.status: creating test/integration/test-action
config.status: creating test/integration/test-brkpt1
config.status: creating test/integration/test-bug-args
config.status: creating test/integration/test-bug-errexit
config.status: creating test/integration/test-bugIFS
config.status: creating test/integration/test-bug-ksharrays
config.status: creating test/integration/test-condition
config.status: creating test/integration/test-delete
...
Also we can see there is a space between hash and ! on ok4zshdb, but I think this scripts isn't being executed.
This is correct. That program is invoked with the the interpreter name that configure
finds.