[ https://issues.apache.org/jira/browse/TINKERPOP-1041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15065591#comment-15065591 ]
Martin Häusler commented on TINKERPOP-1041: ------------------------------------------- Hello again, I just wanted to add another piece of information. Since I've upgraded to the latest 3.1.1-SNAPSHOT version of the gremlin test suite, the exception in the ticket description has changed. It is no longer an IOException, but the following: {code} java.lang.NullPointerException at org.apache.tinkerpop.gremlin.TestHelper.computePath(TestHelper.java:106) at org.apache.tinkerpop.gremlin.TestHelper.getRootOfBuildDirectory(TestHelper.java:98) at org.apache.tinkerpop.gremlin.TestHelper.makeTestDataPath(TestHelper.java:63) at org.apache.tinkerpop.gremlin.TestHelper.generateTempFile(TestHelper.java:115) at org.apache.tinkerpop.gremlin.structure.io.IoGraphTest.shouldReadWriteModernToFileWithHelpers(IoGraphTest.java:164) {code} The error occurs in the {{computePath}} method: {code} private static String computePath(final Class clazz) { final String clsUri = clazz.getName().replace('.', SEP.charAt(0)) + ".class"; final URL url = clazz.getClassLoader().getResource(clsUri); final String clsPath = url.getPath(); return clsPath.substring(0, clsPath.length() - clsUri.length()); } {code} In the case for the {{IoGraphTest}}, the variables take the following values: {code} clazz = org.apache.tinkerpop.gremlin.structure.io.IoGraphTest clsUri = "org\apache\tinkerpop\gremlin\structure\io\IoGraphTest.class" url = NULL {code} I am not entirely sure what the {{clazz.getClassLoader().getResource(clsUri)}} expects to produce as a result when passing this strange kind-of-class-name notation. General question: why do all of these calculations and not simply use {{System.getProperty("java.io.tmpdir")}} for temporary file storage in JUnit-Tests? > StructureStandardTestSuite has file I/O issues on Windows > --------------------------------------------------------- > > Key: TINKERPOP-1041 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1041 > Project: TinkerPop > Issue Type: Bug > Components: test-suite > Affects Versions: 3.0.2-incubating > Environment: Windows 10, Java 8, TinkerPop version "3.0.2-incubating" > Reporter: Martin Häusler > Fix For: 3.1.1-incubating > > Original Estimate: 3h > Remaining Estimate: 3h > > Most of the tests in StructureStandardTestSuite/IoGraphTest cause an > unexpected java.io.IOException. The stack trace looks like this: > {panel:title=Stack Trace} > java.io.IOException: The the file name, directory name or volume label syntax > is incorrect. > at java.io.WinNTFileSystem.createFileExclusively(Native Method) > at java.io.File.createTempFile(Unknown Source) > at > org.apache.tinkerpop.gremlin.TestHelper.generateTempFile(TestHelper.java:74) > at > org.apache.tinkerpop.gremlin.structure.io.IoGraphTest.shouldReadWriteModernToFileWithHelpers(IoGraphTest.java:164) > 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) > {panel} > I'm running the test suite from Eclipse under Java 8, on a Windows 10 x64 > machine. The dependencies in my project are managed with gradle. > Investigating the offinsive line > (org.apache.tinkerpop.gremlin.TestHelper.java@74) in the debugger reveals the > following parameters of "File.createTempFile(...)": > {noformat} > fileName = "shouldReadWriteModernToFileWithHelpers[graphml]" > fileNameSuffix = ".xml" > path = > "file:\D:\guh\caches\modules-2\files-2.1\org.apache.tinkerpop\gremlin-test\3.0.2-incubating\345ec87b74923b76374111f2e4040d4d105f256\temp" > {noformat} > The offensive part is the "path" variable, because it contains the prefix > "file:\". I tried the same thing in a dedicated JUnit test without the prefix > and it works fine. > I would be very happy to see this issue fixed, as this considerably reduces > the amount of tests in the suite that I can run against my graph > implementation. -- This message was sent by Atlassian JIRA (v6.3.4#6332)