6962419: TEST_BUG: java_io tests fails in samevm mode
Reviewed-by: ohair, sherman
diff --git a/test/java/io/File/DeleteOnExit.java b/test/java/io/File/DeleteOnExit.java
index 74100ee..b332bf9 100644
--- a/test/java/io/File/DeleteOnExit.java
+++ b/test/java/io/File/DeleteOnExit.java
@@ -48,7 +48,9 @@
public static void main (String args[]) throws Exception{
if (args.length == 0) {
- Runtime.getRuntime().exec(java + " DeleteOnExit -test").waitFor();
+ String cmd = java + " -classpath " + System.getProperty("test.classes")
+ + " DeleteOnExit -test";
+ Runtime.getRuntime().exec(cmd).waitFor();
if (file1.exists() || file2.exists() || file3.exists() ||
dir.exists() || file4.exists() || file5.exists() ||
file6.exists() || file7.exists()) {
diff --git a/test/java/io/File/DeleteOnExitNPE.java b/test/java/io/File/DeleteOnExitNPE.java
index dff7915..50a29c3 100644
--- a/test/java/io/File/DeleteOnExitNPE.java
+++ b/test/java/io/File/DeleteOnExitNPE.java
@@ -45,7 +45,8 @@
public static void runTest() throws Exception {
String cmd = System.getProperty("java.home") + File.separator +
- "bin" + File.separator + "java";
+ "bin" + File.separator + "java" +
+ " -classpath " + System.getProperty("test.classes");
Process process = Runtime.getRuntime().exec(cmd + " DeleteOnExitNPE -test");
BufferedReader isReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
BufferedReader esReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
diff --git a/test/java/io/File/IsHidden.java b/test/java/io/File/IsHidden.java
index a0198d1..e34fcc3 100644
--- a/test/java/io/File/IsHidden.java
+++ b/test/java/io/File/IsHidden.java
@@ -27,7 +27,7 @@
*/
import java.io.*;
-
+import java.nio.file.attribute.DosFileAttributeView;
public class IsHidden {
@@ -41,15 +41,20 @@
System.err.println(path + " ==> " + x);
}
+ private static void setHidden(File f, boolean value) throws IOException {
+ f.toPath().getFileAttributeView(DosFileAttributeView.class).setHidden(value);
+ }
+
private static void testWin32() throws Exception {
File f = new File(dir, "test");
f.deleteOnExit();
f.createNewFile();
- String name = f.getCanonicalPath();
- Process p = Runtime.getRuntime().exec("cmd.exe /c attrib +H " + name);
- p.waitFor();
- ck(name, true);
-
+ setHidden(f, true);
+ try {
+ ck(f.getPath(), true);
+ } finally {
+ setHidden(f, false);
+ }
ck(".foo", false);
ck("foo", false);
}