(defvar *debugout-pathname* #p"debugout.c")
(export 'test-module)
-(defun test-module (path &key reason)
+(defun test-module (path &key reason clear backtrace)
"Read a module from PATH, to exercise the machinery.
+ If CLEAR is non-nil, then reset the translator's state before proceeding.
+
If REASON is non-nil, then output the module to `*debugout-pathname*' with
that REASON.
Return a two-element list (NERROR NWARNING) of the number of errors and
warnings encountered while processing the module."
+ (when clear (clear-the-decks))
(multiple-value-bind (module nerror nwarning)
- (count-and-report-errors () (read-module path))
- (when reason
+ (if backtrace (read-module path)
+ (count-and-report-errors () (read-module path)))
+ (when (and module reason)
(with-open-file (out *debugout-pathname*
:direction :output
:if-exists :supersede