You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by to...@apache.org on 2008/01/31 11:04:22 UTC

svn commit: r617085 [5/14] - in /harmony/enhanced/classlib/branches/java6: depends/build/ depends/build/platform/ depends/libs/ depends/oss/ make/ make/linux.x86_64.libstdc++6/ make/windows.x86/ make/windows.x86_64/ modules/archive/META-INF/ modules/ar...

Modified: harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/FileTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/FileTest.java?rev=617085&r1=617084&r2=617085&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/FileTest.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/FileTest.java Thu Jan 31 02:04:05 2008
@@ -1,2289 +1,2284 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-
-package org.apache.harmony.luni.tests.java.io;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.ObjectStreamClass;
-import java.io.ObjectStreamField;
-import java.io.RandomAccessFile;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.harmony.testframework.serialization.SerializationTest;
-
-import tests.support.Support_Exec;
-import tests.support.Support_PlatformFile;
-
-public class FileTest extends TestCase {
-
-    /** Location to store tests in */
-    private File tempDirectory;
-
-    /** Temp file that does exist */
-    private File tempFile;
-
-    /** File separator */
-    private String slash = File.separator;
-
-    public String fileString = "Test_All_Tests\nTest_java_io_BufferedInputStream\nTest_java_io_BufferedOutputStream\nTest_java_io_ByteArrayInputStream\nTest_java_io_ByteArrayOutputStream\nTest_java_io_DataInputStream\nTest_File\nTest_FileDescriptor\nTest_FileInputStream\nTest_FileNotFoundException\nTest_FileOutputStream\nTest_java_io_FilterInputStream\nTest_java_io_FilterOutputStream\nTest_java_io_InputStream\nTest_java_io_IOException\nTest_java_io_OutputStream\nTest_java_io_PrintStream\nTest_java_io_RandomAccessFile\nTest_java_io_SyncFailedException\nTest_java_lang_AbstractMethodError\nTest_java_lang_ArithmeticException\nTest_java_lang_ArrayIndexOutOfBoundsException\nTest_java_lang_ArrayStoreException\nTest_java_lang_Boolean\nTest_java_lang_Byte\nTest_java_lang_Character\nTest_java_lang_Class\nTest_java_lang_ClassCastException\nTest_java_lang_ClassCircularityError\nTest_java_lang_ClassFormatError\nTest_java_lang_ClassLoader\nTest_java_lang_ClassNotFoundException\nTest_java_
 lang_CloneNotSupportedException\nTest_java_lang_Double\nTest_java_lang_Error\nTest_java_lang_Exception\nTest_java_lang_ExceptionInInitializerError\nTest_java_lang_Float\nTest_java_lang_IllegalAccessError\nTest_java_lang_IllegalAccessException\nTest_java_lang_IllegalArgumentException\nTest_java_lang_IllegalMonitorStateException\nTest_java_lang_IllegalThreadStateException\nTest_java_lang_IncompatibleClassChangeError\nTest_java_lang_IndexOutOfBoundsException\nTest_java_lang_InstantiationError\nTest_java_lang_InstantiationException\nTest_java_lang_Integer\nTest_java_lang_InternalError\nTest_java_lang_InterruptedException\nTest_java_lang_LinkageError\nTest_java_lang_Long\nTest_java_lang_Math\nTest_java_lang_NegativeArraySizeException\nTest_java_lang_NoClassDefFoundError\nTest_java_lang_NoSuchFieldError\nTest_java_lang_NoSuchMethodError\nTest_java_lang_NullPointerException\nTest_java_lang_Number\nTest_java_lang_NumberFormatException\nTest_java_lang_Object\nTest_java_lang_OutOfMemo
 ryError\nTest_java_lang_RuntimeException\nTest_java_lang_SecurityManager\nTest_java_lang_Short\nTest_java_lang_StackOverflowError\nTest_java_lang_String\nTest_java_lang_StringBuffer\nTest_java_lang_StringIndexOutOfBoundsException\nTest_java_lang_System\nTest_java_lang_Thread\nTest_java_lang_ThreadDeath\nTest_java_lang_ThreadGroup\nTest_java_lang_Throwable\nTest_java_lang_UnknownError\nTest_java_lang_UnsatisfiedLinkError\nTest_java_lang_VerifyError\nTest_java_lang_VirtualMachineError\nTest_java_lang_vm_Image\nTest_java_lang_vm_MemorySegment\nTest_java_lang_vm_ROMStoreException\nTest_java_lang_vm_VM\nTest_java_lang_Void\nTest_java_net_BindException\nTest_java_net_ConnectException\nTest_java_net_DatagramPacket\nTest_java_net_DatagramSocket\nTest_java_net_DatagramSocketImpl\nTest_java_net_InetAddress\nTest_java_net_NoRouteToHostException\nTest_java_net_PlainDatagramSocketImpl\nTest_java_net_PlainSocketImpl\nTest_java_net_Socket\nTest_java_net_SocketException\nTest_java_net_Socke
 tImpl\nTest_java_net_SocketInputStream\nTest_java_net_SocketOutputStream\nTest_java_net_UnknownHostException\nTest_java_util_ArrayEnumerator\nTest_java_util_Date\nTest_java_util_EventObject\nTest_java_util_HashEnumerator\nTest_java_util_Hashtable\nTest_java_util_Properties\nTest_java_util_ResourceBundle\nTest_java_util_tm\nTest_java_util_Vector\n";
-
-    private static String platformId = "JDK"
-            + System.getProperty("java.vm.version").replace('.', '-');
-
-    {
-        // Delete all old temporary files
-        File tempDir = new File(System.getProperty("java.io.tmpdir"));
-        String[] files = tempDir.list();
-        for (int i = 0; i < files.length; i++) {
-            File f = new File(tempDir, files[i]);
-            if (f.isDirectory()) {
-                if (files[i].startsWith("hyts_resources")) {
-                    deleteTempFolder(f);
-                }
-            }
-            if (files[i].startsWith("hyts_") || files[i].startsWith("hyjar_")) {
-                new File(tempDir, files[i]).delete();
-            }
-        }
-    }
-
-    private void deleteTempFolder(File dir) {
-        String files[] = dir.list();
-        for (int i = 0; i < files.length; i++) {
-            File f = new File(dir, files[i]);
-            if (f.isDirectory()) {
-                deleteTempFolder(f);
-            } else {
-                f.delete();
-            }
-        }
-        dir.delete();
-    }
-
-    /**
-     * @tests java.io.File#File(java.io.File, java.lang.String)
-     */
-    public void test_ConstructorLjava_io_FileLjava_lang_String() {
-        String dirName = System.getProperty("user.dir");
-        File d = new File(dirName);
-        File f = new File(d, "input.tst");
-        if (!dirName.regionMatches((dirName.length() - 1), slash, 0, 1)) {
-            dirName += slash;
-        }
-        dirName += "input.tst";
-        assertTrue("Test 1: Created Incorrect File " + f.getPath(), f.getPath()
-                .equals(dirName));
-
-        String fileName = null;
-        try {
-            f = new File(d, fileName);
-            fail("NullPointerException Not Thrown.");
-        } catch (NullPointerException e) {
-        }
-
-        d = null;
-        f = new File(d, "input.tst");
-        assertTrue("Test 2: Created Incorrect File " + f.getPath(), f
-                .getAbsolutePath().equals(dirName));
-
-        // Regression test for HARMONY-382
-        File s = null;
-        f = new File("/abc");
-        d = new File(s, "/abc");
-        assertEquals("Test3: Created Incorrect File " + d.getAbsolutePath(), f
-                .getAbsolutePath(), d.getAbsolutePath());
-
-        // Regression test for HARMONY-21
-        File path = new File("/dir/file");
-        File root = new File("/");
-        File file = new File(root, "/dir/file");
-        assertEquals("Assert 1: wrong path result ", path.getPath(), file
-                .getPath());
-        assertTrue("Assert 1.1: path not absolute ", new File("\\\\\\a\b")
-                .isAbsolute());
-
-        // Test data used in a few places below
-        dirName = System.getProperty("user.dir");
-        fileName = "input.tst";
-
-        // Check filename is preserved correctly
-        d = new File(dirName);
-        f = new File(d, fileName);
-        if (!dirName
-                .regionMatches((dirName.length() - 1), File.separator, 0, 1)) {
-            dirName += File.separator;
-        }
-        dirName += fileName;
-        assertTrue("Assert 2: Created incorrect file " + f.getPath(), f
-                .getPath().equals(dirName));
-
-        // Check null argument is handled
-        try {
-            f = new File(d, null);
-            fail("Assert 3: NullPointerException not thrown.");
-        } catch (NullPointerException e) {
-            // Expected.
-        }
-
-        f = new File((File) null, fileName);
-        assertTrue("Assert 4: Created incorrect file " + f.getPath(), f
-                .getAbsolutePath().equals(dirName));
-
-        // Regression for HARMONY-46
-        File f1 = new File("a");
-        File f2 = new File("a/");
-        assertEquals("Assert 5: Trailing slash file name is incorrect", f1, f2);
-    }
-
-    /**
-     * @tests java.io.File#File(java.lang.String)
-     */
-    public void test_ConstructorLjava_lang_String() {
-        String fileName = null;
-        try {
-            new File(fileName);
-            fail("NullPointerException Not Thrown.");
-        } catch (NullPointerException e) {
-            // Expected
-        }
-
-        fileName = System.getProperty("user.dir");
-        if (!fileName.regionMatches((fileName.length() - 1), slash, 0, 1)) {
-            fileName += slash;
-        }
-        fileName += "input.tst";
-
-        File f = new File(fileName);
-        assertTrue("Created incorrect File " + f.getPath(), f.getPath().equals(
-                fileName));
-    }
-
-    /**
-     * @tests java.io.File#File(java.lang.String, java.lang.String)
-     */
-    public void test_ConstructorLjava_lang_StringLjava_lang_String() {
-        String dirName = null;
-        String fileName = "input.tst";
-        File f = new File(dirName, fileName);
-        String userDir = System.getProperty("user.dir");
-        if (!userDir.regionMatches((userDir.length() - 1), slash, 0, 1)) {
-            userDir += slash;
-        }
-        userDir += "input.tst";
-        assertTrue("Test 1: Created Incorrect File.", f.getAbsolutePath()
-                .equals(userDir));
-
-        dirName = System.getProperty("user.dir");
-        fileName = null;
-        try {
-            f = new File(dirName, fileName);
-            fail("NullPointerException Not Thrown.");
-        } catch (NullPointerException e) {
-            // Expected
-        }
-
-        fileName = "input.tst";
-        f = new File(dirName, fileName);
-        assertTrue("Test 2: Created Incorrect File", f.getPath()
-                .equals(userDir));
-
-        // Regression test for HARMONY-382
-        String s = null;
-        f = new File("/abc");
-        File d = new File(s, "/abc");
-        assertEquals("Test3: Created Incorrect File", d.getAbsolutePath(), f
-                .getAbsolutePath());
-    }
-
-    /**
-     * @tests java.io.File#File(java.lang.String, java.lang.String)
-     */
-    public void test_Constructor_String_String_112270() {
-        File ref1 = new File("/dir1/file1");
-
-        File file1 = new File("/", "/dir1/file1");
-        assertEquals("wrong result 1: " + file1, ref1.getPath(), file1
-                .getPath());
-        File file2 = new File("/", "//dir1/file1");
-        assertTrue("wrong result 2: " + file2, file2.getPath().equals(
-                ref1.getPath()));
-        File file3 = new File("\\", "\\dir1\\file1");
-        assertTrue("wrong result 3: " + file3, file3.getPath().equals(
-                ref1.getPath()));
-        File file4 = new File("\\", "\\\\dir1\\file1");
-        assertTrue("wrong result 4: " + file4, file4.getPath().equals(
-                ref1.getPath()));
-
-        File ref2 = new File("/lib/content-types.properties");
-        File file5 = new File("/", "lib/content-types.properties");
-        assertTrue("wrong result 5: " + file5, file5.getPath().equals(
-                ref2.getPath()));
-
-    }
-
-    /**
-     * @tests java.io.File#File(java.io.File, java.lang.String)
-     */
-    public void test_Constructor_File_String_112270() {
-        File ref1 = new File("/dir1/file1");
-
-        File root = new File("/");
-        File file1 = new File(root, "/dir1/file1");
-        assertTrue("wrong result 1: " + file1, file1.getPath().equals(
-                ref1.getPath()));
-        File file2 = new File(root, "//dir1/file1");
-        assertTrue("wrong result 2: " + file2, file2.getPath().equals(
-                ref1.getPath()));
-        File file3 = new File(root, "\\dir1\\file1");
-        assertTrue("wrong result 3: " + file3, file3.getPath().equals(
-                ref1.getPath()));
-        File file4 = new File(root, "\\\\dir1\\file1");
-        assertTrue("wrong result 4: " + file4, file4.getPath().equals(
-                ref1.getPath()));
-
-        File ref2 = new File("/lib/content-types.properties");
-        File file5 = new File(root, "lib/content-types.properties");
-        assertTrue("wrong result 5: " + file5, file5.getPath().equals(
-                ref2.getPath()));
-    }
-
-    /**
-     * @tests java.io.File#File(java.net.URI)
-     */
-    public void test_ConstructorLjava_net_URI() throws URISyntaxException {
-        URI uri = null;
-        try {
-            new File(uri);
-            fail("NullPointerException Not Thrown.");
-        } catch (NullPointerException e) {
-            // Expected
-        }
-
-        // invalid file URIs
-        String[] uris = new String[] { "mailto:user@domain.com", // not
-                // hierarchical
-                "ftp:///path", // not file scheme
-                "//host/path/", // not absolute
-                "file://host/path", // non empty authority
-                "file:///path?query", // non empty query
-                "file:///path#fragment", // non empty fragment
-                "file:///path?", "file:///path#" };
-
-        for (int i = 0; i < uris.length; i++) {
-            uri = new URI(uris[i]);
-            try {
-                new File(uri);
-                fail("Expected IllegalArgumentException for new File(" + uri
-                        + ")");
-            } catch (IllegalArgumentException e) {
-                // Expected
-            }
-        }
-
-        // a valid File URI
-        File f = new File(new URI("file:///pa%20th/another\u20ac/pa%25th"));
-        assertTrue("Created incorrect File " + f.getPath(), f.getPath().equals(
-                slash + "pa th" + slash + "another\u20ac" + slash + "pa%th"));
-    }
-
-    /**
-     * @tests java.io.File#canRead()
-     */
-    public void test_canRead() throws IOException {
-        // canRead only returns if the file exists so cannot be fully tested.
-        File f = new File(System.getProperty("java.io.tmpdir"), platformId
-                + "canRead.tst");
-        try {
-            FileOutputStream fos = new FileOutputStream(f);
-            fos.close();
-            assertTrue("canRead returned false", f.canRead());
-            f.delete();
-        } finally {
-            f.delete();
-        }
-    }
-
-    /**
-     * @tests java.io.File#canWrite()
-     */
-    public void test_canWrite() throws IOException {
-        // canWrite only returns if the file exists so cannot be fully tested.
-        File f = new File(System.getProperty("java.io.tmpdir"), platformId
-                + "canWrite.tst");
-        try {
-            FileOutputStream fos = new FileOutputStream(f);
-            fos.close();
-            assertTrue("canWrite returned false", f.canWrite());
-        } finally {
-            f.delete();
-        }
-    }
-
-    /**
-     * @tests java.io.File#compareTo(java.io.File)
-     */
-    public void test_compareToLjava_io_File() {
-        File f1 = new File("thisFile.file");
-        File f2 = new File("thisFile.file");
-        File f3 = new File("thatFile.file");
-        assertEquals("Equal files did not answer zero for compareTo", 0, f1
-                .compareTo(f2));
-        assertTrue("f3.compareTo(f1) did not result in value < 0", f3
-                .compareTo(f1) < 0);
-        assertTrue("f1.compareTo(f3) did not result in vale > 0", f1
-                .compareTo(f3) > 0);
-    }
-
-    /**
-     * @tests java.io.File#createNewFile()
-     */
-    public void test_createNewFile_EmptyString() {
-        File f = new File("");
-        try {
-            f.createNewFile();
-            fail("should throw IOException");
-        } catch (IOException e) {
-            // expected
-        }
-    }
-
-    /**
-     * @tests java.io.File#createNewFile()
-     */
-    public void test_createNewFile() throws IOException {
-        String base = System.getProperty("java.io.tmpdir");
-        boolean dirExists = true;
-        int numDir = 1;
-        File dir = new File(base, String.valueOf(numDir));
-        // Making sure that the directory does not exist.
-        while (dirExists) {
-            // If the directory exists, add one to the directory number
-            // (making it a new directory name.)
-            if (dir.exists()) {
-                numDir++;
-                dir = new File(base, String.valueOf(numDir));
-            } else {
-                dirExists = false;
-            }
-        }
-
-        // Test for trying to create a file in a directory that does not
-        // exist.
-        try {
-            // Try to create a file in a directory that does not exist
-            File f1 = new File(dir, "tempfile.tst");
-            f1.createNewFile();
-            fail("IOException not thrown");
-        } catch (IOException e) {
-            // Expected
-        }
-
-        dir.mkdir();
-
-        File f1 = new File(dir, "tempfile.tst");
-        File f2 = new File(dir, "tempfile.tst");
-        f1.deleteOnExit();
-        f2.deleteOnExit();
-        dir.deleteOnExit();
-        assertFalse("File Should Not Exist", f1.isFile());
-        f1.createNewFile();
-        assertTrue("File Should Exist.", f1.isFile());
-        assertTrue("File Should Exist.", f2.isFile());
-        String dirName = f1.getParent();
-        if (!dirName.endsWith(slash)) {
-            dirName += slash;
-        }
-        assertTrue("File Saved To Wrong Directory.", dirName.equals(dir
-                .getPath()
-                + slash));
-        assertEquals("File Saved With Incorrect Name.", "tempfile.tst", f1
-                .getName());
-
-        // Test for creating a file that already exists.
-        assertFalse("File Already Exists, createNewFile Should Return False.",
-                f2.createNewFile());
-
-        // Test create an illegal file
-        String sep = File.separator;
-        f1 = new File(sep + "..");
-        try {
-            f1.createNewFile();
-            fail("should throw IOE");
-        } catch (IOException e) {
-            // expected;
-        }
-        f1 = new File(sep + "a" + sep + ".." + sep + ".." + sep);
-        try {
-            f1.createNewFile();
-            fail("should throw IOE");
-        } catch (IOException e) {
-            // expected;
-        }
-
-        // This test is invalid. createNewFile should return false
-        // not IOE when the file exists (in this case it exists and is
-        // a directory). TODO: We should probably replace this test
-        // with some that cover this behaviour. It might even be
-        // different on unix and windows since it directly reflects
-        // the open syscall behaviour.
-        //
-        // // Test create an exist path
-        // f1 = new File(base);
-        // try {
-        // assertFalse(f1.createNewFile());
-        // fail("should throw IOE");
-        // } catch (IOException e) {
-        // // expected;
-        // }
-    }
-
-    /**
-     * @tests java.io.File#createTempFile(java.lang.String, java.lang.String)
-     */
-    public void test_createTempFileLjava_lang_StringLjava_lang_String()
-            throws IOException {
-        // Error protection against using a suffix without a "."?
-        File f1 = null;
-        File f2 = null;
-        try {
-            f1 = File.createTempFile("hyts_abc", ".tmp");
-            f2 = File.createTempFile("hyts_tf", null);
-            String fileLocation = f1.getParent();
-            if (!fileLocation.endsWith(slash)) {
-                fileLocation += slash;
-            }
-            String tempDir = System.getProperty("java.io.tmpdir");
-            if (!tempDir.endsWith(slash)) {
-                tempDir += slash;
-            }
-            assertTrue(
-                    "File did not save to the default temporary-file location.",
-                    fileLocation.equals(tempDir));
-
-            // Test to see if correct suffix was used to create the tempfile.
-            File currentFile;
-            String fileName;
-            // Testing two files, one with suffix ".tmp" and one with null
-            for (int i = 0; i < 2; i++) {
-                currentFile = i == 0 ? f1 : f2;
-                fileName = currentFile.getPath();
-                assertTrue("File Created With Incorrect Suffix.", fileName
-                        .endsWith(".tmp"));
-            }
-
-            // Tests to see if the correct prefix was used to create the
-            // tempfiles.
-            fileName = f1.getName();
-            assertTrue("Test 1: File Created With Incorrect Prefix.", fileName
-                    .startsWith("hyts_abc"));
-            fileName = f2.getName();
-            assertTrue("Test 2: File Created With Incorrect Prefix.", fileName
-                    .startsWith("hyts_tf"));
-
-            // Tests for creating a tempfile with a filename shorter than 3
-            // characters.
-            try {
-                File f3 = File.createTempFile("ab", ".tst");
-                f3.delete();
-                fail("IllegalArgumentException Not Thrown.");
-            } catch (IllegalArgumentException e) {
-                // Expected
-            }
-            try {
-                File f3 = File.createTempFile("a", ".tst");
-                f3.delete();
-                fail("IllegalArgumentException Not Thrown.");
-            } catch (IllegalArgumentException e) {
-                // Expected
-            }
-            try {
-                File f3 = File.createTempFile("", ".tst");
-                f3.delete();
-                fail("IllegalArgumentException Not Thrown.");
-            } catch (IllegalArgumentException e) {
-                // Expected
-            }
-        } finally {
-            if (f1 != null) {
-                f1.delete();
-            }
-            if (f2 != null) {
-                f2.delete();
-            }
-        }
-    }
-
-    /**
-     * @tests java.io.File#createTempFile(java.lang.String, java.lang.String,
-     *        java.io.File)
-     */
-    public void test_createTempFileLjava_lang_StringLjava_lang_StringLjava_io_File()
-            throws IOException {
-        File f1 = null;
-        File f2 = null;
-        String base = System.getProperty("java.io.tmpdir");
-        try {
-            // Test to make sure that the tempfile was saved in the correct
-            // location and with the correct prefix/suffix.
-            f1 = File.createTempFile("hyts_tf", null, null);
-            File dir = new File(base);
-            f2 = File.createTempFile("hyts_tf", ".tmp", dir);
-            File currentFile;
-            String fileLocation;
-            String fileName;
-            for (int i = 0; i < 2; i++) {
-                currentFile = i == 0 ? f1 : f2;
-                fileLocation = currentFile.getParent();
-                if (!fileLocation.endsWith(slash)) {
-                    fileLocation += slash;
-                }
-                if (!base.endsWith(slash)) {
-                    base += slash;
-                }
-                assertTrue(
-                        "File not created in the default temporary-file location.",
-                        fileLocation.equals(base));
-                fileName = currentFile.getName();
-                assertTrue("File created with incorrect suffix.", fileName
-                        .endsWith(".tmp"));
-                assertTrue("File created with incorrect prefix.", fileName
-                        .startsWith("hyts_tf"));
-                currentFile.delete();
-            }
-
-            // Test for creating a tempfile in a directory that does not exist.
-            int dirNumber = 1;
-            boolean dirExists = true;
-            // Set dir to a non-existent directory inside the temporary
-            // directory
-            dir = new File(base, String.valueOf(dirNumber));
-            // Making sure that the directory does not exist.
-            while (dirExists) {
-                // If the directory exists, add one to the directory number
-                // (making it
-                // a new directory name.)
-                if (dir.exists()) {
-                    dirNumber++;
-                    dir = new File(base, String.valueOf(dirNumber));
-                } else {
-                    dirExists = false;
-                }
-            }
-            try {
-                // Try to create a file in a directory that does not exist
-                File f3 = File.createTempFile("hyts_tf", null, dir);
-                f3.delete();
-                fail("IOException not thrown");
-            } catch (IOException e) {
-                // Expected
-            }
-            dir.delete();
-
-            // Tests for creating a tempfile with a filename shorter than 3
-            // characters.
-            try {
-                File f4 = File.createTempFile("ab", null, null);
-                f4.delete();
-                fail("IllegalArgumentException not thrown.");
-            } catch (IllegalArgumentException e) {
-                // Expected
-            }
-            try {
-                File f4 = File.createTempFile("a", null, null);
-                f4.delete();
-                fail("IllegalArgumentException not thrown.");
-            } catch (IllegalArgumentException e) {
-                // Expected
-            }
-            try {
-                File f4 = File.createTempFile("", null, null);
-                f4.delete();
-                fail("IllegalArgumentException not thrown.");
-            } catch (IllegalArgumentException e) {
-                // Expected
-            }
-        } finally {
-            if (f1 != null) {
-                f1.delete();
-            }
-            if (f2 != null) {
-                f1.delete();
-            }
-        }
-    }
-
-    /**
-     * @tests java.io.File#delete()
-     */
-    public void test_delete() throws IOException {
-        File dir = new File(System.getProperty("user.dir"), platformId
-                + "filechk");
-        dir.mkdir();
-        assertTrue("Directory Does Not Exist", dir.exists()
-                && dir.isDirectory());
-        File f = new File(dir, "filechk.tst");
-        FileOutputStream fos = new FileOutputStream(f);
-        fos.close();
-        assertTrue("Error Creating File For Delete Test", f.exists());
-        dir.delete();
-        assertTrue("Directory Should Not Have Been Deleted.", dir.exists());
-        f.delete();
-        assertTrue("File Was Not Deleted", !f.exists());
-        dir.delete();
-        assertTrue("Directory Was Not Deleted", !dir.exists());
-    }
-
-    // GCH
-    // TODO : This test passes on Windows but fails on Linux with a
-    // java.lang.NoClassDefFoundError. Temporarily removing from the test
-    // suite while I investigate the cause.
-    // /**
-    // * @tests java.io.File#deleteOnExit()
-    // */
-    // public void test_deleteOnExit() {
-    // File f1 = new File(System.getProperty("java.io.tmpdir"), platformId
-    // + "deleteOnExit.tst");
-    // try {
-    // FileOutputStream fos = new FileOutputStream(f1);
-    // fos.close();
-    // } catch (IOException e) {
-    // fail("Unexpected IOException During Test : " + e.getMessage());
-    // }
-    // assertTrue("File Should Exist.", f1.exists());
-    //
-    // try {
-    // Support_Exec.execJava(new String[] {
-    // "tests.support.Support_DeleteOnExitTest", f1.getPath() },
-    // null, true);
-    // } catch (IOException e) {
-    // fail("Unexpected IOException During Test + " + e.getMessage());
-    // } catch (InterruptedException e) {
-    // fail("Unexpected InterruptedException During Test: " + e);
-    // }
-    //
-    // boolean gone = !f1.exists();
-    // f1.delete();
-    // assertTrue("File Should Already Be Deleted.", gone);
-    // }
-
-    /**
-     * @tests java.io.File#equals(java.lang.Object)
-     */
-    public void test_equalsLjava_lang_Object() throws IOException {
-        File f1 = new File("filechk.tst");
-        File f2 = new File("filechk.tst");
-        File f3 = new File("xxxx");
-
-        assertTrue("Equality test failed", f1.equals(f2));
-        assertTrue("Files Should Not Return Equal.", !f1.equals(f3));
-
-        f3 = new File("FiLeChK.tst");
-        boolean onWindows = File.separatorChar == '\\';
-        boolean onUnix = File.separatorChar == '/';
-        if (onWindows) {
-            assertTrue("Files Should Return Equal.", f1.equals(f3));
-        } else if (onUnix) {
-            assertTrue("Files Should NOT Return Equal.", !f1.equals(f3));
-        }
-
-        f1 = new File(System.getProperty("java.io.tmpdir"), "casetest.tmp");
-        f2 = new File(System.getProperty("java.io.tmpdir"), "CaseTest.tmp");
-        new FileOutputStream(f1).close(); // create the file
-        if (f1.equals(f2)) {
-            try {
-                new FileInputStream(f2);
-            } catch (IOException e) {
-                fail("File system is case sensitive");
-            }
-        } else {
-            boolean exception = false;
-            try {
-                new FileInputStream(f2);
-            } catch (IOException e) {
-                exception = true;
-            }
-            assertTrue("File system is case insensitive", exception);
-        }
-        f1.delete();
-    }
-
-    /**
-     * @tests java.io.File#exists()
-     */
-    public void test_exists() throws IOException {
-        File f = new File(System.getProperty("user.dir"), platformId
-                + "exists.tst");
-        assertTrue("Exists returned true for non-existent file", !f.exists());
-        FileOutputStream fos = new FileOutputStream(f);
-        fos.close();
-        assertTrue("Exists returned false file", f.exists());
-        f.delete();
-    }
-
-    /**
-     * @tests java.io.File#getAbsoluteFile()
-     */
-    public void test_getAbsoluteFile() {
-        String base = System.getProperty("user.dir");
-        if (!base.endsWith(slash)) {
-            base += slash;
-        }
-        File f = new File(base, "temp.tst");
-        File f2 = f.getAbsoluteFile();
-        assertEquals("Test 1: Incorrect File Returned.", 0, f2.compareTo(f
-                .getAbsoluteFile()));
-        f = new File(base + "Temp" + slash + slash + "temp.tst");
-        f2 = f.getAbsoluteFile();
-        assertEquals("Test 2: Incorrect File Returned.", 0, f2.compareTo(f
-                .getAbsoluteFile()));
-        f = new File(base + slash + ".." + slash + "temp.tst");
-        f2 = f.getAbsoluteFile();
-        assertEquals("Test 3: Incorrect File Returned.", 0, f2.compareTo(f
-                .getAbsoluteFile()));
-        f.delete();
-        f2.delete();
-    }
-
-    /**
-     * @tests java.io.File#getAbsolutePath()
-     */
-    public void test_getAbsolutePath() {
-        String base = System.getProperty("user.dir");
-        if (!base.regionMatches((base.length() - 1), slash, 0, 1)) {
-            base += slash;
-        }
-        File f = new File(base, "temp.tst");
-        assertTrue("Test 1: Incorrect Path Returned.", f.getAbsolutePath()
-                .equals(base + "temp.tst"));
-        f = new File(base + "Temp" + slash + slash + slash + "Testing" + slash
-                + "temp.tst");
-        assertTrue("Test 2: Incorrect Path Returned.", f.getAbsolutePath()
-                .equals(base + "Temp" + slash + "Testing" + slash + "temp.tst"));
-        f = new File(base + "a" + slash + slash + ".." + slash + "temp.tst");
-        assertTrue("Test 3: Incorrect Path Returned." + f.getAbsolutePath(), f
-                .getAbsolutePath().equals(
-                        base + "a" + slash + ".." + slash + "temp.tst"));
-        f.delete();
-    }
-
-    /**
-     * @tests java.io.File#getCanonicalFile()
-     */
-    public void test_getCanonicalFile() throws IOException {
-        String base = System.getProperty("user.dir");
-        if (!base.endsWith(slash)) {
-            base += slash;
-        }
-        File f = new File(base, "temp.tst");
-        File f2 = f.getCanonicalFile();
-        assertEquals("Test 1: Incorrect File Returned.", 0, f2
-                .getCanonicalFile().compareTo(f.getCanonicalFile()));
-        f = new File(base + "Temp" + slash + slash + "temp.tst");
-        f2 = f.getCanonicalFile();
-        assertEquals("Test 2: Incorrect File Returned.", 0, f2
-                .getCanonicalFile().compareTo(f.getCanonicalFile()));
-        f = new File(base + "Temp" + slash + slash + ".." + slash + "temp.tst");
-        f2 = f.getCanonicalFile();
-        assertEquals("Test 3: Incorrect File Returned.", 0, f2
-                .getCanonicalFile().compareTo(f.getCanonicalFile()));
-
-        // Test for when long directory/file names in Windows
-        boolean onWindows = File.separatorChar == '\\';
-        if (onWindows) {
-            File testdir = new File(base, "long-" + platformId);
-            testdir.mkdir();
-            File dir = new File(testdir, "longdirectory" + platformId);
-            try {
-                dir.mkdir();
-                f = new File(dir, "longfilename.tst");
-                f2 = f.getCanonicalFile();
-                assertEquals("Test 4: Incorrect File Returned.", 0, f2
-                        .getCanonicalFile().compareTo(f.getCanonicalFile()));
-                FileOutputStream fos = new FileOutputStream(f);
-                fos.close();
-                f2 = new File(testdir + slash + "longdi~1" + slash
-                        + "longfi~1.tst");
-                File canonicalf2 = f2.getCanonicalFile();
-                /*
-                 * If the "short file name" doesn't exist, then assume that the
-                 * 8.3 file name compatibility is disabled.
-                 */
-                if (canonicalf2.exists()) {
-                    assertTrue("Test 5: Incorrect File Returned: "
-                            + canonicalf2, canonicalf2.compareTo(f
-                            .getCanonicalFile()) == 0);
-                }
-            } finally {
-                f.delete();
-                f2.delete();
-                dir.delete();
-                testdir.delete();
-            }
-        }
-    }
-
-    /**
-     * @tests java.io.File#getCanonicalPath()
-     */
-    public void test_getCanonicalPath() throws IOException {
-        // Should work for Unix/Windows.
-        String dots = "..";
-        String base = new File(System.getProperty("user.dir"))
-                .getCanonicalPath();
-        if (!base.regionMatches((base.length() - 1), slash, 0, 1)) {
-            base += slash;
-        }
-        File f = new File(base, "temp.tst");
-        assertEquals("Test 1: Incorrect Path Returned.", base + "temp.tst", f
-                .getCanonicalPath());
-        f = new File(base + "Temp" + slash + dots + slash + "temp.tst");
-        assertEquals("Test 2: Incorrect Path Returned.", base + "temp.tst", f
-                .getCanonicalPath());
-
-        // Finding a non-existent directory for tests 3 and 4
-        // This is necessary because getCanonicalPath is case sensitive and
-        // could cause a failure in the test if the directory exists but with
-        // different case letters (e.g "Temp" and "temp")
-        int dirNumber = 1;
-        boolean dirExists = true;
-        File dir1 = new File(base, String.valueOf(dirNumber));
-        while (dirExists) {
-            if (dir1.exists()) {
-                dirNumber++;
-                dir1 = new File(base, String.valueOf(dirNumber));
-            } else {
-                dirExists = false;
-            }
-        }
-        f = new File(base + dirNumber + slash + dots + slash + dirNumber
-                + slash + "temp.tst");
-        assertEquals("Test 3: Incorrect Path Returned.", base + dirNumber
-                + slash + "temp.tst", f.getCanonicalPath());
-        f = new File(base + dirNumber + slash + "Temp" + slash + dots + slash
-                + "Test" + slash + "temp.tst");
-        assertEquals("Test 4: Incorrect Path Returned.", base + dirNumber
-                + slash + "Test" + slash + "temp.tst", f.getCanonicalPath());
-
-        f = new File("1234.567");
-        assertEquals("Test 5: Incorrect Path Returned.", base + "1234.567", f
-                .getCanonicalPath());
-
-        // Test for long file names on Windows
-        boolean onWindows = (File.separatorChar == '\\');
-        if (onWindows) {
-            File testdir = new File(base, "long-" + platformId);
-            testdir.mkdir();
-            File f1 = new File(testdir, "longfilename" + platformId + ".tst");
-            FileOutputStream fos = new FileOutputStream(f1);
-            File f2 = null, f3 = null, dir2 = null;
-            try {
-                fos.close();
-                String dirName1 = f1.getCanonicalPath();
-                File f4 = new File(testdir, "longfi~1.tst");
-                /*
-                 * If the "short file name" doesn't exist, then assume that the
-                 * 8.3 file name compatibility is disabled.
-                 */
-                if (f4.exists()) {
-                    String dirName2 = f4.getCanonicalPath();
-                    assertEquals("Test 6: Incorrect Path Returned.", dirName1,
-                            dirName2);
-                    dir2 = new File(testdir, "longdirectory" + platformId);
-                    if (!dir2.exists()) {
-                        assertTrue("Could not create dir: " + dir2, dir2
-                                .mkdir());
-                    }
-                    f2 = new File(testdir.getPath() + slash + "longdirectory"
-                            + platformId + slash + "Test" + slash + dots
-                            + slash + "longfilename.tst");
-                    FileOutputStream fos2 = new FileOutputStream(f2);
-                    fos2.close();
-                    dirName1 = f2.getCanonicalPath();
-                    f3 = new File(testdir.getPath() + slash + "longdi~1"
-                            + slash + "Test" + slash + dots + slash
-                            + "longfi~1.tst");
-                    dirName2 = f3.getCanonicalPath();
-                    assertEquals("Test 7: Incorrect Path Returned.", dirName1,
-                            dirName2);
-                }
-            } finally {
-                f1.delete();
-                if (f2 != null) {
-                    f2.delete();
-                }
-                if (dir2 != null) {
-                    dir2.delete();
-                }
-                testdir.delete();
-            }
-        }
-    }
-
-    /**
-     * @tests java.io.File#getName()
-     */
-    public void test_getName() {
-        File f = new File("name.tst");
-        assertEquals("Test 1: Returned incorrect name", "name.tst", f.getName());
-
-        f = new File("");
-        assertTrue("Test 2: Returned incorrect name", f.getName().equals(""));
-
-        f.delete();
-    }
-
-    /**
-     * @tests java.io.File#getParent()
-     */
-    public void test_getParent() {
-        File f = new File("p.tst");
-        assertNull("Incorrect path returned", f.getParent());
-        f = new File(System.getProperty("user.home"), "p.tst");
-        assertTrue("Incorrect path returned", f.getParent().equals(
-                System.getProperty("user.home")));
-        f.delete();
-
-        File f1 = new File("/directory");
-        assertTrue("Wrong parent test 1", f1.getParent().equals(slash));
-        f1 = new File("/directory/file");
-        assertTrue("Wrong parent test 2", f1.getParent().equals(
-                slash + "directory"));
-        f1 = new File("directory/file");
-        assertEquals("Wrong parent test 3", "directory", f1.getParent());
-        f1 = new File("/");
-        assertNull("Wrong parent test 4", f1.getParent());
-        f1 = new File("directory");
-        assertNull("Wrong parent test 5", f1.getParent());
-
-        if (File.separatorChar == '\\' && new File("d:/").isAbsolute()) {
-            f1 = new File("d:/directory");
-            assertTrue("Wrong parent test 1a", f1.getParent().equals(
-                    "d:" + slash));
-            f1 = new File("d:/directory/file");
-            assertTrue("Wrong parent test 2a", f1.getParent().equals(
-                    "d:" + slash + "directory"));
-            f1 = new File("d:directory/file");
-            assertEquals("Wrong parent test 3a", "d:directory", f1.getParent());
-            f1 = new File("d:/");
-            assertNull("Wrong parent test 4a", f1.getParent());
-            f1 = new File("d:directory");
-            assertEquals("Wrong parent test 5a", "d:", f1.getParent());
-        }
-    }
-
-    /**
-     * @tests java.io.File#getParentFile()
-     */
-    public void test_getParentFile() {
-        File f = new File("tempfile.tst");
-        assertNull("Incorrect path returned", f.getParentFile());
-        f = new File(System.getProperty("user.dir"), "tempfile1.tmp");
-        File f2 = new File(System.getProperty("user.dir"), "tempfile2.tmp");
-        File f3 = new File(System.getProperty("user.dir"), "/a/tempfile.tmp");
-        assertEquals("Incorrect File Returned", 0, f.getParentFile().compareTo(
-                f2.getParentFile()));
-        assertTrue("Incorrect File Returned", f.getParentFile().compareTo(
-                f3.getParentFile()) != 0);
-        f.delete();
-        f2.delete();
-        f3.delete();
-    }
-
-    /**
-     * @tests java.io.File#getPath()
-     */
-    public void test_getPath() {
-        String base = System.getProperty("user.home");
-        String fname;
-        File f1;
-        if (!base.regionMatches((base.length() - 1), slash, 0, 1)) {
-            base += slash;
-        }
-        fname = base + "filechk.tst";
-        f1 = new File(base, "filechk.tst");
-        File f2 = new File("filechk.tst");
-        File f3 = new File("c:");
-        File f4 = new File(base + "a" + slash + slash + ".." + slash
-                + "filechk.tst");
-        assertTrue("getPath returned incorrect path(f1) " + f1.getPath(), f1
-                .getPath().equals(fname));
-        assertTrue("getPath returned incorrect path(f2) " + f2.getPath(), f2
-                .getPath().equals("filechk.tst"));
-        assertTrue("getPath returned incorrect path(f3) " + f3.getPath(), f3
-                .getPath().equals("c:"));
-        assertTrue("getPath returned incorrect path(f4) " + f4.getPath(), f4
-                .getPath().equals(
-                        base + "a" + slash + ".." + slash + "filechk.tst"));
-        f1.delete();
-        f2.delete();
-        f3.delete();
-        f4.delete();
-
-        // Regression for HARMONY-444
-        File file;
-        String separator = File.separator;
-
-        file = new File((File) null, "x/y/z");
-        assertEquals("x" + separator + "y" + separator + "z", file.getPath());
-
-        file = new File((String) null, "x/y/z");
-        assertEquals("x" + separator + "y" + separator + "z", file.getPath());
-
-        // Regression for HARMONY-829
-        String f1ParentName = "01";
-        f1 = new File(f1ParentName, "");
-        assertEquals(f1ParentName, f1.getPath());
-
-        String f2ParentName = "0";
-        f2 = new File(f2ParentName, "");
-
-        assertEquals(-1, f2.compareTo(f1));
-        assertEquals(1, f1.compareTo(f2));
-
-        File parent = new File(System.getProperty("user.dir"));
-        f3 = new File(parent, "");
-
-        assertEquals(parent.getPath(), f3.getPath());
-
-        // Regression for HARMONY-3869
-        File file1 = new File("", "");
-        assertEquals(File.separator, file1.getPath());
-
-        File file2 = new File(new File(""), "");
-        assertEquals(File.separator, file2.getPath());
-    }
-
-    /**
-     * @tests java.io.File#hashCode()
-     */
-    public void test_hashCode() {
-        // Regression for HARMONY-53
-        String mixedFname = "SoMe FiLeNaMe";
-        File mfile = new File(mixedFname);
-        File lfile = new File(mixedFname.toLowerCase());
-
-        if (mfile.equals(lfile)) {
-            assertTrue("Assert 0: wrong hashcode", mfile.hashCode() == lfile
-                    .hashCode());
-        } else {
-            assertFalse("Assert 1: wrong hashcode", mfile.hashCode() == lfile
-                    .hashCode());
-        }
-    }
-
-    /**
-     * @tests java.io.File#isAbsolute()
-     */
-    public void test_isAbsolute() {
-        if (File.separatorChar == '\\') {
-            File f = new File("c:\\test");
-            File f1 = new File("\\test");
-            // One or the other should be absolute on Windows or CE
-            assertTrue("Absolute returned false", (f.isAbsolute() && !f1
-                    .isAbsolute())
-                    || (!f.isAbsolute() && f1.isAbsolute()));
-        } else {
-            File f = new File("/test");
-            assertTrue("Absolute returned false", f.isAbsolute());
-        }
-        assertTrue("Non-Absolute returned true", !new File("../test")
-                .isAbsolute());
-    }
-
-    /**
-     * @tests java.io.File#isDirectory()
-     */
-    public void test_isDirectory() {
-        String base = System.getProperty("user.dir");
-        if (!base.regionMatches((base.length() - 1), slash, 0, 1)) {
-            base += slash;
-        }
-        File f = new File(base);
-        assertTrue("Test 1: Directory Returned False", f.isDirectory());
-        f = new File(base + "zxzxzxz" + platformId);
-        assertTrue("Test 2: (Not Created) Directory Returned True.", !f
-                .isDirectory());
-        f.mkdir();
-        try {
-            assertTrue("Test 3: Directory Returned False.", f.isDirectory());
-        } finally {
-            f.delete();
-        }
-    }
-
-    /**
-     * @tests java.io.File#isFile()
-     */
-    public void test_isFile() throws IOException {
-        String base = System.getProperty("user.dir");
-        File f = new File(base);
-        assertTrue("Directory Returned True As Being A File.", !f.isFile());
-        if (!base.regionMatches((base.length() - 1), slash, 0, 1)) {
-            base += slash;
-        }
-        f = new File(base, platformId + "amiafile");
-        assertTrue("Non-existent File Returned True", !f.isFile());
-        FileOutputStream fos = new FileOutputStream(f);
-        fos.close();
-        assertTrue("File returned false", f.isFile());
-        f.delete();
-    }
-
-    /**
-     * @tests java.io.File#isHidden()
-     */
-    public void test_isHidden() throws IOException, InterruptedException {
-        boolean onUnix = File.separatorChar == '/';
-        File f = File.createTempFile("hyts_", ".tmp");
-        // On Unix hidden files are marked with a "." at the beginning
-        // of the file name.
-        if (onUnix) {
-            File f2 = new File(".test.tst" + platformId);
-            FileOutputStream fos2 = new FileOutputStream(f2);
-            fos2.close();
-            assertTrue("File returned hidden on Unix", !f.isHidden());
-            assertTrue("File returned visible on Unix", f2.isHidden());
-            assertTrue("File did not delete.", f2.delete());
-        } else {
-            // For windows, the file is being set hidden by the attrib
-            // command.
-            Runtime r = Runtime.getRuntime();
-            assertTrue("File returned hidden", !f.isHidden());
-            Process p = r.exec("attrib +h \"" + f.getAbsolutePath() + "\"");
-            p.waitFor();
-            assertTrue("File returned visible", f.isHidden());
-            p = r.exec("attrib -h \"" + f.getAbsolutePath() + "\"");
-            p.waitFor();
-            assertTrue("File returned hidden", !f.isHidden());
-        }
-        f.delete();
-    }
-
-    /**
-     * @tests java.io.File#lastModified()
-     */
-    public void test_lastModified() throws IOException {
-        File f = new File(System.getProperty("java.io.tmpdir"), platformId
-                + "lModTest.tst");
-        f.delete();
-        long lastModifiedTime = f.lastModified();
-        assertEquals("LastModified Time Should Have Returned 0.", 0,
-                lastModifiedTime);
-        FileOutputStream fos = new FileOutputStream(f);
-        fos.close();
-        f.setLastModified(315550800000L);
-        lastModifiedTime = f.lastModified();
-        assertTrue("LastModified Time Incorrect: " + lastModifiedTime,
-                lastModifiedTime == 315550800000L);
-        f.delete();
-
-        // Regression for HARMONY-2146
-        f = new File("/../");
-        assertTrue(f.lastModified() > 0);
-    }
-
-    /**
-     * @tests java.io.File#length()
-     */
-    public void test_length() throws IOException {
-        File f = new File(System.getProperty("user.dir"), platformId
-                + "input.tst");
-        assertEquals("File Length Should Have Returned 0.", 0, f.length());
-        FileOutputStream fos = new FileOutputStream(f);
-        fos.write(fileString.getBytes());
-        fos.close();
-        assertTrue("Incorrect file length returned: " + f.length(),
-                f.length() == fileString.length());
-        f.delete();
-
-        // regression test for HARMONY-1497
-        f = File.createTempFile("test", "tmp");
-        f.deleteOnExit();
-        RandomAccessFile raf = new RandomAccessFile(f, "rwd");
-        raf.write(0x41);
-        assertEquals(1, f.length());
-    }
-
-    /**
-     * @tests java.io.File#list()
-     */
-    public void test_list() throws IOException {
-        String base = System.getProperty("user.dir");
-        // Old test left behind "garbage files" so this time it creates a
-        // directory that is guaranteed not to already exist (and deletes it
-        // afterward.)
-        int dirNumber = 1;
-        boolean dirExists = true;
-        File dir = null;
-        dir = new File(base, platformId + String.valueOf(dirNumber));
-        while (dirExists) {
-            if (dir.exists()) {
-                dirNumber++;
-                dir = new File(base, String.valueOf(dirNumber));
-            } else {
-                dirExists = false;
-            }
-        }
-
-        String[] flist = dir.list();
-
-        assertNull("Method list() Should Have Returned null.", flist);
-
-        assertTrue("Could not create parent directory for list test", dir
-                .mkdir());
-
-        String[] files = { "mtzz1.xx", "mtzz2.xx", "mtzz3.yy", "mtzz4.yy" };
-        try {
-            assertEquals(
-                    "Method list() Should Have Returned An Array Of Length 0.",
-                    0, dir.list().length);
-
-            File file = new File(dir, "notADir.tst");
-            try {
-                FileOutputStream fos = new FileOutputStream(file);
-                fos.close();
-                assertNull(
-                        "listFiles Should Have Returned Null When Used On A File Instead Of A Directory.",
-                        file.list());
-            } finally {
-                file.delete();
-            }
-
-            for (int i = 0; i < files.length; i++) {
-                File f = new File(dir, files[i]);
-                FileOutputStream fos = new FileOutputStream(f);
-                fos.close();
-            }
-
-            flist = dir.list();
-            if (flist.length != files.length) {
-                fail("Incorrect list returned");
-            }
-
-            // Checking to make sure the correct files were are listed in the
-            // array.
-            boolean[] check = new boolean[flist.length];
-            for (int i = 0; i < check.length; i++) {
-                check[i] = false;
-            }
-            for (int i = 0; i < files.length; i++) {
-                for (int j = 0; j < flist.length; j++) {
-                    if (flist[j].equals(files[i])) {
-                        check[i] = true;
-                        break;
-                    }
-                }
-            }
-            int checkCount = 0;
-            for (int i = 0; i < check.length; i++) {
-                if (check[i] == false) {
-                    checkCount++;
-                }
-            }
-            assertEquals("Invalid file returned in listing", 0, checkCount);
-
-            for (int i = 0; i < files.length; i++) {
-                File f = new File(dir, files[i]);
-                f.delete();
-            }
-
-            assertTrue("Could not delete parent directory for list test.", dir
-                    .delete());
-        } finally {
-            for (int i = 0; i < files.length; i++) {
-                File f = new File(dir, files[i]);
-                f.delete();
-            }
-            dir.delete();
-        }
-    }
-
-    /**
-     * @tests java.io.File#listFiles()
-     */
-    public void test_listFiles() throws IOException, InterruptedException {
-        String base = System.getProperty("user.dir");
-        // Finding a non-existent directory to create.
-        int dirNumber = 1;
-        boolean dirExists = true;
-        File dir = new File(base, platformId + String.valueOf(dirNumber));
-        // Making sure that the directory does not exist.
-        while (dirExists) {
-            // If the directory exists, add one to the directory number
-            // (making it a new directory name.)
-            if (dir.exists()) {
-                dirNumber++;
-                dir = new File(base, String.valueOf(dirNumber));
-            } else {
-                dirExists = false;
-            }
-        }
-        // Test for attempting to call listFiles on a non-existent directory.
-        assertNull("listFiles Should Return Null.", dir.listFiles());
-
-        assertTrue("Failed To Create Parent Directory.", dir.mkdir());
-
-        String[] files = { "1.tst", "2.tst", "3.tst", "" };
-        try {
-            assertEquals("listFiles Should Return An Array Of Length 0.", 0,
-                    dir.listFiles().length);
-
-            File file = new File(dir, "notADir.tst");
-            try {
-                FileOutputStream fos = new FileOutputStream(file);
-                fos.close();
-                assertNull(
-                        "listFiles Should Have Returned Null When Used On A File Instead Of A Directory.",
-                        file.listFiles());
-            } finally {
-                file.delete();
-            }
-
-            for (int i = 0; i < (files.length - 1); i++) {
-                File f = new File(dir, files[i]);
-                FileOutputStream fos = new FileOutputStream(f);
-                fos.close();
-            }
-
-            new File(dir, "doesNotExist.tst");
-            File[] flist = dir.listFiles();
-
-            // Test to make sure that only the 3 files that were created are
-            // listed.
-            assertEquals("Incorrect Number Of Files Returned.", 3, flist.length);
-
-            // Test to make sure that listFiles can read hidden files.
-            boolean onUnix = File.separatorChar == '/';
-            boolean onWindows = File.separatorChar == '\\';
-            if (onWindows) {
-                files[3] = "4.tst";
-                File f = new File(dir, "4.tst");
-                FileOutputStream fos = new FileOutputStream(f);
-                fos.close();
-                Runtime r = Runtime.getRuntime();
-                Process p = r.exec("attrib +h \"" + f.getPath() + "\"");
-                p.waitFor();
-            }
-            if (onUnix) {
-                files[3] = ".4.tst";
-                File f = new File(dir, ".4.tst");
-                FileOutputStream fos = new FileOutputStream(f);
-                fos.close();
-            }
-            flist = dir.listFiles();
-            assertEquals("Incorrect Number Of Files Returned.", 4, flist.length);
-
-            // Checking to make sure the correct files were are listed in
-            // the array.
-            boolean[] check = new boolean[flist.length];
-            for (int i = 0; i < check.length; i++) {
-                check[i] = false;
-            }
-            for (int i = 0; i < files.length; i++) {
-                for (int j = 0; j < flist.length; j++) {
-                    if (flist[j].getName().equals(files[i])) {
-                        check[i] = true;
-                        break;
-                    }
-                }
-            }
-            int checkCount = 0;
-            for (int i = 0; i < check.length; i++) {
-                if (check[i] == false) {
-                    checkCount++;
-                }
-            }
-            assertEquals("Invalid file returned in listing", 0, checkCount);
-
-            if (onWindows) {
-                Runtime r = Runtime.getRuntime();
-                Process p = r.exec("attrib -h \""
-                        + new File(dir, files[3]).getPath() + "\"");
-                p.waitFor();
-            }
-
-            for (int i = 0; i < files.length; i++) {
-                File f = new File(dir, files[i]);
-                f.delete();
-            }
-            assertTrue("Parent Directory Not Deleted.", dir.delete());
-        } finally {
-            for (int i = 0; i < files.length; i++) {
-                File f = new File(dir, files[i]);
-                f.delete();
-            }
-            dir.delete();
-        }
-    }
-
-    /**
-     * @tests java.io.File#listFiles(java.io.FileFilter)
-     */
-    public void test_listFilesLjava_io_FileFilter() throws IOException {
-        String base = System.getProperty("java.io.tmpdir");
-        // Finding a non-existent directory to create.
-        int dirNumber = 1;
-        boolean dirExists = true;
-        File baseDir = new File(base, platformId + String.valueOf(dirNumber));
-        // Making sure that the directory does not exist.
-        while (dirExists) {
-            // If the directory exists, add one to the directory number (making
-            // it a new directory name.)
-            if (baseDir.exists()) {
-                dirNumber++;
-                baseDir = new File(base, String.valueOf(dirNumber));
-            } else {
-                dirExists = false;
-            }
-        }
-
-        // Creating a filter that catches directories.
-        FileFilter dirFilter = new FileFilter() {
-            public boolean accept(File f) {
-                return f.isDirectory();
-            }
-        };
-
-        assertNull("listFiles Should Return Null.", baseDir
-                .listFiles(dirFilter));
-
-        assertTrue("Failed To Create Parent Directory.", baseDir.mkdir());
-
-        File dir1 = null;
-        String[] files = { "1.tst", "2.tst", "3.tst" };
-        try {
-            assertEquals("listFiles Should Return An Array Of Length 0.", 0,
-                    baseDir.listFiles(dirFilter).length);
-
-            File file = new File(baseDir, "notADir.tst");
-            try {
-                FileOutputStream fos = new FileOutputStream(file);
-                fos.close();
-                assertNull(
-                        "listFiles Should Have Returned Null When Used On A File Instead Of A Directory.",
-                        file.listFiles(dirFilter));
-            } finally {
-                file.delete();
-            }
-
-            for (int i = 0; i < files.length; i++) {
-                File f = new File(baseDir, files[i]);
-                FileOutputStream fos = new FileOutputStream(f);
-                fos.close();
-            }
-            dir1 = new File(baseDir, "Temp1");
-            dir1.mkdir();
-
-            // Creating a filter that catches files.
-            FileFilter fileFilter = new FileFilter() {
-                public boolean accept(File f) {
-                    return f.isFile();
-                }
-            };
-
-            // Test to see if the correct number of directories are returned.
-            File[] directories = baseDir.listFiles(dirFilter);
-            assertEquals("Incorrect Number Of Directories Returned.", 1,
-                    directories.length);
-
-            // Test to see if the directory was saved with the correct name.
-            assertEquals("Incorrect Directory Returned.", 0, directories[0]
-                    .compareTo(dir1));
-
-            // Test to see if the correct number of files are returned.
-            File[] flist = baseDir.listFiles(fileFilter);
-            assertTrue("Incorrect Number Of Files Returned.",
-                    flist.length == files.length);
-
-            // Checking to make sure the correct files were are listed in the
-            // array.
-            boolean[] check = new boolean[flist.length];
-            for (int i = 0; i < check.length; i++) {
-                check[i] = false;
-            }
-            for (int i = 0; i < files.length; i++) {
-                for (int j = 0; j < flist.length; j++) {
-                    if (flist[j].getName().equals(files[i])) {
-                        check[i] = true;
-                        break;
-                    }
-                }
-            }
-            int checkCount = 0;
-            for (int i = 0; i < check.length; i++) {
-                if (check[i] == false) {
-                    checkCount++;
-                }
-            }
-            assertEquals("Invalid file returned in listing", 0, checkCount);
-
-            for (int i = 0; i < files.length; i++) {
-                File f = new File(baseDir, files[i]);
-                f.delete();
-            }
-            dir1.delete();
-            assertTrue("Parent Directory Not Deleted.", baseDir.delete());
-        } finally {
-            for (int i = 0; i < files.length; i++) {
-                File f = new File(baseDir, files[i]);
-                f.delete();
-            }
-            if (dir1 != null) {
-                dir1.delete();
-            }
-            baseDir.delete();
-        }
-    }
-
-    /**
-     * @tests java.io.File#listFiles(java.io.FilenameFilter)
-     */
-    public void test_listFilesLjava_io_FilenameFilter() throws IOException {
-        String base = System.getProperty("java.io.tmpdir");
-        // Finding a non-existent directory to create.
-        int dirNumber = 1;
-        boolean dirExists = true;
-        File dir = new File(base, platformId + String.valueOf(dirNumber));
-        // Making sure that the directory does not exist.
-        while (dirExists) {
-            // If the directory exists, add one to the directory number (making
-            // it a new directory name.)
-            if (dir.exists()) {
-                dirNumber++;
-                dir = new File(base, platformId + String.valueOf(dirNumber));
-            } else {
-                dirExists = false;
-            }
-        }
-
-        // Creating a filter that catches "*.tst" files.
-        FilenameFilter tstFilter = new FilenameFilter() {
-            public boolean accept(File f, String fileName) {
-                return fileName.endsWith(".tst");
-            }
-        };
-
-        assertNull("listFiles Should Return Null.", dir.listFiles(tstFilter));
-
-        assertTrue("Failed To Create Parent Directory.", dir.mkdir());
-
-        String[] files = { "1.tst", "2.tst", "3.tmp" };
-        try {
-            assertEquals("listFiles Should Return An Array Of Length 0.", 0,
-                    dir.listFiles(tstFilter).length);
-
-            File file = new File(dir, "notADir.tst");
-            try {
-                FileOutputStream fos = new FileOutputStream(file);
-                fos.close();
-                assertNull(
-                        "listFiles Should Have Returned Null When Used On A File Instead Of A Directory.",
-                        file.listFiles(tstFilter));
-            } finally {
-                file.delete();
-            }
-
-            for (int i = 0; i < files.length; i++) {
-                File f = new File(dir, files[i]);
-                FileOutputStream fos = new FileOutputStream(f);
-                fos.close();
-            }
-
-            // Creating a filter that catches "*.tmp" files.
-            FilenameFilter tmpFilter = new FilenameFilter() {
-                public boolean accept(File f, String fileName) {
-                    // If the suffix is ".tmp" then send it to the array
-                    if (fileName.endsWith(".tmp")) {
-                        return true;
-                    } else {
-                        return false;
-                    }
-                }
-            };
-
-            // Tests to see if the correct number of files were returned.
-            File[] flist = dir.listFiles(tstFilter);
-            assertEquals("Incorrect Number Of Files Passed Through tstFilter.",
-                    2, flist.length);
-            for (int i = 0; i < flist.length; i++) {
-                assertTrue("File Should Not Have Passed The tstFilter.",
-                        flist[i].getPath().endsWith(".tst"));
-            }
-
-            flist = dir.listFiles(tmpFilter);
-            assertEquals("Incorrect Number Of Files Passed Through tmpFilter.",
-                    1, flist.length);
-            assertTrue("File Should Not Have Passed The tmpFilter.", flist[0]
-                    .getPath().endsWith(".tmp"));
-
-            for (int i = 0; i < files.length; i++) {
-                File f = new File(dir, files[i]);
-                f.delete();
-            }
-            assertTrue("Parent Directory Not Deleted.", dir.delete());
-        } finally {
-            for (int i = 0; i < files.length; i++) {
-                File f = new File(dir, files[i]);
-                f.delete();
-            }
-            dir.delete();
-        }
-    }
-
-    /**
-     * @tests java.io.File#list(java.io.FilenameFilter)
-     */
-    public void test_listLjava_io_FilenameFilter() throws IOException {
-        String base = System.getProperty("user.dir");
-        // Old test left behind "garbage files" so this time it creates a
-        // directory that is guaranteed not to already exist (and deletes it
-        // afterward.)
-        int dirNumber = 1;
-        boolean dirExists = true;
-        File dir = new File(base, platformId + String.valueOf(dirNumber));
-        while (dirExists) {
-            if (dir.exists()) {
-                dirNumber++;
-                dir = new File(base, String.valueOf(dirNumber));
-            } else {
-                dirExists = false;
-            }
-        }
-
-        FilenameFilter filter = new FilenameFilter() {
-            public boolean accept(File dir, String name) {
-                return !name.equals("mtzz1.xx");
-            }
-        };
-
-        String[] flist = dir.list(filter);
-        assertNull("Method list(FilenameFilter) Should Have Returned Null.",
-                flist);
-
-        assertTrue("Could not create parent directory for test", dir.mkdir());
-
-        String[] files = { "mtzz1.xx", "mtzz2.xx", "mtzz3.yy", "mtzz4.yy" };
-        try {
-            /*
-             * Do not return null when trying to use list(Filename Filter) on a
-             * file rather than a directory. All other "list" methods return
-             * null for this test case.
-             */
-            /*
-             * File file = new File(dir, "notADir.tst"); try { FileOutputStream
-             * fos = new FileOutputStream(file); fos.close(); } catch
-             * (IOException e) { fail("Unexpected IOException During Test."); }
-             * flist = dir.list(filter); assertNull("listFiles Should Have
-             * Returned Null When Used On A File Instead Of A Directory.",
-             * flist); file.delete();
-             */
-
-            flist = dir.list(filter);
-            assertEquals("Array Of Length 0 Should Have Returned.", 0,
-                    flist.length);
-
-            for (int i = 0; i < files.length; i++) {
-                File f = new File(dir, files[i]);
-                FileOutputStream fos = new FileOutputStream(f);
-                fos.close();
-            }
-
-            flist = dir.list(filter);
-
-            assertEquals("Incorrect list returned", flist.length,
-                    files.length - 1);
-
-            // Checking to make sure the correct files were are listed in the
-            // array.
-            boolean[] check = new boolean[flist.length];
-            for (int i = 0; i < check.length; i++) {
-                check[i] = false;
-            }
-            String[] wantedFiles = { "mtzz2.xx", "mtzz3.yy", "mtzz4.yy" };
-            for (int i = 0; i < wantedFiles.length; i++) {
-                for (int j = 0; j < flist.length; j++) {
-                    if (flist[j].equals(wantedFiles[i])) {
-                        check[i] = true;
-                        break;
-                    }
-                }
-            }
-            int checkCount = 0;
-            for (int i = 0; i < check.length; i++) {
-                if (check[i] == false) {
-                    checkCount++;
-                }
-            }
-            assertEquals("Invalid file returned in listing", 0, checkCount);
-
-            for (int i = 0; i < files.length; i++) {
-                File f = new File(dir, files[i]);
-                f.delete();
-            }
-            assertTrue("Could not delete parent directory for test.", dir
-                    .delete());
-        } finally {
-            for (int i = 0; i < files.length; i++) {
-                File f = new File(dir, files[i]);
-                f.delete();
-            }
-            dir.delete();
-        }
-    }
-
-    /**
-     * @tests java.io.File#listRoots()
-     */
-    public void test_listRoots() {
-        File[] roots = File.listRoots();
-        boolean onUnix = File.separatorChar == '/';
-        boolean onWindows = File.separatorChar == '\\';
-        if (onUnix) {
-            assertEquals("Incorrect Number Of Root Directories.", 1,
-                    roots.length);
-            String fileLoc = roots[0].getPath();
-            assertTrue("Incorrect Root Directory Returned.", fileLoc
-                    .startsWith(slash));
-        } else if (onWindows) {
-            // Need better test for Windows
-            assertTrue("Incorrect Number Of Root Directories.",
-                    roots.length > 0);
-        }
-    }
-
-    /**
-     * @tests java.io.File#mkdir()
-     */
-    public void test_mkdir() throws IOException {
-        String base = System.getProperty("user.dir");
-        // Old test left behind "garbage files" so this time it creates a
-        // directory that is guaranteed not to already exist (and deletes it
-        // afterward.)
-        int dirNumber = 1;
-        boolean dirExists = true;
-        File dir = new File(base, String.valueOf(dirNumber));
-        while (dirExists) {
-            if (dir.exists()) {
-                dirNumber++;
-                dir = new File(base, String.valueOf(dirNumber));
-            } else {
-                dirExists = false;
-            }
-        }
-
-        assertTrue("mkdir failed", dir.mkdir() && dir.exists());
-        dir.deleteOnExit();
-
-        String longDirName = "abcdefghijklmnopqrstuvwx";// 24 chars
-        String newbase = new String(dir + File.separator);
-        StringBuilder sb = new StringBuilder(dir + File.separator);
-        StringBuilder sb2 = new StringBuilder(dir + File.separator);
-
-        // Test make a long path
-        while (dir.getCanonicalPath().length() < 256 - longDirName.length()) {
-            sb.append(longDirName + File.separator);
-            dir = new File(sb.toString());
-            assertTrue("mkdir failed", dir.mkdir() && dir.exists());
-            dir.deleteOnExit();
-        }
-
-        while (dir.getCanonicalPath().length() < 256) {
-            sb.append(0);
-            dir = new File(sb.toString());
-            assertTrue("mkdir " + dir.getCanonicalPath().length() + " failed",
-                    dir.mkdir() && dir.exists());
-            dir.deleteOnExit();
-        }
-        dir = new File(sb2.toString());
-        // Test make many paths
-        while (dir.getCanonicalPath().length() < 256) {
-            sb2.append(0);
-            dir = new File(sb2.toString());
-            assertTrue("mkdir " + dir.getCanonicalPath().length() + " failed",
-                    dir.mkdir() && dir.exists());
-            dir.deleteOnExit();
-        }
-
-        // Regression test for HARMONY-3656
-        String[] ss = { "dir\u3400", "abc", "abc@123", "!@#$%^&",
-                "~\u4E00!\u4E8C@\u4E09$", "\u56DB\u4E94\u516D",
-                "\u4E03\u516B\u4E5D" };
-        for (int i = 0; i < ss.length; i++) {
-            dir = new File(newbase, ss[i]);
-            assertTrue("mkdir " + dir.getCanonicalPath() + " failed", dir
-                    .mkdir()
-                    && dir.exists());
-            dir.deleteOnExit();
-        }
-    }
-
-    /**
-     * @tests java.io.File#mkdirs()
-     */
-    public void test_mkdirs() {
-        String userHome = System.getProperty("user.dir");
-        if (!userHome.endsWith(slash)) {
-            userHome += slash;
-        }
-        File f = new File(userHome + "mdtest" + platformId + slash + "mdtest2",
-                "p.tst");
-        File g = new File(userHome + "mdtest" + platformId + slash + "mdtest2");
-        File h = new File(userHome + "mdtest" + platformId);
-        f.mkdirs();
-        try {
-            assertTrue("Base Directory not created", h.exists());
-            assertTrue("Directories not created", g.exists());
-            assertTrue("File not created", f.exists());
-        } finally {
-            f.delete();
-            g.delete();
-            h.delete();
-        }
-    }
-
-    /**
-     * @tests java.io.File#renameTo(java.io.File)
-     */
-    public void test_renameToLjava_io_File() throws IOException {
-        String base = System.getProperty("user.dir");
-        File dir = new File(base, platformId);
-        dir.mkdir();
-        File f = new File(dir, "xxx.xxx");
-        File rfile = new File(dir, "yyy.yyy");
-        File f2 = new File(dir, "zzz.zzz");
-        try {
-            FileOutputStream fos = new FileOutputStream(f);
-            fos.write(fileString.getBytes());
-            fos.close();
-            long lengthOfFile = f.length();
-
-            rfile.delete(); // in case it already exists
-
-            assertTrue("Test 1: File Rename Failed", f.renameTo(rfile));
-            assertTrue("Test 2: File Rename Failed.", rfile.exists());
-            assertTrue("Test 3: Size Of File Changed.",
-                    rfile.length() == lengthOfFile);
-
-            fos = new FileOutputStream(rfile);
-            fos.close();
-
-            f2.delete(); // in case it already exists
-            assertTrue("Test 4: File Rename Failed", rfile.renameTo(f2));
-            assertTrue("Test 5: File Rename Failed.", f2.exists());
-        } finally {
-            f.delete();
-            rfile.delete();
-            f2.delete();
-            dir.delete();
-        }
-    }
-
-    /**
-     * @tests java.io.File#setLastModified(long)
-     */
-    public void test_setLastModifiedJ() throws IOException {
-        File f1 = null;
-        try {
-            f1 = new File(Support_PlatformFile.getNewPlatformFile(
-                    "hyts_tf_slm", ".tmp"));
-            f1.createNewFile();
-            long orgTime = f1.lastModified();
-            // Subtracting 100 000 milliseconds from the orgTime of File f1
-            f1.setLastModified(orgTime - 100000);
-            long lastModified = f1.lastModified();
-            assertTrue("Test 1: LastModifed time incorrect: " + lastModified,
-                    lastModified == (orgTime - 100000));
-            // Subtracting 10 000 000 milliseconds from the orgTime of File f1
-            f1.setLastModified(orgTime - 10000000);
-            lastModified = f1.lastModified();
-            assertTrue("Test 2: LastModifed time incorrect: " + lastModified,
-                    lastModified == (orgTime - 10000000));
-            // Adding 100 000 milliseconds to the orgTime of File f1
-            f1.setLastModified(orgTime + 100000);
-            lastModified = f1.lastModified();
-            assertTrue("Test 3: LastModifed time incorrect: " + lastModified,
-                    lastModified == (orgTime + 100000));
-            // Adding 10 000 000 milliseconds from the orgTime of File f1
-            f1.setLastModified(orgTime + 10000000);
-            lastModified = f1.lastModified();
-            assertTrue("Test 4: LastModifed time incorrect: " + lastModified,
-                    lastModified == (orgTime + 10000000));
-            // Trying to set time to an exact number
-            f1.setLastModified(315550800000L);
-            lastModified = f1.lastModified();
-            assertTrue("Test 5: LastModified time incorrect: " + lastModified,
-                    lastModified == 315550800000L);
-            String osName = System.getProperty("os.name", "unknown");
-            if (osName.equals("Windows 2000") || osName.equals("Windows NT")) {
-                // Trying to set time to a large exact number
-                boolean result = f1.setLastModified(4354837199000L);
-                long next = f1.lastModified();
-                // Dec 31 23:59:59 EST 2107 is overflow on FAT file systems, and
-                // the call fails
-                assertTrue("Test 6: LastModified time incorrect: " + next,
-                        !result || next == 4354837199000L);
-            }
-            // Trying to set time to a negative number
-            try {
-                f1.setLastModified(-25);
-                fail("IllegalArgumentException Not Thrown.");
-            } catch (IllegalArgumentException e) {
-            }
-        } finally {
-            if (f1 != null) {
-                f1.delete();
-            }
-        }
-    }
-
-    /**
-     * @tests java.io.File#setReadOnly()
-     */
-    public void test_setReadOnly() throws IOException, InterruptedException {
-        File f1 = null;
-        File f2 = null;
-        try {
-            f1 = File.createTempFile("hyts_tf", ".tmp");
-            f2 = File.createTempFile("hyts_tf", ".tmp");
-            // Assert is flawed because canWrite does not work.
-            // assertTrue("File f1 Is Set To ReadOnly." , f1.canWrite());
-            f1.setReadOnly();
-            // Assert is flawed because canWrite does not work.
-            // assertTrue("File f1 Is Not Set To ReadOnly." , !f1.canWrite());
-            try {
-                // Attempt to write to a file that is setReadOnly.
-                new FileOutputStream(f1);
-                fail("IOException not thrown.");
-            } catch (IOException e) {
-                // Expected
-            }
-            Runtime r = Runtime.getRuntime();
-            Process p;
-            boolean onUnix = File.separatorChar == '/';
-            if (onUnix) {
-                p = r.exec("chmod +w " + f1.getAbsolutePath());
-            } else {
-                p = r.exec("attrib -r \"" + f1.getAbsolutePath() + "\"");
-            }
-            p.waitFor();
-            // Assert is flawed because canWrite does not work.
-            // assertTrue("File f1 Is Set To ReadOnly." , f1.canWrite());
-            FileOutputStream fos = new FileOutputStream(f1);
-            fos.write(fileString.getBytes());
-            fos.close();
-            assertTrue("File Was Not Able To Be Written To.",
-                    f1.length() == fileString.length());
-            assertTrue("File f1 Did Not Delete", f1.delete());
-
-            // Assert is flawed because canWrite does not work.
-            // assertTrue("File f2 Is Set To ReadOnly." , f2.canWrite());
-            fos = new FileOutputStream(f2);
-            // Write to a file.
-            fos.write(fileString.getBytes());
-            fos.close();
-            f2.setReadOnly();
-            // Assert is flawed because canWrite does not work.
-            // assertTrue("File f2 Is Not Set To ReadOnly." , !f2.canWrite());
-            try {
-                // Attempt to write to a file that has previously been written
-                // to.
-                // and is now set to read only.
-                fos = new FileOutputStream(f2);
-                fail("IOException not thrown.");
-            } catch (IOException e) {
-                // Expected
-            }
-            r = Runtime.getRuntime();
-            if (onUnix) {
-                p = r.exec("chmod +w " + f2.getAbsolutePath());
-            } else {
-                p = r.exec("attrib -r \"" + f2.getAbsolutePath() + "\"");
-            }
-            p.waitFor();
-            assertTrue("File f2 Is Set To ReadOnly.", f2.canWrite());
-            fos = new FileOutputStream(f2);
-            fos.write(fileString.getBytes());
-            fos.close();
-            f2.setReadOnly();
-            assertTrue("File f2 Did Not Delete", f2.delete());
-            // Similarly, trying to delete a read-only directory should succeed
-            f2 = new File(System.getProperty("user.dir"), "deltestdir");
-            f2.mkdir();
-            f2.setReadOnly();
-            assertTrue("Directory f2 Did Not Delete", f2.delete());
-            assertTrue("Directory f2 Did Not Delete", !f2.exists());
-        } finally {
-            if (f1 != null) {
-                f1.delete();
-            }
-            if (f2 != null) {
-                f2.delete();
-            }
-        }
-    }
-
-    /**
-     * @tests java.io.File#toString()
-     */
-    public void test_toString() {
-        String fileName = System.getProperty("user.home") + slash + "input.tst";
-        File f = new File(fileName);
-        assertTrue("Incorrect string returned", f.toString().equals(fileName));
-
-        if (File.separatorChar == '\\') {
-            String result = new File("c:\\").toString();
-            assertTrue("Removed backslash: " + result, result.equals("c:\\"));
-        }
-    }
-
-    /**
-     * @tests java.io.File#toURI()
-     */
-    public void test_toURI() throws URISyntaxException {
-        // Need a directory that exists
-        File dir = new File(System.getProperty("user.dir"));
-
-        // Test for toURI when the file is a directory.
-        String newURIPath = dir.getAbsolutePath();
-        newURIPath = newURIPath.replace(File.separatorChar, '/');
-        if (!newURIPath.startsWith("/")) {
-            newURIPath = "/" + newURIPath;
-        }
-        if (!newURIPath.endsWith("/")) {
-            newURIPath += '/';
-        }
-
-        URI uri = dir.toURI();
-        assertTrue("Test 1A: Incorrect URI Returned.", new File(uri).equals(dir
-                .getAbsoluteFile()));
-        assertTrue("Test 1B: Incorrect URI Returned.", uri.equals(new URI(
-                "file", null, newURIPath, null, null)));
-
-        // Test for toURI with a file name with illegal chars.
-        File f = new File(dir, "te% \u20ac st.tst");
-        newURIPath = f.getAbsolutePath();
-        newURIPath = newURIPath.replace(File.separatorChar, '/');
-        if (!newURIPath.startsWith("/")) {
-            newURIPath = "/" + newURIPath;
-        }
-
-        uri = f.toURI();
-        assertTrue("Test 2A: Incorrect URI Returned.", new File(uri).equals(f
-                .getAbsoluteFile()));
-        assertTrue("Test 2B: Incorrect URI Returned.", uri.equals(new URI(
-                "file", null, newURIPath, null, null)));
-
-        // Regression test for HARMONY-3207
-        dir = new File(""); // current directory
-        uri = dir.toURI();
-        assertTrue("Test current dir: URI does not end with slash.", uri
-                .toString().endsWith("/"));
-    }
-
-    /**
-     * @tests java.io.File#toURL()
-     */
-    public void test_toURL() throws MalformedURLException {
-        // Need a directory that exists
-        File dir = new File(System.getProperty("user.dir"));
-
-        // Test for toURL when the file is a directory.
-        String newDirURL = dir.getAbsolutePath();
-        newDirURL = newDirURL.replace(File.separatorChar, '/');
-        if (newDirURL.startsWith("/")) {
-            newDirURL = "file:" + newDirURL;
-        } else {
-            newDirURL = "file:/" + newDirURL;
-        }
-        if (!newDirURL.endsWith("/")) {
-            newDirURL += '/';
-        }
-        assertTrue("Test 1: Incorrect URL Returned.", newDirURL.equals(dir
-                .toURL().toString()));
-
-        // Test for toURL with a file.
-        File f = new File(dir, "test.tst");
-        String newURL = f.getAbsolutePath();
-        newURL = newURL.replace(File.separatorChar, '/');
-        if (newURL.startsWith("/")) {
-            newURL = "file:" + newURL;
-        } else {
-            newURL = "file:/" + newURL;
-        }
-        assertTrue("Test 2: Incorrect URL Returned.", newURL.equals(f.toURL()
-                .toString()));
-
-        // Regression test for HARMONY-3207
-        dir = new File(""); // current directory
-        newDirURL = dir.toURL().toString();
-        assertTrue("Test current dir: URL does not end with slash.", newDirURL
-                .endsWith("/"));
-    }
-
-    /**
-     * @tests java.io.File#toURI()
-     */
-    public void test_toURI2() throws URISyntaxException {
-        File f = new File(System.getProperty("user.dir"), "a/b/c/../d/e/./f");
-
-        String path = f.getAbsolutePath();
-        path = path.replace(File.separatorChar, '/');
-        if (!path.startsWith("/")) {
-            path = "/" + path;
-        }
-
-        URI uri1 = new URI("file", null, path, null);
-        URI uri2 = f.toURI();
-        assertEquals("uris not equal", uri1, uri2);
-    }
-
-    /**
-     * @tests java.io.File#toURL()
-     */
-    public void test_toURL2() throws MalformedURLException {
-        File f = new File(System.getProperty("user.dir"), "a/b/c/../d/e/./f");
-
-        String path = f.getAbsolutePath();

[... 2404 lines stripped ...]