Yes it works on windows and linux if the linux is not on github.

LinkedIn: http://www.linkedin.com/in/claudewarren

On Sat 13 Sept 2025, 11:47 Stefan Bodewig, <bode...@apache.org> wrote:

> Hi Claude
>
> I must admit I haven't got any idea. I've just checked out RAT's master
> (the PR has been merged) and the test worked fine on my Ubuntu machine.
>
> I see you have disabled the test by now, but in my case GITHUB_ACTION is
> not set so the test is executed.
>
> Cheers
>
>         Stefan
>
> On 2025-09-06, Claude Warren wrote:
>
> > Greetings,
>
> > I am working on the next iteration of RAT and have encountered a rather
> > strange problem.  I don't know that this is an Ant issue but this seems
> > like a reasonable place to ask.
>
> > RAT has an Ant task that we ship.  In testing for that task we use the
> > testutils package.
>
> > RAT is built using Maven.  We use the Junit 5 framework.  The test class
> > contains @TempDir annotated path called "testDir".
>
>
> >    1. We create an Antfile in the testDir.
> >    2. We instantiate a BuildFIleRule called "buildRule".
> >    3. We call buildRule.configureProject(antFile.getPath()).
>
>
> > The result is an exception when the Project.setBaseDir() is called and
> > fails with a "directory does not exist" error (see call stack below).
>
> >    - This code works on my local Linux system.
> >    - This code works on GitHub windows systems under Java 8, 11 and 21.
> >    - This code fails on GitHub Linux systems under Java 8, 11 and 21.
>
> > I have verified that before the call to "configureProject":
>
> >    - The tempDir exists.
> >    - The antFile exists and is in the tempDir.
> >    - The System property "TEST_ROOT_DIRECTORY" is not set, and returns
> null.
>
> > Does anyone know why this might fail under GitHub linux?  My thought is
> > that GitHub redirects the temp to be a directory on a virtual system and
> > that somehow the testutils is managing to escape the virtual system.
>
> > Any assistance is appreciated,
> > Claude
>
> > GitHub
> > OS: ubuntu_latest & windows_latest
> > java 8, 11, 21  (temurin)
>
> > Versions:
> > Ant 1.10.15
> > Antunit 1.4.1
> > Ant launcher 1.10.15
> > Ant testutils 1.10.15
>
> > Junit 5.13.4
> > maven antrun plugin 3.1.0 with Ant 1.10.15 dependency
>
> > Example project:
> > https://github.com/Claudenw/creadur-rat/tree/RAT-474_fix_Eclipse_import
>
> > Example PR exhibiting error:
> > https://github.com/apache/creadur-rat/pull/505
>
> > Call stack:
> > Basedir /tmp/junit-13375102842827554728 does not exist
> > at org.apache.tools.ant.Project.setBaseDir(Project.java:858)
> > at org.apache.tools.ant.Project.setBasedir(Project.java:843)
> > at
> >
> org.apache.tools.ant.helper.ProjectHelper2$ProjectHandler.onStartElement(ProjectHelper2.java:824)
>
> > at
> >
> org.apache.tools.ant.helper.ProjectHelper2$RootHandler.startElement(ProjectHelper2.java:575)
>
> > at
> >
> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:510)
>
> > at
> >
> java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374)
>
> > at
> >
> java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:613)
>
> > at
> >
> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3063)
>
> > at
> >
> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:836)
>
> > at
> >
> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
>
> > at
> >
> java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
>
> > at
> >
> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
>
> > at
> >
> java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
>
> > at
> >
> java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
>
> > at
> >
> java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
>
> > at
> >
> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
>
> > at
> >
> java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
>
> > at
> > org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:280)
> > at
> > org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:182)
> > at
> >
> org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:104)
> > at
> >
> org.apache.tools.ant.BuildFileRule.configureProject(BuildFileRule.java:165)
> > at
> >
> org.apache.tools.ant.BuildFileRule.configureProject(BuildFileRule.java:143)
> > at
> >
> org.apache.rat.anttasks.AbstractRatAntTaskTest.setUp(AbstractRatAntTaskTest.java:44)
>
> > at
> >
> org.apache.rat.anttasks.ReportOptionTest$AntOptionsProvider$BuildTask.setUp(ReportOptionTest.java:166)
>
> > at
> >
> org.apache.rat.anttasks.ReportOptionTest$AntOptionsProvider.generateConfig(ReportOptionTest.java:89)
>
> > at
> >
> org.apache.rat.test.AbstractOptionsProvider.generateConfig(AbstractOptionsProvider.java:220)
>
> > at
> >
> org.apache.rat.test.AbstractOptionsProvider.configTest(AbstractOptionsProvider.java:643)
>
> > at
> >
> org.apache.rat.test.AbstractOptionsProvider.configTest(AbstractOptionsProvider.java:666)
>
> > at
> >
> org.apache.rat.anttasks.ReportOptionTest.testOptionsUpdateConfig(ReportOptionTest.java:68)
>
> > at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> > at java.base/java.util.Optional.ifPresent(Optional.java:183)
> > at
> >
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
>
> > at
> >
> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
>
> > at
> >
> java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
>
> > at
> >
> java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
>
> > at
> >
> java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274)
>
> > at
> >
> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
>
> > at
> >
> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
>
> > at
> >
> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
>
> > at
> >
> java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
>
> > at
> >
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
>
> > at
> >
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
>
> > at
> >
> java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
>
> > at
> >
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
>
> > at
> >
> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>
> > at
> >
> java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
>
> > at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
> > at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
> For additional commands, e-mail: dev-h...@ant.apache.org
>
>

Reply via email to