summaryrefslogtreecommitdiffstats
path: root/jack-tests
diff options
context:
space:
mode:
authorBenoit Lamarche <benoitlamarche@google.com>2015-04-07 14:35:23 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-04-07 14:35:24 +0000
commitb645908a436ee68af9a556ad12570d4c4653f55c (patch)
treeb380f708bf8a4a9fd7079c726bd9909fcac728c4 /jack-tests
parentd77902744312589a960ec315c7e927b07d9bb803 (diff)
parent7585c6828f091bee8fee380da9c838dcf16f09fd (diff)
downloadtoolchain_jack-b645908a436ee68af9a556ad12570d4c4653f55c.zip
toolchain_jack-b645908a436ee68af9a556ad12570d4c4653f55c.tar.gz
toolchain_jack-b645908a436ee68af9a556ad12570d4c4653f55c.tar.bz2
Merge "Fix issue with not existing classpath entry" into ub-jack
Diffstat (limited to 'jack-tests')
-rw-r--r--jack-tests/tests/com/android/jack/classpath/ClasspathTests.java31
1 files changed, 24 insertions, 7 deletions
diff --git a/jack-tests/tests/com/android/jack/classpath/ClasspathTests.java b/jack-tests/tests/com/android/jack/classpath/ClasspathTests.java
index addb5a1..9eec59e 100644
--- a/jack-tests/tests/com/android/jack/classpath/ClasspathTests.java
+++ b/jack-tests/tests/com/android/jack/classpath/ClasspathTests.java
@@ -31,6 +31,7 @@ import junit.framework.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
+import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -161,23 +162,39 @@ public class ClasspathTests {
@Test
public void testMissingClasspathEntry() throws Exception {
- JackApiToolchainBase toolchain =
- AbstractTestTools.getCandidateToolchain(JackApiToolchainBase.class);
+ JackApiToolchainBase toolchain = AbstractTestTools.getCandidateToolchain();
File srcDir = AbstractTestTools.getTestRootDir("com.android.jack.classpath.test004.jack");
File testOut = AbstractTestTools.createTempFile("ClasspathTest", "missing");
+ ByteArrayOutputStream errOut = new ByteArrayOutputStream();
+ toolchain.setErrorStream(errOut);
toolchain.addToClasspath(toolchain.getDefaultBootClasspath())
- .addToClasspath(new File(srcDir, "missing.jack"))
- .srcToLib(testOut, /* zipFiles = */ true, srcDir);
+ .addToClasspath(new File(srcDir, "missing.jack")).srcToLib(testOut, /* zipFiles = */ true,
+ srcDir);
+ String errString = errOut.toString();
+ Assert.assertTrue(errString.contains("Bad classpath entry ignored"));
+ Assert.assertTrue(errString.contains("missing.jack\' does not exist"));
+ }
- toolchain = AbstractTestTools.getCandidateToolchain(JackApiToolchainBase.class);
+ @Test
+ public void testMissingClasspathEntryStrict() throws Exception {
+ JackApiToolchainBase toolchain =
+ AbstractTestTools.getCandidateToolchain(JackApiToolchainBase.class);
+ File srcDir = AbstractTestTools.getTestRootDir("com.android.jack.classpath.test004.jack");
+ File testOut = AbstractTestTools.createTempFile("ClasspathTest", "missing");
+ ByteArrayOutputStream errOut = new ByteArrayOutputStream();
+ toolchain.setErrorStream(errOut);
toolchain.addProperty(Jack.STRICT_CLASSPATH.getName(), "true");
try {
toolchain.addToClasspath(toolchain.getDefaultBootClasspath())
- .addToClasspath(new File(srcDir, "missing.jack"))
- .srcToLib(testOut, /* zipFiles = */ true, srcDir);
+ .addToClasspath(new File(srcDir, "missing.jack")).srcToLib(testOut, /* zipFiles = */ true,
+ srcDir);
Assert.fail();
} catch (JackAbortException e) {
Assert.assertTrue(e.getCause() instanceof LibraryReadingException);
+ } finally {
+ String errString = errOut.toString();
+ Assert.assertTrue(errString.contains("Error during the library reading phase"));
+ Assert.assertTrue(errString.contains("missing.jack\' does not exist"));
}
}