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

Reply via email to