[SBCL 1.2.3] --break-on-failure not taken into account when running distribution tests
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Incomplete
|
Undecided
|
Unassigned |
Bug Description
The tests/run-tests.sh runtime option --break-on-error is not fully taken into account. The problem lies in the function run-in-child-sbcl (see in tests/run-
Options:
-
The inconsistency comes from run-in-child-sbcl() preventing the user from interacting with the debugger:
;;; Example
$ (cd tests && sh run-tests.sh --break-on-failure compare-
/running tests on '/Users/
// Running impure tests (#<FUNCTION RUN-TESTS:
// Running /Users/
[...]
::: Running :ATOMIC-PUSH
CORRUPTION WARNING in SBCL pid 21358(tid 140735262114576):
Memory fault at b0095010 (pc=0x7fff8c61ade9, sp=0x11fe9f0)
The integrity of this image is possibly compromised. Note: lose_on_
Continuing with fingers crossed.
::: UNEXPECTED-FAILURE :ATOMIC-PUSH
due to #<SB-SYS:
"Unhandled memory fault at #xB0095010."
debugger invoked on a SB-SYS:
#<THREAD "main thread" RUNNING {1002C21473}>:
Unhandled memory fault at #xB0095010.
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-
0: [CONTINUE ] Continue
1: [RETRY ] Retry EVAL of current toplevel form.
[...]
0]
WARNING: Starting a select(2) without a timeout while interrupts are disabled.
h
8
fatal error encountered in SBCL pid 21356(tid 140735262114576):
SIGABRT received.
test failed, expected 104 return code, got 1
$ h
-bash: h: command not found
$ 8
;;; I used SIGABRT to stop the test run when I was not able to interact with the debugger.
;;;
;;; End of example
Changing the input specification in tests/run-
from:
:input #-win32 devnull #+win32 sb-sys:*stdin*
to:
:input #-win32 t #+win32 sb-sys:*stdin*
solves my problem.
** Platform
- Distribution of SBCL.1.2.3
- Darwin Kernel Version 13.4.0: Sun Aug 17 19:50:11 PDT 2014; root:xnu-
- MacOS/X 10.9.5 ("Mavericks")
Yes, debugging test failures is hard, especially with '.impure' tests.
This particular one I sort of recognize, and it always had the feeling of a bug in darwin itself iirc.
Anyway there's nothing we can do about it now. Current sbcl on current darwin works.