summaryrefslogtreecommitdiffstats
path: root/jack-tests
diff options
context:
space:
mode:
authorYohann Roussel <yroussel@google.com>2015-02-23 11:29:44 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-02-23 11:29:44 +0000
commitbc938d50e0a020bcffd87c714eb5e5eab7932739 (patch)
tree126f96816aac2bd81e777a852cf894212fccc263 /jack-tests
parent01aefb8ecc7414d590da28dc2418ab9275fcd7a9 (diff)
parentab015969e23142f96b815ca3395fee2b6c9d5cb1 (diff)
downloadtoolchain_jack-bc938d50e0a020bcffd87c714eb5e5eab7932739.zip
toolchain_jack-bc938d50e0a020bcffd87c714eb5e5eab7932739.tar.gz
toolchain_jack-bc938d50e0a020bcffd87c714eb5e5eab7932739.tar.bz2
Merge "Do not rename 2 classes with the same name" into ub-jack
Diffstat (limited to 'jack-tests')
-rw-r--r--jack-tests/tests/com/android/jack/shrob/ObfuscationWithoutMappingTests.java93
-rw-r--r--jack-tests/tests/com/android/jack/shrob/test043/refsObfuscationWithoutMapping/expected-001.txt4
2 files changed, 19 insertions, 78 deletions
diff --git a/jack-tests/tests/com/android/jack/shrob/ObfuscationWithoutMappingTests.java b/jack-tests/tests/com/android/jack/shrob/ObfuscationWithoutMappingTests.java
index 065decf..77bf6d0 100644
--- a/jack-tests/tests/com/android/jack/shrob/ObfuscationWithoutMappingTests.java
+++ b/jack-tests/tests/com/android/jack/shrob/ObfuscationWithoutMappingTests.java
@@ -17,10 +17,10 @@
package com.android.jack.shrob;
import com.android.jack.Options;
-import com.android.jack.test.category.KnownBugs;
import com.android.jack.shrob.obfuscation.NameProviderFactory;
import com.android.jack.shrob.proguard.GrammarActions;
import com.android.jack.shrob.spec.Flags;
+import com.android.jack.test.category.KnownBugs;
import com.android.jack.test.comparator.ComparatorMapping;
import com.android.jack.test.helper.SourceToDexComparisonTestHelper;
import com.android.jack.test.toolchain.AbstractTestTools;
@@ -36,12 +36,23 @@ import javax.annotation.Nonnull;
public class ObfuscationWithoutMappingTests extends AbstractTest {
+
+
@Override
protected void runTest(
@Nonnull String testNumber,
@Nonnull String flagNumber,
@Nonnull String mappingNumber)
throws Exception {
+ runTest(testNumber, flagNumber, mappingNumber, "rot13");
+ }
+
+ protected void runTest(
+ @Nonnull String testNumber,
+ @Nonnull String flagNumber,
+ @Nonnull String mappingNumber,
+ @Nonnull String nameProvider)
+ throws Exception {
String testPackageName = "com.android.jack.shrob.test" + testNumber;
File testFolder = AbstractTestTools.getTestRootDir(testPackageName);
@@ -52,7 +63,7 @@ public class ObfuscationWithoutMappingTests extends AbstractTest {
GrammarActions.parse("proguard.flags" + flagNumber, testFolder.getAbsolutePath(), flags);
File refFolder = new File(testFolder, "refsObfuscationWithoutMapping");
- toolchain.addProperty(NameProviderFactory.NAMEPROVIDER.getName(), "rot13");
+ toolchain.addProperty(NameProviderFactory.NAMEPROVIDER.getName(), nameProvider);
toolchain.addProperty(Options.METHOD_FILTER.getName(), "supported-methods");
File candidateOutputMapping = AbstractTestTools.createTempFile("mapping", ".txt");
@@ -67,53 +78,6 @@ public class ObfuscationWithoutMappingTests extends AbstractTest {
env.setReferenceTestTools(new DummyToolchain());
env.runTest(new ComparatorMapping(candidateOutputMapping, refOutputMapping));
-
- // // ==============================================================
-
- /*
- * Comment for reviewers: the following code is an attempt to use jack based toolchain.
- * It works, but requires to manipulate (copy, write...) shrob flags.
- * Here I added a shrob option manually, but ideally to be able to use
- * a Flags like object for CLI based toochains, we must be able to dump
- * the flags as a file (TBD). Plus, if flags have "-include" directives with relative
- * paths, files must be in the same location.
- */
-
-//
-// String testName = "shrob/test" + testNumber;
-// File testFolder = TestTools.getJackTestFolder(testName);
-// File refFolder = new File(testFolder, "refsObfuscationWithoutMapping");
-//
-// JackBasedToolchain jackToolchain = AbstractTestTools.getJackBasedToolchainAsCandidate();
-//
-// jackToolchain.addProperty(NameProviderFactory.NAMEPROVIDER.getName(), "rot13");
-// jackToolchain.addProperty(Options.METHOD_FILTER.getName(), "supported-methods");
-//
-// File candidateOutputMapping = TestTools.createTempFile("mapping", ".txt");
-// File refOutputMapping = new File(refFolder, "expected-" + flagNumber + ".txt");
-//
-// jackToolchain.getCompilationResult().proguardMappingFile = candidateOutputMapping;
-//
-// // TODO(jmhenaff): having to seems like a no go for JackBasedToolchain (i.e. cli)
-// File candidateFlags = new File(testFolder.getAbsolutePath(), "tmp-proguard.flags" + flagNumber);
-// candidateFlags.deleteOnExit();
-// appendStringToFileCopy(new File(testFolder.getAbsolutePath(), "proguard.flags" + flagNumber),
-// candidateFlags, "-printmapping " + candidateOutputMapping.getAbsolutePath());
-//
-// SourceToDexComparisonTestEnv env = new SourceToDexComparisonTestEnv(bootclasspath, classpath,
-// TestTools.getJackTestsWithJackFolder(testName));
-//
-// env.setProguardFlags(new ProguardFlags[] {new ProguardFlags(candidateFlags)});
-//
-// CompilationResult compilationResult = new CompilationResult();
-// compilationResult.proguardMappingFile = refOutputMapping;
-//
-// env.setCandidateTestTools(jackToolchain);
-// env.setReferenceTestTools(new DummyTestTools(compilationResult));
-//
-// env.addComparator(env.createMappingComparator());
-// env.compare();
-
}
@Override
@@ -138,33 +102,10 @@ public class ObfuscationWithoutMappingTests extends AbstractTest {
}
@Test
- @Category(KnownBugs.class)
public void test43_001() throws Exception {
- runTest("043", "001", "");
+ /* Use "lower-case" name provider because a rot13 has invalid behavior on sources that would
+ * allow to reproduce the problem. Using "lower-case" makes it a very fragile test anyway
+ */
+ runTest("043", "001", "", "lower-case");
}
-
-// private void appendStringToFileCopy(File source, File dest, String appended) throws IOException {
-// BufferedReader reader = null;
-// BufferedWriter writer = null;
-// try {
-// reader = new BufferedReader(new FileReader(source));
-// writer = new BufferedWriter(new FileWriter(dest));
-// String line;
-// while ((line = reader.readLine()) != null) {
-// writer.write(line);
-// writer.write("\n");
-// }
-// writer.write(appended);
-// } finally {
-// try {
-// reader.close();
-// } catch (IOException e) {
-// }
-// try {
-// writer.close();
-// } catch (IOException e) {
-// }
-// }
-// }
-
}
diff --git a/jack-tests/tests/com/android/jack/shrob/test043/refsObfuscationWithoutMapping/expected-001.txt b/jack-tests/tests/com/android/jack/shrob/test043/refsObfuscationWithoutMapping/expected-001.txt
index 8f11a51..5725166 100644
--- a/jack-tests/tests/com/android/jack/shrob/test043/refsObfuscationWithoutMapping/expected-001.txt
+++ b/jack-tests/tests/com/android/jack/shrob/test043/refsObfuscationWithoutMapping/expected-001.txt
@@ -1,4 +1,4 @@
-com.android.jack.shrob.test043.jack.packb.ClassA1 -> com.android.jack.shrob.test043.jack.PynggN1:
+com.android.jack.shrob.test043.jack.packa.ClassA1 -> com.android.jack.shrob.test043.jack.a:
void <init>() -> <init>
-com.android.jack.shrob.test043.jack.packa.ClassA1 -> com.android.jack.shrob.test043.jack.PynggN1:
+com.android.jack.shrob.test043.jack.packb.ClassA1 -> com.android.jack.shrob.test043.jack.b:
void <init>() -> <init>