codyze icon indicating copy to clipboard operation
codyze copied to clipboard

Mark tests do not handle spaces in filepath

Open CodingDepot opened this issue 3 years ago • 0 comments

Tests using AbstractMarkTest.performTest() (e. g. BotanRulesTest) throw a RuntimeException if the path to the mark files contains a whitespace (tested on Windows).

. . . 13:54:01,709 INFO AnalysisServer Parsing MARK files in D:\Fraunhofer_AISEC\test%20copy\build\resources\test\mark\botan 13:54:01,710 WARN AnalysisServer Cannot read MARK file(s) D:\Fraunhofer_AISEC\test%20copy\build\resources\test\mark\botan 13:54:01,710 INFO AnalysisServer Loading MARK from file D:\Fraunhofer_AISEC\test%20copy\build\resources\test\mark\botan

Cannot create a resource for 'file:/D:/Fraunhofer_AISEC/test%2520copy/build/resources/test/mark/botan'; a registered resource factory is needed java.lang.RuntimeException: Cannot create a resource for 'file:/D:/Fraunhofer_AISEC/test%2520copy/build/resources/test/mark/botan'; a registered resource factory is needed at org.eclipse.xtext.resource.XtextResourceSet.getResource(XtextResourceSet.java:262) at org.eclipse.xtext.resource.SynchronizedXtextResourceSet.getResource(SynchronizedXtextResourceSet.java:25) at de.fraunhofer.aisec.mark.XtextParser.addMarkFile(XtextParser.java:75) at de.fraunhofer.aisec.codyze.analysis.AnalysisServer.loadMarkRules(AnalysisServer.java:292) at de.fraunhofer.aisec.codyze.analysis.AnalysisServer.loadMarkRulesFromConfig(AnalysisServer.java:230) at de.fraunhofer.aisec.codyze.analysis.AnalysisServer.start(AnalysisServer.java:127) at de.fraunhofer.aisec.codyze.crymlin.AbstractMarkTest.performTest(AbstractMarkTest.kt:93) at de.fraunhofer.aisec.codyze.crymlin.AbstractMarkTest.performTest(AbstractMarkTest.kt:32) at de.fraunhofer.aisec.codyze.crymlin.BotanRulesTest.test_rule_2_01(BotanRulesTest.kt:11) <31 internal lines> at java.base/java.util.ArrayList.forEach(ArrayList.java:1510) <9 internal lines> at java.base/java.util.ArrayList.forEach(ArrayList.java:1510) <39 internal lines> at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)

Removing whitespaces from the project path obviously is a workaround for this issue.

CodingDepot avatar Dec 16 '21 13:12 CodingDepot