Tassilo:
I've incorporated this fix and rereleased as [lein-guzheng 1.4.4] (which 
will automatically pull in the latest guzheng).

Ambrose:
Guzheng works by instrumenting all code just before it's eval'ed, using 
Zach Tellman's sleight library, which is essentially a way to do whole 
program macros. It uses functional programs and logic programs to rewrite 
most conditionals to include instrumentation about whether they were 
executed. When the JVM exits, a hook runs that reports all the un-taken 
branches to stdout. I've pasted some sample output below:

#lein guzheng \* -- test
in ns foo.core: arity [a x] is not covered in "defn goodbye3" on line 21
in ns foo.core: false branch is not covered in "if" on line 31
in ns foo.core: :else is not covered in "cond" on line 50

The statements point out which branch on which line wasn't executed, to 
help you improve test coverage in areas of complex code that you're not 
sure is being testing sufficiently thoroughly. I use guzheng to gain 
confidence in complex fundamental libraries and algorithms that have many, 
many branches, to convince myself that I've sufficiently tested my code.

Thanks,
David

On Friday, October 26, 2012 4:53:42 AM UTC-4, Tassilo Horn wrote:
>
> David Greenberg <dsg123...@gmail.com <javascript:>> writes: 
>
> Hi David, 
>
> > Guzheng is a library for doing branch coverage analysis on Clojure 
> > projects at the command line. 
>
> Hey, that's pretty cool.  But it errors when being applied to my 
> project.  I've found the bug in guzheng and already sent you a pull 
> request. 
>
> Bye, 
> Tassilo 
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to