On Tue, Sep 17, 2019 at 01:23:18PM +0200, Johannes Schindelin wrote:
> Also, things like the code tracing via `-x` (which relies on Bash
> functionality in order to work properly,
Not really.
> and which _still_ does not work
> as intended if your test case evaluates a lazy prereq that has not been
> evaluated before
I don't see any striking differences between the trace output of a test
involving a lazy prereq from Bash or dash:
$ cat t9999-test.sh
#!/bin/sh
test_description='test'
. ./test-lib.sh
test_lazy_prereq DUMMY_PREREQ '
: lazily evaluating a dummy prereq
'
test_expect_success DUMMY_PREREQ 'test' '
true
'
test_done
$ ./t9999-test.sh -x
Initialized empty Git repository in /home/szeder/src/git/t/trash
directory.t9999-test/.git/
checking prerequisite: DUMMY_PREREQ
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
: lazily evaluating a dummy prereq
)
+ mkdir -p /home/szeder/src/git/t/trash directory.t9999-test/prereq-test-dir
+ cd /home/szeder/src/git/t/trash directory.t9999-test/prereq-test-dir
+ : lazily evaluating a dummy prereq
prerequisite DUMMY_PREREQ ok
expecting success of 9999.1 'test':
true
+ true
ok 1 - test
# passed all 1 test(s)
1..1
$ bash ./t9999-test.sh -x
Initialized empty Git repository in /home/szeder/src/git/t/trash
directory.t9999-test/.git/
checking prerequisite: DUMMY_PREREQ
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
: lazily evaluating a dummy prereq
)
++ mkdir -p '/home/szeder/src/git/t/trash
directory.t9999-test/prereq-test-dir'
++ cd '/home/szeder/src/git/t/trash directory.t9999-test/prereq-test-dir'
++ : lazily evaluating a dummy prereq
prerequisite DUMMY_PREREQ ok
expecting success of 9999.1 'test':
true
++ true
ok 1 - test
# passed all 1 test(s)
1..1