diff --git a/test/script-support.lisp b/test/script-support.lisp index cf2de62222439c587997d4192335eba7b768feae..670620ebc0c1018ce52e2981ba10105ebd9feacc 100644 --- a/test/script-support.lisp +++ b/test/script-support.lisp @@ -55,6 +55,8 @@ Some constraints: )) (defvar *debug-asdf* nil) +(defvar *print-backtrace* t) + (defvar *quit-when-done* t) (defun verbose (&optional (verbose t) (print verbose)) @@ -403,10 +405,11 @@ is bound, write a message and exit on an error. If (format *error-output* "~&TEST ABORTED: ~A~&" c)) (finish-outputs*) (unless *debug-asdf* - (ignore-errors - (format *error-output* "~&Backtrace:~%") - (acall :print-condition-backtrace - c :count 69 :stream *error-output*)) + (when *print-backtrace* + (ignore-errors + (format *error-output* "~&Backtrace:~%") + (acall :print-condition-backtrace + c :count 69 :stream *error-output*))) (leave-test "Script failed" 1))))) (funcall thunk) (leave-test "Script succeeded" 0))))) @@ -613,7 +616,8 @@ is bound, write a message and exit on an error. If (format t "Configuring ASDF~%") (when (asym :getenvp) (format t "Enabling debugging~%") - (setf *debug-asdf* (or *debug-asdf* (acall :getenvp "DEBUG_ASDF_TEST")))) + (setf *debug-asdf* (or *debug-asdf* (acall :getenvp "DEBUG_ASDF_TEST"))) + (setf *print-backtrace* (not (acall :getenvp "NO_ASDF_BACKTRACE")))) (when *trace-symbols* (format t "Tracing~{ ~A~}~%" *trace-symbols*) (eval `(trace ,@(loop :for s :in *trace-symbols* :collect (asym s)))))