diff options
Diffstat (limited to 'dexmaker')
-rw-r--r-- | dexmaker/src/test/java/com/google/dexmaker/DexMakerTest.java | 13 | ||||
-rw-r--r-- | dexmaker/src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java | 4 |
2 files changed, 16 insertions, 1 deletions
diff --git a/dexmaker/src/test/java/com/google/dexmaker/DexMakerTest.java b/dexmaker/src/test/java/com/google/dexmaker/DexMakerTest.java index 2b7a27b..36e6c00 100644 --- a/dexmaker/src/test/java/com/google/dexmaker/DexMakerTest.java +++ b/dexmaker/src/test/java/com/google/dexmaker/DexMakerTest.java @@ -16,6 +16,7 @@ package com.google.dexmaker; +import android.support.test.InstrumentationRegistry; import java.io.File; import java.io.FilenameFilter; import java.io.IOException; @@ -2007,6 +2008,18 @@ public final class DexMakerTest extends TestCase { } public static File getDataDirectory() { + // Assume that this is being run as an APK by AndroidJUnitRunner and so get the directory + // where the APK can create files. + try { + // This will fail on Vogar as it will not register an Instrumentation. + return InstrumentationRegistry.getContext().getFilesDir(); + } catch (IllegalStateException t) { + // Drop through to an alternate mechanism for getting a directory that works on Vogar. + if (!t.getMessage().contains("No instrumentation registered!")) { + // The exception wasn't expected. + throw t; + } + } String envVariable = "ANDROID_DATA"; String defaultLoc = "/data"; String path = System.getenv(envVariable); diff --git a/dexmaker/src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java b/dexmaker/src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java index a959203..9c4cffe 100644 --- a/dexmaker/src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java +++ b/dexmaker/src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java @@ -37,7 +37,9 @@ public class ProxyBuilderTest extends TestCase { public void setUp() throws Exception { super.setUp(); - versionedDxDir.mkdirs(); + if (!versionedDxDir.exists() && !versionedDxDir.mkdirs()) { + throw new IOException("Could not create " + versionedDxDir); + } clearVersionedDxDir(); getGeneratedProxyClasses().clear(); } |