`is-error` dumps error output to `*standard-output*`
inaimathi opened this issue · 0 comments
inaimathi commented
I'm using is-error
. It correctly reports that an error was thrown, but the test report is polluted with a raw error dump in the two steps that expect errors. The erroring test cases are here. The output of the given test suite is
...
Running a test file '/home/inaimathi/quicklisp/local-projects/cl-handlers/test/handlers.lisp'
1..7
✓ Correctly route static URIs
✓ Correctly route variable URIs
✓ Correctly route variable URIs with multiple variables
✓ You can type path parameters with arg-style declarations
✓ You can type path parameters with both inline and arg-style declarations
; file: /home/inaimathi/quicklisp/local-projects/cl-handlers/test/handlers.lisp
; in: DEFINE-HANDLER (A)
; (CL-HANDLERS:DEFINE-HANDLER (CL-HANDLERS-TEST::A)
; ((CL-HANDLERS-TEST::FOO :INTEGER) (CL-HANDLERS-TEST::FOO :INTEGER))
; CL-HANDLERS-TEST::FOO)
;
; caught ERROR:
; during macroexpansion of
; (DEFINE-HANDLER (A)
; (# #)
; ...).
; Use *BREAK-ON-SIGNALS* to intercept.
;
; You have duplicate parameters: (FOO FOO)
;
; compilation unit finished
; caught 1 ERROR condition
✓ No duplicate declarations are allowed
; file: /home/inaimathi/quicklisp/local-projects/cl-handlers/test/handlers.lisp
; in: DEFINE-HANDLER (A/-FOO=INTEGER/B/-FOO=INTEGER)
; (CL-HANDLERS:DEFINE-HANDLER (CL-HANDLERS-TEST::A/-FOO=INTEGER/B/-FOO=INTEGER)
; ((CL-HANDLERS-TEST::FOO :INTEGER))
; CL-HANDLERS-TEST::FOO)
;
; caught ERROR:
; during macroexpansion of
; (DEFINE-HANDLER (A/-FOO=INTEGER/B/-FOO=INTEGER)
; (#)
; ...).
; Use *BREAK-ON-SIGNALS* to intercept.
;
; You have a duplicate path variable: (FOO FOO)
;
; compilation unit finished
; caught 1 ERROR condition
✓ NO duplicate declarations are allowed
✓ 7 tests completed (1ms)
T
(#P"/home/inaimathi/quicklisp/local-projects/cl-handlers/test/trie.lisp"
#P"/home/inaimathi/quicklisp/local-projects/cl-handlers/test/handler-internals.lisp"
#P"/home/inaimathi/quicklisp/local-projects/cl-handlers/test/handlers.lisp")
NIL
*
I was expecting it to output
...
Running a test file '/home/inaimathi/quicklisp/local-projects/cl-handlers/test/handlers.lisp'
1..7
✓ Correctly route static URIs
✓ Correctly route variable URIs
✓ Correctly route variable URIs with multiple variables
✓ You can type path parameters with arg-style declarations
✓ You can type path parameters with both inline and arg-style declarations
✓ No duplicate declarations are allowed
✓ NO duplicate declarations are allowed
✓ 7 tests completed (1ms)
T
(#P"/home/inaimathi/quicklisp/local-projects/cl-handlers/test/trie.lisp"
#P"/home/inaimathi/quicklisp/local-projects/cl-handlers/test/handler-internals.lisp"
#P"/home/inaimathi/quicklisp/local-projects/cl-handlers/test/handlers.lisp")
NIL
*
Since the errors are expected, showing their output doesn't really do anything but make the report output harder to scan.
This happens in SBCL 1.1.15 debian
and SBCL 1.2.12 NIXOS
, both in terminal and in SLIME
. Same behavior observed with the default and :fiveam
reporters.