Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.0.2-incubating
-
None
-
Windows 10, Java 8, TinkerPop version "3.0.2-incubating"
Description
Most of the tests in StructureStandardTestSuite/IoGraphTest cause an unexpected java.io.IOException. The stack trace looks like this:
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)
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(...)":
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"
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.