I should clarify, on Groovy 4, all tests are under src/test/groovy.
It's just under Groovy 5 that one file played up and hasn' t been
moved. I don't understand why just yet.

On Wed, Apr 16, 2025 at 8:49 PM Paul King <pa...@asert.com.au> wrote:
>
> Okay, I moved Groovy 4 src/test as well. I managed to move all but one
> of the files under src/test/java back into src/test/groovy.
> When I try to move groovy.NamedParameterHelper back I get:
>
> Execution failed for task ':compileTestGroovy'.
> > BUG! exception in phase 'semantic analysis' in source unit 
> > '/Users/paulk/Projects/groovy/src/test/groovy/groovy/NamedParameterTest.groovy'
> >  ConstructedClassWithPackage#setName should not be called
>
> This doesn't occur for Groovy 4_0_X.
>
> Other notes:
> * Our CI JVMs seem to lose locale info on JDK23+, so
> AppendableDgmMethodsTest checks against two possible output values.
> * For some reason,
> org.codehaus.groovy.benchmarks.vm5.b2394.ScriptLauncher needed a fully
> qualified reference to the Builder Java class in the same package.
> (Moving to src/test/java also fixes it without needing the extra
> qualification.) Adding the reference is an easy fix, but this could be
> an issue if it affects other projects.
> * On JVMs offering sealed classes,
> org.codehaus.groovy.util.ReferenceManagerTest#TestReference isn't
> liked because it isn't sealed. Since we don't have GROOVY-11292 on
> Groovy 4, I made the class final to sidestep the problem.
>
> Cheers, Paul.
>
> On Tue, Apr 15, 2025 at 11:29 PM Paul King <pa...@asert.com.au> wrote:
> >
> > ,
> > Comments inline.
> >
> > On Tue, Apr 15, 2025 at 11:10 PM Milles, Eric (TR Technology) via dev
> > <dev@groovy.apache.org> wrote:
> > >
> > > Since this has moved forward, would you be able to apply the same to 
> > > Groovy 4?  With this in place, moving commits (with tests) to older 
> > > release branches requires more effort.  The Groovy 3 branch has an even 
> > > older structure, but it is not taking fixes at that high of a rate.
> >
> > I was planning to give this more time to percolate but I think it is
> > the right step forward. I'll see what I can do for Groovy 4. Might be
> > after some other things are off my urgent list.
> >
> > > What was the logic for what .java files stayed under "src/test/groovy" 
> > > and which ones made it over to "src/test/java"?  I did prefer one unified 
> > > file tree for tests.
> >
> > Many things broke and in some cases, moving the thing it was
> > complaining about from src/test/groovy to src/test/java fixed the
> > problem. I was guessing if it was generating stubs, they might have
> > been causing some of the problems. But, after fixing numerous other
> > things, it might be possible to move some of them back now.
> >
> > > Has there been any consideration for moving "src/spec/test" into 
> > > "src/test/groovy"?  Or are those the tests that go with the language docs.
> >
> > src/spec/test are indeed the tests for the adoc files. A merger might
> > be possible but might make it harder to reference the right files and
> > harder to find them.
> >
> > >
> > > P.S.
> > > In general, it would be nice to see 1) JUnit 5 for tests and 2) 
> > > assertScript ''' test code ''' over bare groovy in test methods.  When 
> > > working on parser or classgen changes, it is a bit of a barrier to ensure 
> > > all the groovy code still compiles and executes successfully during an 
> > > experiment.
> >
> > There are definitely cases where assertScript is pretty essential, but
> > I also find there is a tradeoff between getting good IDE support and
> > having code in strings for assertScript.
> >
> > >
> > > ________________________________
> > > From: Paul King <pa...@asert.com.au>
> > > Sent: Tuesday, April 15, 2025 3:14 AM
> > > To: Groovy_Developers <dev@groovy.apache.org>
> > > Subject: [EXT] PR to move tests to src/test/groovy
> > >
> > > External Email: Use caution with links and attachments.
> > >
> > > Hi folks,
> > >
> > > We moved to the standard "src/main/groovy" (and src/main/java)
> > > directories a long time ago. Likewise for src/test/groovy for all
> > > modules except the core project. I created a PR for also moving the
> > > core tests from "src/test" to the standard place:
> > >
> > > https://urldefense.com/v3/__https://github.com/apache/groovy/pull/2194__;!!GFN0sa3rsbfR8OLyAw!biHaRXJ-g1UR119VMsgZeaa4MZ4dAL5mG_TaJVZwKoh7EbNFJmbxk-rlXsmt5ToogfBKt7JtXBNJrDhk5WZY9g$
> > >
> > > It is a bit of a sideways move in the sense that it doesn't make any
> > > difference to the overall dev experience, but I think it is useful to
> > > be using the standard folders. Let me know if anyone objects to
> > > applying the PR. It will be a little bit painful if you have a whole
> > > bunch of tests you are about to commit/refactor, so I can wait until
> > > convenient for everyone. You'll want to resync your IDE with the
> > > Gradle changes once it has been committed (assuming we go ahead).
> > >
> > > Cheers, Paul.

Reply via email to