thanks, I'l; have a look. I've always wanted to add the notion of skipped to test runs -all the way through to the XML and generated reports, but you'd have to do a new junit runner for this and tweak the reporting code. Which, if it involved going near maven source, is not something I am prepared to do
On 14 December 2012 18:57, Colin McCabe <cmcc...@alumni.cmu.edu> wrote: > One approach we've taken in the past is making the junit test skip > itself when some precondition is not true. Then, we often create a > property which people can use to cause the skipped tests to become a > hard error. > > For example, all the tests that rely on libhadoop start with these lines: > > > @Test > > public void myTest() { > > Assume.assumeTrue(NativeCodeLoader.isNativeCodeLoaded()); > > ... > > } > > This causes them to be silently skipped when libhadoop.so is not > available or loaded (perhaps because it hasn't been built.) > > However, if you want to cause this to be a hard error, you simply run > > mvn test -Drequire.test.libhadoop > > See TestHdfsNativeCodeLoader.java to see how this is implemented. > > The main idea is that your Jenkins build slaves use all the -Drequire > lines, but people running tests locally are not inconvenienced by the > need to build libhadoop.so in every case. This is especially good > because libhadoop.so isn't known to build on certain platforms like > AIX, etc. It seems to be a good tradeoff so far. I imagine that s3 > could do something similar. > > cheers, > Colin > > > On Fri, Dec 14, 2012 at 9:56 AM, Steve Loughran <ste...@hortonworks.com> > wrote: > > The swiftfs tests need only to run if there's a target filesystem; > copying > > the s3/s3n tests, something like > > > > <property> > > <name>test.fs.swift.name</name> > > <value>swift://your-object-store-herel/</value> > > </property> > > > > How does one actually go about making junit tests optional in mvn-land? > > Should the probe/skip logic be in the code -which can make people think > the > > test passed when it didn't actually run? Or can I turn it on/off in > maven? > > > > -steve >