The binary distribution of Patchwork contains all the necessary dependencies for running it:
Here is the output from running run.sh -h script (on Linux), displaying the various options available:
Usage: java oqube.patchwork.test.TestRunner [options]
-h|-? : displays this help
-c <cpentry>(:<cpentry>)* : defines classpath for instrumented classes (.)
-t <cpentry>(:<cpentry>)* : defines classpath for test classes (.)
-g <clname> : name of generator class (CoverageInfo)
-p <regex> : pattern for test classes (*Test.class)
-P <regex> : exclusion pattern for test classes (^$)
-o <dir> : output directory for instruemented classes (none)
-r <clname> : reporter class name (SimpleCoverageReporter)
-i : instrumentation mode
-x : xhtml output
-O : report and root covered source output directory (./patchwork)
-C <clname>(:<clname>)* : list of method objective subclasses to compute coverage (AllEdgesObjective)
-s <cpentry>(:<cpentry>)* : source files classpath (.)
<cpentry> is either a directory, a jar or a zip file
The two most important options are -c and -t which respectively defines the tested and the test classpaths:
The flag -o may be used to dump the instrumented classes to some directory. It may not be a good idea to override the non-instrumented classes. This option is interesting as a debugging tool or for studying how coverage is computed.
Option -i does not run the tests but just instrument classes. It is provided to allow coverage computation in two phases: first instrumentation, then test execution.
Other options control coverage reporting output: