ops4j / org.ops4j.pax.exam2

Pax Exam is a testing framework for OSGi
https://ops4j1.jira.com/wiki/spaces/PAXEXAM4/
Apache License 2.0
84 stars 100 forks source link

KarafTestContainer.stop to also handle UncheckedIOException #1110

Open lichtin opened 7 months ago

lichtin commented 7 months ago

This section here should also catch UncheckedIOException

            if (shouldDeleteRuntime()) {
                system.clear();
                try {
                    FileUtils.forceDelete(targetFolder);
                }
                catch (IOException e) {
                    forceCleanup();
                }
            }

as can be seen by this stacktrace

java.io.UncheckedIOException: java.nio.file.NoSuchFileException: /jenkins/.../target/paxexam
    at org.apache.commons.io.function.Uncheck.wrap(Uncheck.java:242)
    at org.apache.commons.io.function.Uncheck.apply(Uncheck.java:164)
    at org.apache.commons.io.file.PathUtils.readAttributes(PathUtils.java:1259)
    at org.apache.commons.io.file.PathUtils.readPosixFileAttributes(PathUtils.java:1349)
    at org.apache.commons.io.file.PathUtils.deleteFile(PathUtils.java:582)
    at org.apache.commons.io.file.PathUtils.delete(PathUtils.java:476)
    at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1337)
    at org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer.stop(KarafTestContainer.java:707)
    at org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.tearDown(EagerSingleStagedReactor.java:118)
    at org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.afterClass(EagerSingleStagedReactor.java:132)
    at org.ops4j.pax.exam.spi.reactors.ReactorManager.afterClass(ReactorManager.java:441)
    at org.ops4j.pax.exam.junit.impl.ProbeRunner.run(ProbeRunner.java:107)
    at org.ops4j.pax.exam.junit.PaxExam.run(PaxExam.java:93)
    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)