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