jastrachan | 2 Feb 18:02 2005

[groovy-dev] [important] test directory organisation...

The New Groovy parser & runtime is making good progress so its time to 
start running the current test suite against the new parser. Its gonna 
take a little effort to get them all passing :) but its a worthy goal. 
We're gonna have to port the tests a bit in places to get them working 
with New Groovy.

However as the Roadmap shows...

We need to keep both Classic and New around for at least 2 releases; so 
rather than using branches, I propose we just create copies of the 

So I'm proposing we copy the current test suite in




Then we can patch the 'test-new' copies of the tests to work with the 
new grammar (e.g. using  <at> Property, using 'def' and so forth).

Eventually tests from test-new should be migrated into the TCK if they 
are pure Groovy tests (and not testing any implementation detail or 
having dependencies on org.codehaus.groovy).

However there is a danger, from today onwards, that we could get 
confused & move tests around and start loosing track of what is where. 
So how about we do the following...

* all new tests go in their regular place in groovy-core/src/test

* if need be a new test could be duplicated into the 
groovy-core/src/test-new directory but this is optional

* when we are removing the old parser in 2 releases time, we copy the 
test-new tests over the top of the test directory (so we'll keep any 
new tests added in the meantime)

* any significant modifications to tests, should where possible be done 
in new test classes (so we don't loose the change when we do the above 

* we only migrate tests from these areas after we've migrated to New 
Groovy (or we carefully remove the tests from both 'test' and 
'test-new' if we're really keen).

Does this all sound reasonable?