Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-32357

Fix tests that assume that they 're running in target directory

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2021.52, 2023.10
    • Component/s: Tests
    • Sprint:
      nxplatform #107, nxplatform #108
    • Story Points:
      3

      Description

      The test are executed sometime to force the target directory to be customized when using `custom.environment`. Therefore tests should not assume that they are run in the `target` directory, for instance to create temporary files.
      The following code requires fix:

          @Rule
          public TemporaryFolder folder = new TemporaryFolder(new File("target"));
      
      

      At the risk of having:

      Error Message
      
      target/junit8054470258175908443
      
      Stacktrace
      
      java.nio.file.NoSuchFileException: target/junit8054470258175908443
      	at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
      	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
      	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
      	at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:397)
      	at java.base/java.nio.file.Files.createDirectory(Files.java:700)
      	at java.base/java.nio.file.TempFileHelper.create(TempFileHelper.java:134)
      	at java.base/java.nio.file.TempFileHelper.createTempDirectory(TempFileHelper.java:171)
      	at java.base/java.nio.file.Files.createTempDirectory(Files.java:976)
      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
      	at org.junit.rules.TemporaryFolder.createTemporaryFolderWithNioApi(TemporaryFolder.java:265)
      	at org.junit.rules.TemporaryFolder.createTemporaryFolderIn(TemporaryFolder.java:237)
      	at org.junit.rules.TemporaryFolder.create(TemporaryFolder.java:150)
      	at org.junit.rules.TemporaryFolder.before(TemporaryFolder.java:136)
      	at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:50)
      	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
      	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
      	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
      	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
      	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
      	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
      	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
      	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
      	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
      	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
      	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
      
      

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: