7046929: tools/javac/api/T6397104.java fails
authorjjh
Tue, 03 Jan 2012 17:18:10 -0800
changeset 11384 6e1d14a4ff86
parent 11383 ae090403accf
child 11385 1bf3713cb840
child 11549 cc901a28adc3
7046929: tools/javac/api/T6397104.java fails Reviewed-by: jjg
langtools/test/tools/javac/api/T6397104.java
--- a/langtools/test/tools/javac/api/T6397104.java	Tue Jan 03 11:37:00 2012 -0800
+++ b/langtools/test/tools/javac/api/T6397104.java	Tue Jan 03 17:18:10 2012 -0800
@@ -26,10 +26,10 @@
  * @bug     6397104
  * @summary JSR 199: JavaFileManager.getFileForOutput should have sibling argument
  * @author  Peter von der Ah\u00e9
- * @ignore  this test should be rewritten when fixing 6473901
  */
 
 import java.io.File;
+import java.net.URI;
 import java.util.Arrays;
 import javax.tools.*;
 import javax.tools.JavaFileManager.Location;
@@ -52,10 +52,14 @@
             : fm.getJavaFileObjectsFromFiles(Arrays.asList(siblingFile)).iterator().next();
         FileObject fileObject =
             fm.getFileForOutput(location, "java.lang", relName, sibling);
-        if (!fileObject.toUri().getPath().equals(expectedPath))
-            throw new AssertionError("Expected " + expectedPath +
-                                     ", got " + fileObject.toUri().getPath());
-        System.out.format("OK: (%s, %s) => %s%n", siblingFile, relName, fileObject.toUri());
+
+        File expectedFile = new File(expectedPath).getCanonicalFile();
+        File fileObjectFile = new File(fileObject.toUri()).getCanonicalFile();
+
+        if (!fileObjectFile.equals(expectedFile))
+            throw new AssertionError("Expected " + expectedFile +
+                                     ", got " + fileObjectFile);
+        System.out.format("OK: (%s, %s) => %s%n", siblingFile, relName, fileObjectFile);
     }
 
     void test(boolean hasLocation, File siblingFile, String relName, String expectedPath)