Megatest

Artifact [b6cd6ec04c]
Login

Artifact b6cd6ec04c546827c0ce1ab343858b92b8001e99:

Wiki page [using trace with the megatest executable] by matt on 2014-11-26 09:37:00.
D 2014-11-26T16:37:00.647
L using\strace\swith\sthe\smegatest\sexecutable
P 9659dc4664d89f54d54e830b8d403ac2a165cfe9
U matt
W 1048
<h3>Using trace to debug Megatest issues</h3>

NOTE: I have found this method to be very efficient for debugging in general and use it in most of my programs. 

  #  Create ~/.megatestrc
<verbatim>(use trace)
(import trace)
;; list the functions you think might illuminate the problem here
runs:process-expanded-tests
)</verbatim>
  #  Patch trace to emit a little info on where the function was called
<verbatim>
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
</verbatim>
  #  Run your megatest runs and dig through the various logs :)
Z 89b186da93d6960fdc49ec1f40aa1cba