ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gintautas Grigelionis <>
Subject Re: Mass changes to various projects under Ant umbrella - should we be doing it?
Date Sun, 15 Apr 2018 11:01:36 GMT
2018-04-15 9:59 GMT+00:00 Stefan Bodewig <>:

> On 2018-04-15, Gintautas Grigelionis wrote:
> > Could you please explain what alternative approach does the "root"
> > property support
> It has been added with
> 1c62d5e214
> and the commit message states the main use case "running tests from
> an arbitrary directory". I don't recall the details, you may want to
> look at the mailing list archive of December 2004.
> My main point is this is something that has been working for more than
> thirteen years and I don't want to break it for people who rely on it
> just because it makes running the tests from an IDE slightly
> inconvenient (by having to remember something).

Thanks for the pointer. The idea with assumptions is that they serve as a
and the way they should be used is by splitting the tests so that they are
executed or not dependent
on assumptions -- which makes test cases simple. See RmicTest, for example.

Moreover, the refactoring of tests is not about extracting repetitive code
into "smart" methods;
it's about parameterizing -- which is another nice thing about JUnit 4 --
and we'll be getting to that.
Yet another thing is splitting the tests in order to extract the fixtures
which belong to @Before.

> _and_ add assumptions checks, since it causes nasty NPEs when not set?
> IIRC the fallback would be to use the current working directory instead
> of the "root" property if the former is not set. We can easily deal with
> this by using
> System.getProperty("root", System.getProperty("user.dir"))
> instead, right?



but, yeah, good point. Have to check if it works everywhere, though.

> By the looks of it, JUnit 5 runner tests need an assumption check, too.
> Not sure why, but I may again be missing something.

Please have a look at TeamCity tests at JetBrains. They start with a clean
directory, then run
ant -Ddest=optional -f fetch.xml, then ./ test, and fail with

java.lang.Exception: No runnable methods


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message