i'm thinking of splitting the pvm test suite structure into 3 parts:
org.jbpm.pvm.sample : Contains easy to read tests can be used as examples in a tutorial. The tests only make use of the public services API in a persistent context. This is the API that 95% of our users will use.
org.jbpm.pvm.api : Contains all tests that only make use of the public API, but that do not intend to be used in a tutorial. They test the API in CTS style for correct operation. This often involves testing various combinations which makes it less suitable as tutorial.
org.jbpm.pvm.internal : Contains tests that make use of internal classes.
Apart from the packages, I would like to introduce continuous integration tests that verify parts of the test suite in limited classpaths. This should guard against the introduction as now all the PVM core operations are possible without any external dependency.
I'll look into maven profiles to see if that is the right way to do it.