diff options
author | Neil Fuller <nfuller@google.com> | 2018-10-02 15:25:50 +0100 |
---|---|---|
committer | Neil Fuller <nfuller@google.com> | 2018-10-10 13:31:36 +0100 |
commit | a03c8a080979892a496befff6af2a8a872f5e767 (patch) | |
tree | 0b42e332ab1fa6dabcb87959ac553fcb7d61ca65 | |
parent | 9a2937288646664eabd673f415e7c46bf8120df9 (diff) |
Add testing support code: TestIoUtils
Add testing support code that CTS can use instead of
private platform APIs.
Bug: 117535564
Bug: 113148576
Test: Run cts
Change-Id: I63ad197744075c14886a639bfba83392ac39854f
14 files changed, 87 insertions, 28 deletions
diff --git a/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/prefs/AbstractPreferencesTest.java b/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/prefs/AbstractPreferencesTest.java index 49510e39f1..c107023895 100644 --- a/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/prefs/AbstractPreferencesTest.java +++ b/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/prefs/AbstractPreferencesTest.java @@ -38,7 +38,7 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import junit.framework.TestCase; -import libcore.io.IoUtils; +import libcore.testing.io.TestIoUtils; import org.w3c.dom.Document; import org.xml.sax.SAXException; @@ -88,7 +88,7 @@ public class AbstractPreferencesTest extends TestCase { @Override protected void setUp() throws Exception { - File tmpDir = IoUtils.createTemporaryDirectory("OldAbstractPreferencesTest"); + File tmpDir = TestIoUtils.createTemporaryDirectory("OldAbstractPreferencesTest"); defaultFactory = Preferences.setPreferencesFactory( new TestPreferencesFactory(tmpDir.getAbsolutePath())); root = (AbstractPreferences) Preferences.userRoot(); diff --git a/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/prefs/FilePreferencesImplTest.java b/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/prefs/FilePreferencesImplTest.java index 352603cf44..abcf9c9365 100644 --- a/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/prefs/FilePreferencesImplTest.java +++ b/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/prefs/FilePreferencesImplTest.java @@ -20,9 +20,10 @@ import java.io.File; import java.io.IOException; import java.util.prefs.BackingStoreException; import java.util.prefs.Preferences; -import java.util.prefs.PreferencesFactory; + import junit.framework.TestCase; -import libcore.io.IoUtils; + +import libcore.testing.io.TestIoUtils; public class FilePreferencesImplTest extends TestCase { @@ -31,7 +32,7 @@ public class FilePreferencesImplTest extends TestCase { @Override protected void setUp() throws Exception { - File tmpDir = IoUtils.createTemporaryDirectory("FilePreferencesImplTest"); + File tmpDir = TestIoUtils.createTemporaryDirectory("FilePreferencesImplTest"); AbstractPreferencesTest.TestPreferencesFactory factory = new AbstractPreferencesTest.TestPreferencesFactory(tmpDir.getAbsolutePath()); diff --git a/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/prefs/PreferencesTest.java b/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/prefs/PreferencesTest.java index 69392486db..16bf3ead75 100644 --- a/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/prefs/PreferencesTest.java +++ b/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/prefs/PreferencesTest.java @@ -22,7 +22,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.FileOutputStream; -import java.net.MalformedURLException; import java.nio.charset.StandardCharsets; import java.util.prefs.AbstractPreferences; import java.util.prefs.BackingStoreException; @@ -32,7 +31,8 @@ import java.util.prefs.PreferenceChangeListener; import java.util.prefs.Preferences; import java.util.prefs.PreferencesFactory; import junit.framework.TestCase; -import libcore.io.IoUtils; + +import libcore.testing.io.TestIoUtils; /** * @@ -55,7 +55,7 @@ public class PreferencesTest extends TestCase { @Override protected void setUp() throws Exception { - backendDir = IoUtils.createTemporaryDirectory("OldAbstractPreferencesTest"); + backendDir = TestIoUtils.createTemporaryDirectory("OldAbstractPreferencesTest"); defaultFactory = Preferences.setPreferencesFactory( new AbstractPreferencesTest.TestPreferencesFactory(backendDir.getAbsolutePath())); diff --git a/luni/src/main/java/libcore/io/IoUtils.java b/luni/src/main/java/libcore/io/IoUtils.java index 9cba4e3cf9..2a6f016fff 100644 --- a/luni/src/main/java/libcore/io/IoUtils.java +++ b/luni/src/main/java/libcore/io/IoUtils.java @@ -27,7 +27,7 @@ import java.net.Socket; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.Objects; -import java.util.Random; + import libcore.util.NonNull; import static android.system.OsConstants.*; @@ -231,8 +231,9 @@ public final class IoUtils { * Deliberately ignores errors, on the assumption that test cleanup is only * supposed to be best-effort. * - * @deprecated Use {@link #createTemporaryDirectory} instead. + * @deprecated Use {@link TestIoUtils#createTemporaryDirectory} instead. */ + @Deprecated public static void deleteContents(File dir) throws IOException { File[] files = dir.listFiles(); if (files != null) { @@ -247,7 +248,10 @@ public final class IoUtils { /** * Creates a unique new temporary directory under "java.io.tmpdir". + * + * @deprecated Use {@link TestIoUtils#createTemporaryDirectory} instead. */ + @Deprecated public static File createTemporaryDirectory(String prefix) { while (true) { String candidateName = prefix + Math.randomIntInternal(); diff --git a/luni/src/test/java/libcore/java/io/FileInputStreamTest.java b/luni/src/test/java/libcore/java/io/FileInputStreamTest.java index d214c9e1dc..e722b4f8c0 100644 --- a/luni/src/test/java/libcore/java/io/FileInputStreamTest.java +++ b/luni/src/test/java/libcore/java/io/FileInputStreamTest.java @@ -30,12 +30,13 @@ import android.system.Int32Ref; import android.system.Os; import android.system.OsConstants; import android.system.StructStatVfs; -import android.system.Int32Ref; import libcore.io.IoUtils; import libcore.io.Libcore; import libcore.junit.junit3.TestCaseWithRules; import libcore.junit.util.ResourceLeakageDetector; +import libcore.testing.io.TestIoUtils; + import org.junit.Rule; import org.junit.rules.TestRule; @@ -64,7 +65,7 @@ public final class FileInputStreamTest extends TestCaseWithRules { } fos.write(buffer); } finally { - IoUtils.closeQuietly(fos); + TestIoUtils.closeQuietly(fos); IoUtils.close(mOutFd); } } catch (IOException e) { @@ -234,7 +235,7 @@ public final class FileInputStreamTest extends TestCaseWithRules { // http://b/25695227 public void testFdLeakWhenOpeningDirectory() throws Exception { - File phile = IoUtils.createTemporaryDirectory("test_bug_25695227"); + File phile = TestIoUtils.createTemporaryDirectory("test_bug_25695227"); try { new FileInputStream(phile); diff --git a/luni/src/test/java/libcore/java/util/prefs/OldAbstractPreferencesTest.java b/luni/src/test/java/libcore/java/util/prefs/OldAbstractPreferencesTest.java index 0f8ed99276..b5fa493308 100644 --- a/luni/src/test/java/libcore/java/util/prefs/OldAbstractPreferencesTest.java +++ b/luni/src/test/java/libcore/java/util/prefs/OldAbstractPreferencesTest.java @@ -31,7 +31,8 @@ import java.util.prefs.Preferences; import java.util.prefs.PreferencesFactory; import junit.framework.TestCase; -import libcore.io.IoUtils; + +import libcore.testing.io.TestIoUtils; public final class OldAbstractPreferencesTest extends TestCase { @@ -52,7 +53,7 @@ public final class OldAbstractPreferencesTest extends TestCase { protected void setUp() throws Exception { super.setUp(); - File tmpDir = IoUtils.createTemporaryDirectory("OldAbstractPreferencesTest"); + File tmpDir = TestIoUtils.createTemporaryDirectory("OldAbstractPreferencesTest"); defaultFactory = Preferences.setPreferencesFactory( new PreferencesTest.TestPreferencesFactory(tmpDir.getAbsolutePath())); diff --git a/luni/src/test/java/libcore/java/util/prefs/OldFilePreferencesImplTest.java b/luni/src/test/java/libcore/java/util/prefs/OldFilePreferencesImplTest.java index ea8cb395d1..5189ab273d 100644 --- a/luni/src/test/java/libcore/java/util/prefs/OldFilePreferencesImplTest.java +++ b/luni/src/test/java/libcore/java/util/prefs/OldFilePreferencesImplTest.java @@ -22,7 +22,7 @@ import java.util.prefs.PreferencesFactory; import junit.framework.TestCase; -import libcore.io.IoUtils; +import libcore.testing.io.TestIoUtils; public final class OldFilePreferencesImplTest extends TestCase { @@ -31,7 +31,7 @@ public final class OldFilePreferencesImplTest extends TestCase { @Override public void setUp() throws Exception { super.setUp(); - File tmpDir = IoUtils.createTemporaryDirectory("OldFilePreferencesImplTest"); + File tmpDir = TestIoUtils.createTemporaryDirectory("OldFilePreferencesImplTest"); defaultFactory = Preferences.setPreferencesFactory( new PreferencesTest.TestPreferencesFactory(tmpDir.getAbsolutePath())); } diff --git a/luni/src/test/java/libcore/java/util/prefs/OldNodeChangeEventTest.java b/luni/src/test/java/libcore/java/util/prefs/OldNodeChangeEventTest.java index 7ba1dfe6e4..e87246b6da 100644 --- a/luni/src/test/java/libcore/java/util/prefs/OldNodeChangeEventTest.java +++ b/luni/src/test/java/libcore/java/util/prefs/OldNodeChangeEventTest.java @@ -26,7 +26,7 @@ import java.util.prefs.PreferencesFactory; import junit.framework.TestCase; -import libcore.io.IoUtils; +import libcore.testing.io.TestIoUtils; public final class OldNodeChangeEventTest extends TestCase { @@ -35,7 +35,7 @@ public final class OldNodeChangeEventTest extends TestCase { @Override public void setUp() throws Exception { super.setUp(); - File tmpDir = IoUtils.createTemporaryDirectory("OldNodeChangeEventTest"); + File tmpDir = TestIoUtils.createTemporaryDirectory("OldNodeChangeEventTest"); defaultFactory = Preferences.setPreferencesFactory( new PreferencesTest.TestPreferencesFactory(tmpDir.getAbsolutePath())); } diff --git a/luni/src/test/java/libcore/java/util/prefs/OldPreferenceChangeEventTest.java b/luni/src/test/java/libcore/java/util/prefs/OldPreferenceChangeEventTest.java index 2f071294cd..cb19371fca 100644 --- a/luni/src/test/java/libcore/java/util/prefs/OldPreferenceChangeEventTest.java +++ b/luni/src/test/java/libcore/java/util/prefs/OldPreferenceChangeEventTest.java @@ -25,7 +25,7 @@ import java.util.prefs.PreferencesFactory; import junit.framework.TestCase; -import libcore.io.IoUtils; +import libcore.testing.io.TestIoUtils; public final class OldPreferenceChangeEventTest extends TestCase { @@ -34,7 +34,7 @@ public final class OldPreferenceChangeEventTest extends TestCase { @Override public void setUp() throws Exception { super.setUp(); - File tmpDir = IoUtils.createTemporaryDirectory("OldPreferenceChangeEventTest"); + File tmpDir = TestIoUtils.createTemporaryDirectory("OldPreferenceChangeEventTest"); defaultFactory = Preferences.setPreferencesFactory( new PreferencesTest.TestPreferencesFactory(tmpDir.getAbsolutePath())); } diff --git a/luni/src/test/java/libcore/java/util/prefs/OldPreferencesTest.java b/luni/src/test/java/libcore/java/util/prefs/OldPreferencesTest.java index 7245af7b37..6c5d323b28 100644 --- a/luni/src/test/java/libcore/java/util/prefs/OldPreferencesTest.java +++ b/luni/src/test/java/libcore/java/util/prefs/OldPreferencesTest.java @@ -28,7 +28,8 @@ import java.util.prefs.PreferenceChangeListener; import java.util.prefs.Preferences; import java.util.prefs.PreferencesFactory; import junit.framework.TestCase; -import libcore.io.IoUtils; + +import libcore.testing.io.TestIoUtils; public final class OldPreferencesTest extends TestCase { @@ -56,7 +57,7 @@ public final class OldPreferencesTest extends TestCase { @Override protected void setUp() throws Exception { super.setUp(); - final File tmpDir = IoUtils.createTemporaryDirectory("OldPreferenceTest"); + final File tmpDir = TestIoUtils.createTemporaryDirectory("OldPreferenceTest"); defaultFactory = Preferences.setPreferencesFactory( new PreferencesTest.TestPreferencesFactory(tmpDir.getAbsolutePath())); diff --git a/luni/src/test/java/libcore/java/util/prefs/PreferencesTest.java b/luni/src/test/java/libcore/java/util/prefs/PreferencesTest.java index e60b4c60e3..6857f4e11b 100644 --- a/luni/src/test/java/libcore/java/util/prefs/PreferencesTest.java +++ b/luni/src/test/java/libcore/java/util/prefs/PreferencesTest.java @@ -24,7 +24,8 @@ import java.util.prefs.FileSystemPreferences; import java.util.prefs.Preferences; import java.util.prefs.PreferencesFactory; import junit.framework.TestCase; -import libcore.io.IoUtils; + +import libcore.testing.io.TestIoUtils; public final class PreferencesTest extends TestCase { @@ -60,7 +61,7 @@ public final class PreferencesTest extends TestCase { @Override public void setUp() throws Exception { - temporaryDirectory = IoUtils.createTemporaryDirectory("PreferencesTest"); + temporaryDirectory = TestIoUtils.createTemporaryDirectory("PreferencesTest"); defaultFactory = Preferences.setPreferencesFactory( new TestPreferencesFactory(temporaryDirectory.getAbsolutePath())); } diff --git a/luni/src/test/java/libcore/libcore/io/MemoryMappedFileTest.java b/luni/src/test/java/libcore/libcore/io/MemoryMappedFileTest.java index 356acf0114..93cc543794 100644 --- a/luni/src/test/java/libcore/libcore/io/MemoryMappedFileTest.java +++ b/luni/src/test/java/libcore/libcore/io/MemoryMappedFileTest.java @@ -29,9 +29,9 @@ import java.nio.IntBuffer; import java.util.Arrays; import java.util.function.Function; import libcore.io.BufferIterator; -import libcore.io.IoUtils; import libcore.io.MemoryMappedFile; import libcore.io.SizeOf; +import libcore.testing.io.TestIoUtils; public class MemoryMappedFileTest extends TestCase { @@ -40,7 +40,7 @@ public class MemoryMappedFileTest extends TestCase { @Override public void setUp() throws Exception { super.setUp(); - tempDir = IoUtils.createTemporaryDirectory("MemoryMappedFileTest"); + tempDir = TestIoUtils.createTemporaryDirectory("MemoryMappedFileTest"); } public void testMmapRo_missingFile() throws Exception { diff --git a/luni/src/test/java/libcore/libcore/io/OsTest.java b/luni/src/test/java/libcore/libcore/io/OsTest.java index aa0a5ba9ca..a251be8419 100644 --- a/luni/src/test/java/libcore/libcore/io/OsTest.java +++ b/luni/src/test/java/libcore/libcore/io/OsTest.java @@ -44,7 +44,6 @@ import java.net.ServerSocket; import java.net.SocketOptions; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; -import java.nio.file.Files; import java.util.Arrays; import java.util.Collections; import java.util.List; diff --git a/support/src/test/java/libcore/testing/io/TestIoUtils.java b/support/src/test/java/libcore/testing/io/TestIoUtils.java new file mode 100644 index 0000000000..4296103ce7 --- /dev/null +++ b/support/src/test/java/libcore/testing/io/TestIoUtils.java @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed 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 libcore.testing.io; + +import java.io.File; + +public class TestIoUtils { + + private TestIoUtils() {} + + /** + * Creates a unique new temporary directory under "java.io.tmpdir". + */ + public static File createTemporaryDirectory(String prefix) { + while (true) { + String candidateName = prefix + Math.randomIntInternal(); + File result = new File(System.getProperty("java.io.tmpdir"), candidateName); + if (result.mkdir()) { + return result; + } + } + } + + /** + * Closes 'closeable', ignoring any checked exceptions. Does nothing if 'closeable' is null. + */ + public static void closeQuietly(AutoCloseable closeable) { + if (closeable != null) { + try { + closeable.close(); + } catch (RuntimeException rethrown) { + throw rethrown; + } catch (Exception ignored) { + } + } + } +} |