summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Fuller <nfuller@google.com>2018-10-02 15:25:50 +0100
committerNeil Fuller <nfuller@google.com>2018-10-10 13:31:36 +0100
commita03c8a080979892a496befff6af2a8a872f5e767 (patch)
tree0b42e332ab1fa6dabcb87959ac553fcb7d61ca65
parent9a2937288646664eabd673f415e7c46bf8120df9 (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
-rw-r--r--harmony-tests/src/test/java/org/apache/harmony/tests/java/util/prefs/AbstractPreferencesTest.java4
-rw-r--r--harmony-tests/src/test/java/org/apache/harmony/tests/java/util/prefs/FilePreferencesImplTest.java7
-rw-r--r--harmony-tests/src/test/java/org/apache/harmony/tests/java/util/prefs/PreferencesTest.java6
-rw-r--r--luni/src/main/java/libcore/io/IoUtils.java8
-rw-r--r--luni/src/test/java/libcore/java/io/FileInputStreamTest.java7
-rw-r--r--luni/src/test/java/libcore/java/util/prefs/OldAbstractPreferencesTest.java5
-rw-r--r--luni/src/test/java/libcore/java/util/prefs/OldFilePreferencesImplTest.java4
-rw-r--r--luni/src/test/java/libcore/java/util/prefs/OldNodeChangeEventTest.java4
-rw-r--r--luni/src/test/java/libcore/java/util/prefs/OldPreferenceChangeEventTest.java4
-rw-r--r--luni/src/test/java/libcore/java/util/prefs/OldPreferencesTest.java5
-rw-r--r--luni/src/test/java/libcore/java/util/prefs/PreferencesTest.java5
-rw-r--r--luni/src/test/java/libcore/libcore/io/MemoryMappedFileTest.java4
-rw-r--r--luni/src/test/java/libcore/libcore/io/OsTest.java1
-rw-r--r--support/src/test/java/libcore/testing/io/TestIoUtils.java51
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) {
+ }
+ }
+ }
+}