exercism / cfml-test-runner

GNU Affero General Public License v3.0
0 stars 4 forks source link

Run tests on read-only network #1

Closed ErikSchierboom closed 10 months ago

ErikSchierboom commented 3 years ago

Unfortunately, running on a read-only filesystem fails with the following error:

java.io.FileNotFoundException: /usr/local/lib/CommandBox/engine/cfml/cli/lucee-server/context/logs/out (Read-only file system)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(Unknown Source)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at java.io.PrintWriter.<init>(Unknown Source)
        at lucee.runtime.config.XMLConfigServerFactory.newInstance(XMLConfigServerFactory.java:83)
        at lucee.runtime.engine.CFMLEngineImpl.getConfigServerImpl(CFMLEngineImpl.java:876)
        at lucee.runtime.engine.CFMLEngineImpl.<init>(CFMLEngineImpl.java:276)
        at lucee.runtime.engine.CFMLEngineImpl.getInstance(CFMLEngineImpl.java:724)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at lucee.loader.engine.CFMLEngineFactory.getEngine(CFMLEngineFactory.java:1460)
        at lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:371)
        at lucee.loader.engine.CFMLEngineFactory.initEngineIfNecessary(CFMLEngineFactory.java:267)
        at lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:169)
        at lucee.runtime.script.BaseScriptEngineFactory.<init>(BaseScriptEngineFactory.java:59)
        at lucee.runtime.script.LuceeScriptEngineFactory.<init>(LuceeScriptEngineFactory.java:27)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.lang.Class.newInstance(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.nextService(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
        at java.util.ServiceLoader$1.next(Unknown Source)
        at javax.script.ScriptEngineManager.initEngines(Unknown Source)
        at javax.script.ScriptEngineManager.init(Unknown Source)
        at javax.script.ScriptEngineManager.<init>(Unknown Source)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:305)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:155)
        at cliloader.LoaderCLIMain.main(LoaderCLIMain.java:580)
java.io.IOException: Read-only file system
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.createNewFile(Unknown Source)
        at lucee.commons.io.res.type.file.FileResource.getOutputStream(FileResource.java:249)
        at lucee.commons.io.IOUtil.getWriter(IOUtil.java:1260)
        at lucee.commons.io.IOUtil.write(IOUtil.java:968)
        at lucee.commons.io.log.LogUtil.logGlobal(LogUtil.java:128)
        at lucee.commons.io.log.LogUtil.log(LogUtil.java:98)
        at lucee.commons.io.log.LogUtil.log(LogUtil.java:84)
        at lucee.commons.io.log.LogUtil.log(LogUtil.java:80)
        at lucee.runtime.engine.CFMLEngineImpl.getConfigServerImpl(CFMLEngineImpl.java:880)
        at lucee.runtime.engine.CFMLEngineImpl.<init>(CFMLEngineImpl.java:276)
        at lucee.runtime.engine.CFMLEngineImpl.getInstance(CFMLEngineImpl.java:724)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at lucee.loader.engine.CFMLEngineFactory.getEngine(CFMLEngineFactory.java:1460)
        at lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:371)
        at lucee.loader.engine.CFMLEngineFactory.initEngineIfNecessary(CFMLEngineFactory.java:267)
        at lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:169)
        at lucee.runtime.script.BaseScriptEngineFactory.<init>(BaseScriptEngineFactory.java:59)
        at lucee.runtime.script.LuceeScriptEngineFactory.<init>(LuceeScriptEngineFactory.java:27)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.lang.Class.newInstance(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.nextService(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
        at java.util.ServiceLoader$1.next(Unknown Source)
        at javax.script.ScriptEngineManager.initEngines(Unknown Source)
        at javax.script.ScriptEngineManager.init(Unknown Source)
        at javax.script.ScriptEngineManager.<init>(Unknown Source)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:305)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:155)
        at cliloader.LoaderCLIMain.main(LoaderCLIMain.java:580)
java.io.FileNotFoundException: /usr/local/lib/CommandBox/engine/cfml/cli/lucee-server/context/logs/out.log (Read-only file system)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(Unknown Source)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at lucee.commons.io.res.type.file.FileResource.getOutputStream(FileResource.java:252)
        at lucee.commons.io.IOUtil.getWriter(IOUtil.java:1260)
        at lucee.commons.io.IOUtil.write(IOUtil.java:968)
        at lucee.commons.io.log.LogUtil.logGlobal(LogUtil.java:128)
        at lucee.commons.io.log.LogUtil.log(LogUtil.java:110)
        at lucee.runtime.engine.CFMLEngineImpl.<init>(CFMLEngineImpl.java:344)
        at lucee.runtime.engine.CFMLEngineImpl.getInstance(CFMLEngineImpl.java:724)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at lucee.loader.engine.CFMLEngineFactory.getEngine(CFMLEngineFactory.java:1460)
        at lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:371)
        at lucee.loader.engine.CFMLEngineFactory.initEngineIfNecessary(CFMLEngineFactory.java:267)
        at lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:169)
        at lucee.runtime.script.BaseScriptEngineFactory.<init>(BaseScriptEngineFactory.java:59)
        at lucee.runtime.script.LuceeScriptEngineFactory.<init>(LuceeScriptEngineFactory.java:27)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.lang.Class.newInstance(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.nextService(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
        at java.util.ServiceLoader$1.next(Unknown Source)
        at javax.script.ScriptEngineManager.initEngines(Unknown Source)
        at javax.script.ScriptEngineManager.init(Unknown Source)
        at javax.script.ScriptEngineManager.<init>(Unknown Source)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:305)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:155)
        at cliloader.LoaderCLIMain.main(LoaderCLIMain.java:580)
java.io.FileNotFoundException: /usr/local/lib/CommandBox/engine/cfml/cli/lucee-server/context/logs/out.log (Read-only file system)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(Unknown Source)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at lucee.commons.io.res.type.file.FileResource.getOutputStream(FileResource.java:252)
        at lucee.commons.io.IOUtil.getWriter(IOUtil.java:1260)
        at lucee.commons.io.IOUtil.write(IOUtil.java:968)
        at lucee.commons.io.log.LogUtil.logGlobal(LogUtil.java:128)
        at lucee.commons.io.log.LogUtil.log(LogUtil.java:110)
        at lucee.commons.io.log.LogUtil.log(LogUtil.java:76)
        at lucee.runtime.engine.CFMLEngineImpl.<init>(CFMLEngineImpl.java:397)
        at lucee.runtime.engine.CFMLEngineImpl.getInstance(CFMLEngineImpl.java:724)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at lucee.loader.engine.CFMLEngineFactory.getEngine(CFMLEngineFactory.java:1460)
        at lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:371)
        at lucee.loader.engine.CFMLEngineFactory.initEngineIfNecessary(CFMLEngineFactory.java:267)
        at lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:169)
        at lucee.runtime.script.BaseScriptEngineFactory.<init>(BaseScriptEngineFactory.java:59)
        at lucee.runtime.script.LuceeScriptEngineFactory.<init>(LuceeScriptEngineFactory.java:27)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.lang.Class.newInstance(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.nextService(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
        at java.util.ServiceLoader$1.next(Unknown Source)
        at javax.script.ScriptEngineManager.initEngines(Unknown Source)
        at javax.script.ScriptEngineManager.init(Unknown Source)
        at javax.script.ScriptEngineManager.<init>(Unknown Source)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:305)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:155)
        at cliloader.LoaderCLIMain.main(LoaderCLIMain.java:580)
java.io.FileNotFoundException: /usr/local/lib/CommandBox/engine/cfml/cli/lucee-server/context/logs/out.log (Read-only file system)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(Unknown Source)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at lucee.commons.io.res.type.file.FileResource.getOutputStream(FileResource.java:252)
        at lucee.commons.io.IOUtil.getWriter(IOUtil.java:1260)
        at lucee.commons.io.IOUtil.write(IOUtil.java:968)
        at lucee.commons.io.log.LogUtil.logGlobal(LogUtil.java:128)
        at lucee.commons.io.log.LogUtil.log(LogUtil.java:110)
        at lucee.commons.io.log.LogUtil.log(LogUtil.java:76)
        at lucee.runtime.engine.CFMLEngineImpl.<init>(CFMLEngineImpl.java:415)
        at lucee.runtime.engine.CFMLEngineImpl.getInstance(CFMLEngineImpl.java:724)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at lucee.loader.engine.CFMLEngineFactory.getEngine(CFMLEngineFactory.java:1460)
        at lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:371)
        at lucee.loader.engine.CFMLEngineFactory.initEngineIfNecessary(CFMLEngineFactory.java:267)
        at lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:169)
        at lucee.runtime.script.BaseScriptEngineFactory.<init>(BaseScriptEngineFactory.java:59)
        at lucee.runtime.script.LuceeScriptEngineFactory.<init>(LuceeScriptEngineFactory.java:27)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.lang.Class.newInstance(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.nextService(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
        at java.util.ServiceLoader$1.next(Unknown Source)
        at javax.script.ScriptEngineManager.initEngines(Unknown Source)
        at javax.script.ScriptEngineManager.init(Unknown Source)
        at javax.script.ScriptEngineManager.<init>(Unknown Source)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:305)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:155)
        at cliloader.LoaderCLIMain.main(LoaderCLIMain.java:580)
java.io.FileNotFoundException: /usr/local/lib/CommandBox/engine/cfml/cli/lucee-server/context/logs/out (Read-only file system)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(Unknown Source)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at java.io.PrintWriter.<init>(Unknown Source)
        at lucee.runtime.config.XMLConfigServerFactory.newInstance(XMLConfigServerFactory.java:83)
        at lucee.runtime.engine.CFMLEngineImpl.getConfigServerImpl(CFMLEngineImpl.java:876)
        at lucee.runtime.engine.CFMLEngineImpl.getUpdateType(CFMLEngineImpl.java:1227)
        at lucee.loader.engine.CFMLEngineWrapper.getUpdateType(CFMLEngineWrapper.java:122)
        at lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:388)
        at lucee.loader.engine.CFMLEngineFactory.initEngineIfNecessary(CFMLEngineFactory.java:267)
        at lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:169)
        at lucee.runtime.script.BaseScriptEngineFactory.<init>(BaseScriptEngineFactory.java:59)
        at lucee.runtime.script.LuceeScriptEngineFactory.<init>(LuceeScriptEngineFactory.java:27)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.lang.Class.newInstance(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.nextService(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
        at java.util.ServiceLoader$1.next(Unknown Source)
        at javax.script.ScriptEngineManager.initEngines(Unknown Source)
        at javax.script.ScriptEngineManager.init(Unknown Source)
        at javax.script.ScriptEngineManager.<init>(Unknown Source)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:305)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:155)
        at cliloader.LoaderCLIMain.main(LoaderCLIMain.java:580)
java.io.IOException: Read-only file system
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.createNewFile(Unknown Source)
        at lucee.commons.io.res.type.file.FileResource.getOutputStream(FileResource.java:249)
        at lucee.commons.io.IOUtil.getWriter(IOUtil.java:1260)
        at lucee.commons.io.IOUtil.write(IOUtil.java:968)
        at lucee.commons.io.log.LogUtil.logGlobal(LogUtil.java:128)
        at lucee.commons.io.log.LogUtil.log(LogUtil.java:98)
        at lucee.commons.io.log.LogUtil.log(LogUtil.java:84)
        at lucee.commons.io.log.LogUtil.log(LogUtil.java:80)
        at lucee.runtime.engine.CFMLEngineImpl.getConfigServerImpl(CFMLEngineImpl.java:880)
        at lucee.runtime.engine.CFMLEngineImpl.getUpdateType(CFMLEngineImpl.java:1227)
        at lucee.loader.engine.CFMLEngineWrapper.getUpdateType(CFMLEngineWrapper.java:122)
        at lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:388)
        at lucee.loader.engine.CFMLEngineFactory.initEngineIfNecessary(CFMLEngineFactory.java:267)
        at lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:169)
        at lucee.runtime.script.BaseScriptEngineFactory.<init>(BaseScriptEngineFactory.java:59)
        at lucee.runtime.script.LuceeScriptEngineFactory.<init>(LuceeScriptEngineFactory.java:27)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.lang.Class.newInstance(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.nextService(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
        at java.util.ServiceLoader$1.next(Unknown Source)
        at javax.script.ScriptEngineManager.initEngines(Unknown Source)
        at javax.script.ScriptEngineManager.init(Unknown Source)
        at javax.script.ScriptEngineManager.<init>(Unknown Source)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:305)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:155)
        at cliloader.LoaderCLIMain.main(LoaderCLIMain.java:580)
java.lang.NullPointerException
        at lucee.runtime.engine.CFMLEngineImpl.getUpdateType(CFMLEngineImpl.java:1227)
        at lucee.loader.engine.CFMLEngineWrapper.getUpdateType(CFMLEngineWrapper.java:122)
        at lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:388)
        at lucee.loader.engine.CFMLEngineFactory.initEngineIfNecessary(CFMLEngineFactory.java:267)
        at lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:169)
        at lucee.runtime.script.BaseScriptEngineFactory.<init>(BaseScriptEngineFactory.java:59)
        at lucee.runtime.script.LuceeScriptEngineFactory.<init>(LuceeScriptEngineFactory.java:27)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.lang.Class.newInstance(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.nextService(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
        at java.util.ServiceLoader$1.next(Unknown Source)
        at javax.script.ScriptEngineManager.initEngines(Unknown Source)
        at javax.script.ScriptEngineManager.init(Unknown Source)
        at javax.script.ScriptEngineManager.<init>(Unknown Source)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:305)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:155)
        at cliloader.LoaderCLIMain.main(LoaderCLIMain.java:580)
ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider lucee.runtime.script.LuceeScriptEngineFactory could not be instantiated
java.lang.NullPointerException
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:330)
        at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:155)
        at cliloader.LoaderCLIMain.main(LoaderCLIMain.java:580)

This is due to the Docker image

To verify this, run ./bin/run-in-docker.sh example-success $PWD/tests/example-success/ $PWD/tests/example-success/ from the root.