Hi,
Test t0005-signals.sh fails when I run 'make test' under ksh (on Solaris and on Linux)
$ ksh t0005-signals.sh -v
Initialized empty Git repository in /home/test/git/t/trash directory.t0005-signals/.git/
expecting success:
{ test-sigchain >actual; ret=$?; } &&
case "$ret" in
143) true ;; # POSIX w/ SIGTERM=15
271) true ;; # ksh w/ SIGTERM=15
3) true ;; # Windows
*) false ;;
esac &&
test_cmp expect actualt0005-signals.sh[499]: eval: line 4: 23622: Terminated ok 1 - sigchain works
expecting success:
# we use exec here to avoid any sub-shell interpretation
# of the exit code
git config alias.sigterm "!exec test-sigchain" &&
test_expect_code 143 git sigtermthree two one error: exec test-sigchain died of signal 15 ok 2 - signals are propagated using shell convention
expecting success:
test-genrandom foo 16384 >file &&
git add fileok 3 - create blob
expecting success:
OUT=$( ((large_git; echo $? 1>&3) | :) 3>&1 ) &&
test "$OUT" -eq 141t0005-signals.sh[499]: eval: syntax error at line 4: `(' unmatched Memory fault
I rather think there are two issues: 1. two adjacent parentheses 2. numeric constant (141) should be 269 for ksh, like there are two different constants in the test 'test-sigchain' in this file (in t0005-signals.sh)
'man ksh' reads:
(list)
Execute list in a separate environment.
Note, that if two adjacent open parentheses are needed for nesting,
a space must be inserted to avoid evaluation as an arithmetic command as
described above.-- Best regards, evgeny