Trepan-Debuggers / zshdb

gdb-like "trepan" debugger for zsh
GNU General Public License v3.0
293 stars 23 forks source link

test-bug-delete: /usr/bin/zsh: bad interpreter: No such file or directory #18

Closed sparcbr closed 5 years ago

sparcbr commented 5 years ago

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.

rocky commented 5 years ago

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.

sparcbr commented 5 years ago

It's test-bug-delete, not test-delete. There isn't a test-bug-delete.in This file was added as part of commit 9653c3f78058fcf62427fb15d0a420482971f155

rocky commented 5 years ago

Ok. Thanks for clarifying. Should be fixed in 2adde6f now.