Using trace to debug Megatest issues
NOTE: I have found this method to be very efficient for debugging in general and use it with Megatest and in most of my programs.
- Create ~/.megatestrc
(use trace) (import trace) ;; list the functions you think might illuminate the problem here runs:process-expanded-tests )
- Patch trace to emit a little info on where the function was called
chicken-install -r trace cd trace patch -p0 <<EOF *** trace.scm 2014-11-26 09:29:50.000000000 -0700 --- ../../trace/trace.scm 2014-11-25 21:12:41.000000000 -0700 *************** *** 61,66 **** --- 61,68 ---- (trace-indent) (set! *trace-indent-level* (fx+ 1 *trace-indent-level*)) (write (cons name args) port) + (write ", Called from: " port) + (write (conc (car (reverse (get-call-chain))))) (write-char #\newline port) (flush-output port) ) ) EOF chicken-install
- Run your megatest runs and dig through the various logs :)