diff options
author | Benoit Lamarche <benoitlamarche@google.com> | 2015-04-07 14:35:23 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-04-07 14:35:24 +0000 |
commit | b645908a436ee68af9a556ad12570d4c4653f55c (patch) | |
tree | b380f708bf8a4a9fd7079c726bd9909fcac728c4 /jack-tests | |
parent | d77902744312589a960ec315c7e927b07d9bb803 (diff) | |
parent | 7585c6828f091bee8fee380da9c838dcf16f09fd (diff) | |
download | toolchain_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.java | 31 |
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")); } } |