[shrinkwrap-issues] [JBoss JIRA] (SHRINKWRAP-515) Building SHRINKWRAP: Some tests are never executed

Falko Modler (JIRA) issues at jboss.org
Wed Jul 5 06:51:00 EDT 2017


    [ https://issues.jboss.org/browse/SHRINKWRAP-515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13431094#comment-13431094 ] 

Falko Modler edited comment on SHRINKWRAP-515 at 7/5/17 6:50 AM:
-----------------------------------------------------------------

When directing JDK5_HOME to JDK8 (only for testing purposes!) all three tests fail in {{.tearDown()}} on windows trying to delete the test warfile because it's still being used by some process:
{noformat}
Running org.jboss.shrinkwrap.impl.base.spec.AddPackageFromWarWithNonRootClassloaderTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.212 sec <<< FAILURE! - in org.jboss.shrinkwrap.impl.base.spec.AddPackageFromWarWithNonRootClassloaderTestCase
testAddPackage(org.jboss.shrinkwrap.impl.base.spec.AddPackageFromWarWithNonRootClassloaderTestCase)  Time elapsed: 0.211 sec  <<< ERROR!
java.nio.file.FileSystemException: C:\Develop\_dev\shrinkwrap\impl-base\target\test7040850601899064634.war: Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.

        at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86)
        at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
        at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
        at sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269)
        at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
        at java.nio.file.Files.delete(Files.java:1126)
        at org.jboss.shrinkwrap.impl.base.spec.AddPackageFromWarWithNonRootClassloaderTestCase.tearDown(AddPackageFromWarWithNonRootClassloaderTestCase.java:62)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
        at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:37)
        at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
{noformat}
This can be fixed by removing {{.tearDown()}} and introducing {{temp.toFile().deleteOnExit()}} instead.

EDIT: {{.deleteOnExit()}} has no effect. Strange...


was (Author: famod):
When directing JDK5_HOME to JDK8 (only for testing purposes!) all three tests fail in {{.tearDown()}} on windows trying to delete the test warfile because it's still being used by some process:
{noformat}
Running org.jboss.shrinkwrap.impl.base.spec.AddPackageFromWarWithNonRootClassloaderTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.212 sec <<< FAILURE! - in org.jboss.shrinkwrap.impl.base.spec.AddPackageFromWarWithNonRootClassloaderTestCase
testAddPackage(org.jboss.shrinkwrap.impl.base.spec.AddPackageFromWarWithNonRootClassloaderTestCase)  Time elapsed: 0.211 sec  <<< ERROR!
java.nio.file.FileSystemException: C:\Develop\_dev\shrinkwrap\impl-base\target\test7040850601899064634.war: Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.

        at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86)
        at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
        at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
        at sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269)
        at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
        at java.nio.file.Files.delete(Files.java:1126)
        at org.jboss.shrinkwrap.impl.base.spec.AddPackageFromWarWithNonRootClassloaderTestCase.tearDown(AddPackageFromWarWithNonRootClassloaderTestCase.java:62)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
        at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:37)
        at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
{noformat}
This can be fixed by removing {{.tearDown()}} and introducing {{temp.toFile().deleteOnExit()}} instead.

> Building SHRINKWRAP: Some tests are never executed
> --------------------------------------------------
>
>                 Key: SHRINKWRAP-515
>                 URL: https://issues.jboss.org/browse/SHRINKWRAP-515
>             Project: ShrinkWrap
>          Issue Type: Bug
>          Components: impl-base
>    Affects Versions: 1.2.6
>            Reporter: Falko Modler
>
> The surefire configuration in the root {{pom.xml}} only includes:
> {code:xml}
>           <includes>
>             <include>**/*TestCase.java</include>
>             <include>**/*TestSuite.java</include>
>           </includes>
> {code}
> The following test classes do not adhere to this and are therefore never executed:
> {noformat}
> impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/spec/AddPackageFromJarContainingWebInfTest.java
> impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/spec/AddPackageFromWarTest.java
> impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/spec/AddPackageFromWarWithNonRootClassloaderTest.java
> {noformat}
> I fixed the names locally but then execution of all three tests fails because these tests are using JDK7 classes but are executed with JDK5 (see surefire config in {{impl-base/pom.xml}}):
> {noformat}
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.007 sec <<< FAILURE! - in org.jboss.shrinkwrap.impl.base.spec.AddPackageFromWarWithNonRootClassloaderTestCase
> initializationError(org.jboss.shrinkwrap.impl.base.spec.AddPackageFromWarWithNonRootClassloaderTestCase)  Time elapsed: 0.006 sec  <<< ERROR!
> java.lang.NoClassDefFoundError: Ljava/nio/file/Path;
>         at java.lang.Class.getDeclaredFields0(Native Method)
>         at java.lang.Class.privateGetDeclaredFields(Class.java:2259)
>         at java.lang.Class.getDeclaredFields(Class.java:1715)
>         at org.junit.runners.model.TestClass.<init>(TestClass.java:42)
>         at org.junit.runners.ParentRunner.<init>(ParentRunner.java:65)
>         at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:58)
>         at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:13)
>         at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
>         at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
>         at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
>         at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
>         at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
>         at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
>         at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the shrinkwrap-issues mailing list