[
https://issues.apache.org/jira/browse/SLING-13173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Munteanu updated SLING-13173:
------------------------------------
Priority: Minor (was: Major)
> Overly broad mocking of Files.class can lead to test failures
> -------------------------------------------------------------
>
> Key: SLING-13173
> URL: https://issues.apache.org/jira/browse/SLING-13173
> Project: Sling
> Issue Type: Bug
> Components: JCR
> Affects Versions: JCR ContentLoader 3.0.0
> Reporter: Robert Munteanu
> Assignee: Robert Munteanu
> Priority: Minor
> Fix For: JCR ContentLoader 3.0.2
>
>
> Under certain circumstances the static mocking of the Files.class causes
> slf4j to fail initialisation, leading to test failures.
> {noformat}
> $ mvn clean test -Dtest=ZipReaderTest
> (...)
> [ERROR]
> org.apache.sling.jcr.contentloader.internal.readers.ZipReaderTest.removeTempFileLogWarningOnIOException
> -- Time elapsed: 0.018 s <<< ERROR!
> java.lang.IllegalStateException: Unexpected initialization failure
> at org.slf4j.LoggerFactory.bind(LoggerFactory.java:216)
> at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:187)
> at org.slf4j.LoggerFactory.getProvider(LoggerFactory.java:511)
> at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:497)
> at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:446)
> at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:472)
> at
> org.apache.sling.jcr.contentloader.internal.readers.ZipReader.removeTempFile(ZipReader.java:140)
> at
> org.apache.sling.jcr.contentloader.internal.readers.ZipReaderTest.lambda$removeTempFileLogWarningOnIOException$1(ZipReaderTest.java:260)
> at
> org.apache.sling.jcr.contentloader.internal.readers.ZipReaderTest.doWorkWithCapturedSystemErr(ZipReaderTest.java:351)
> at
> org.apache.sling.jcr.contentloader.internal.readers.ZipReaderTest.removeTempFileLogWarningOnIOException(ZipReaderTest.java:260)
> Caused by: java.lang.NullPointerException: Cannot invoke
> "java.nio.file.attribute.BasicFileAttributes.lastModifiedTime()" because
> "this.attrs" is null
> at
> java.base/java.util.zip.ZipFile$Source$Key.hashCode(ZipFile.java:1456)
> at java.base/java.util.HashMap.hash(HashMap.java:338)
> at java.base/java.util.HashMap.getNode(HashMap.java:577)
> at java.base/java.util.HashMap.get(HashMap.java:565)
> at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1500)
> at
> java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:704)
> at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:204)
> at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:150)
> at java.base/java.util.jar.JarFile.<init>(JarFile.java:333)
> at
> java.base/sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:70)
> at
> java.base/sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:56)
> at
> java.base/sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:202)
> at
> java.base/sun.net.www.protocol.jar.JarFileFactory.getOrCreate(JarFileFactory.java:95)
> at
> java.base/sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:123)
> at
> java.base/sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:167)
> at
> java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.parse(ServiceLoader.java:1043)
> at
> java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1084)
> at
> java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1099)
> at
> java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1142)
> at java.base/java.util.ServiceLoader$1.hasNext(ServiceLoader.java:1164)
> at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1246)
> at org.slf4j.LoggerFactory.findServiceProviders(LoggerFactory.java:133)
> at org.slf4j.LoggerFactory.bind(LoggerFactory.java:195)
> ... 9 more
> {noformat}
> This is not reproducible on all systems - Jenkins passes.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)