From 3349caa6b3fffbb6b25cebf4357a071d2910e9e4 Mon Sep 17 00:00:00 2001 From: mikaelpeltier Date: Wed, 29 Apr 2015 12:01:08 +0200 Subject: During shrinking generate error if they are unknow types - When shrinking all used types must be passed into classpath, without these types into classpath, Jack could shrink class members that it should not. Bug: 20135591 Change-Id: I13a82b4cc47da27fa3f12330df9b630ea6628f48 --- jack-tests/tests/com/android/jack/fileconflict/FileConflictTests.java | 1 + jack-tests/tests/com/android/jack/resource/ResourceTests.java | 4 ++++ jack-tests/tests/com/android/jack/shrob/ShrinkTests.java | 3 +++ 3 files changed, 8 insertions(+) (limited to 'jack-tests/tests') diff --git a/jack-tests/tests/com/android/jack/fileconflict/FileConflictTests.java b/jack-tests/tests/com/android/jack/fileconflict/FileConflictTests.java index 44128a9..094d72c 100644 --- a/jack-tests/tests/com/android/jack/fileconflict/FileConflictTests.java +++ b/jack-tests/tests/com/android/jack/fileconflict/FileConflictTests.java @@ -577,6 +577,7 @@ public class FileConflictTests { toolchain = getToolchain(isApiTest); toolchain.addProguardFlags(new File(TEST001_DIR, "proguard.flags")); toolchain.addStaticLibs(jackImport1, jackImport2); + toolchain.addToClasspath(toolchain.getDefaultBootClasspath()); if (collisionPolicy != null) { toolchain.addProperty(JayceFileImporter.COLLISION_POLICY.getName(), collisionPolicy); } diff --git a/jack-tests/tests/com/android/jack/resource/ResourceTests.java b/jack-tests/tests/com/android/jack/resource/ResourceTests.java index a5d46ff..ca8ee9b 100644 --- a/jack-tests/tests/com/android/jack/resource/ResourceTests.java +++ b/jack-tests/tests/com/android/jack/resource/ResourceTests.java @@ -143,6 +143,7 @@ public class ResourceTests { File shrobbedJackAr = AbstractTestTools.createTempFile("shrobbedJackAr", toolchain.getLibraryExtension()); toolchain.addProguardFlags(new File(FILE, "proguard.flags")); + toolchain.addToClasspath(toolchain.getDefaultBootClasspath()); toolchain.libToLib(jackAr, shrobbedJackAr, /* zipFiles = */ true); // check that resources are contained in dex archive @@ -170,6 +171,7 @@ public class ResourceTests { File shrobbedJackAr = AbstractTestTools.createTempFile("shrobbedJackAr", toolchain.getLibraryExtension()); toolchain.addProguardFlags(new File(FILE, "proguard.flags")); + toolchain.addToClasspath(toolchain.getDefaultBootClasspath()); toolchain.libToLib(jackFolder, shrobbedJackAr, /* zipFiles = */ true); // check that resources are contained in Jack archive @@ -189,6 +191,7 @@ public class ResourceTests { File shrobbedJackDir = AbstractTestTools.createTempDir(); JackBasedToolchain toolchain = AbstractTestTools.getCandidateToolchain(JackBasedToolchain.class); toolchain.addProguardFlags(new File(FILE, "proguard.flags")); + toolchain.addToClasspath(toolchain.getDefaultBootClasspath()); toolchain.libToLib(jackAr, shrobbedJackDir, /* zipFiles = */ false); // check that resources are contained in Jack dir @@ -215,6 +218,7 @@ public class ResourceTests { File shrobbedJackDir = AbstractTestTools.createTempDir(); toolchain = AbstractTestTools.getCandidateToolchain(JackBasedToolchain.class); toolchain.addProguardFlags(new File(FILE, "proguard.flags")); + toolchain.addToClasspath(toolchain.getDefaultBootClasspath()); toolchain.libToLib(jackFolder, shrobbedJackDir, /* zipFiles = */ false); // check that resources are contained in Jack dir diff --git a/jack-tests/tests/com/android/jack/shrob/ShrinkTests.java b/jack-tests/tests/com/android/jack/shrob/ShrinkTests.java index 9053d38..396380e 100644 --- a/jack-tests/tests/com/android/jack/shrob/ShrinkTests.java +++ b/jack-tests/tests/com/android/jack/shrob/ShrinkTests.java @@ -167,6 +167,7 @@ public class ShrinkTests extends AbstractTest { toolchain.addProguardFlags( dontObfuscateFlagFile, new ProguardFlags(new File(shrobTestsDir, "test020"),"proguard.flags")); + toolchain.addToClasspath(toolchain.getDefaultBootClasspath()); toolchain.libToLib( testOut, shrinkOut, @@ -216,6 +217,7 @@ public class ShrinkTests extends AbstractTest { dontObfuscateFlagFile, new ProguardFlags(new File( shrobTestsDir, "test021"),"proguard.flags001")); shrinkOut = AbstractTestTools.createTempDir(); + toolchain.addToClasspath(toolchain.getDefaultBootClasspath()); toolchain.libToLib(jackOut, shrinkOut, /* zipFiles = */ false); new ComparatorMapping(candidateNodeListing, @@ -223,6 +225,7 @@ public class ShrinkTests extends AbstractTest { dexOut = AbstractTestTools.createTempDir(); toolchain = AbstractTestTools.getCandidateToolchain(JackApiToolchainBase.class); + toolchain.addToClasspath(toolchain.getDefaultBootClasspath()); toolchain.libToExe(shrinkOut, dexOut, /* zipFile = */ false); } catch (Exception e) { -- cgit v1.1