GraphMem_CS is the contract suite. As you have figured out it detects the tests that need to be run. You will probably want to look at GraphContractTests.java as well for the other half of the code.
There are 2 ways to find out what is discovered. the command line client (wait for new packaging later today) and the maven plugin. Which brings us to the role of the plugin. The plugin produces 3 text files. They should be in jena-core/target/contract_tests (or some thing similar) but I don't see it on the jenkins server so it must have been disabled. All of the reports have the ability to filter out specific classes, keep that in mind while reading the descriptions below. interfaces.txt contains a list of all the discovered interfaces and the contract tests for them as well as a list of all classes with flags to indicate if they are annotated with @Contract, @ContractImpl, or @NoContract and a list of all annotations on the class. This data drives the following 2 reports and is really here so someone can perform a sanity check on the data. untestedInterfaces.txt contains a list of all interfaces that do not have contract tests. unimplemented.txt contains a list of all classes that implement an interface that has a contract test but for which there is no contract suite. It looks like I need to create another report showing the contract tests that are executed for each suite. As to the logging messages, it may be that some of them should be moved from info to debug. I'll look into that. If you have specific suggestions I am open to them. Claude On Fri, Jun 12, 2015 at 5:33 PM, Andy Seaborne <[email protected]> wrote: > Claude, > > I trying to understand the contract testing. I have been looking at > GraphMem_CS and DeltaTest mainly. Are they good examples? > > What's the way to find out what classes are discovered and tested? > > contract-test-maven-plugin -- what's the role of this plugin? because the > surefire setup has: <include>**/*_CS.java</include> > > There is various logging messages now as well but some seem to come from > include the Contract engine. Should they be suppressed? > > see for example: > > > https://builds.apache.org/user/andy/my-views/view/Jena/job/Jena_Development_Test/lastSuccessfulBuild/consoleFull > > Andy > > -- I like: Like Like - The likeliest place on the web <http://like-like.xenei.com> LinkedIn: http://www.linkedin.com/in/claudewarren
