heh, look at what I just pushed to https://github.com/apache/bookkeeper/pull/930
-Ivan On Wed, Jan 3, 2018 at 3:34 PM, Enrico Olivelli <eolive...@gmail.com> wrote: > Hi, > I wrote some lines of code in order to demonstrate my idea for BC tests. > > > The idea is: > - use Maven Resolver to download code > - create a ClassLoader which loads classes from such downloaded artifacts > - use a scripting language, like Groovy (which is loosely typed) to write > tests (Groovy is really like Java so it is very easy for a Java programmer > to write Java code and let Groovy run it) > > Using separate classloaders lets us to have completely different versions > of the same code, like a JavaEE container works. > > > > This is an example > > https://github.com/eolivelli/mavendemo/blob/master/src/test/groovy/resolver/demo/ResolverJavaExampleTest.groovy > > Code of tests will look like this: > > @Test > public void hello() throws Exception { > ProgramVersion program410 = > ProgramVersion.resolve("org.apache.bookkeeper:bookkeeper-server:4.1.0"); > def clientconfig410 = > program410.newInstance("org.apache.bookkeeper.conf.ClientConfiguration"); > def bkc410 = > program410.newInstance("org.apache.bookkeeper.client.BookKeeper", > clientconfig); > System.out.println("bkc410:" + bkc410); > > > ProgramVersion program451 = > ProgramVersion.resolve("org.apache.bookkeeper:bookkeeper-server:4.5.1"); > def clientconfig451 = > program451.newInstance("org.apache.bookkeeper.conf.ClientConfiguration"); > def bkc451 = > program451.newInstance("org.apache.bookkeeper.client.BookKeeper", > clientconfig); > System.out.println("bkc451:" + bkc451); > } > > I you like the idea I can make a real test cases > > > Enrico