aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/android
diff options
context:
space:
mode:
authorGravatar kmb <kmb@google.com>2018-03-12 21:37:51 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-12 21:40:00 -0700
commit2cbeb24a9c41c6b14ecbb26e2e198fbaf79aea64 (patch)
tree472a5fd3ad9a4ad69dac57376f4de4090ffc02e6 /src/test/java/com/google/devtools/build/android
parent0084e16b55ad54f7aeeffd6d003ea3506039d957 (diff)
Make KeepScanner tool search classpath for nearest definition of each member reference, instead of potentially referring to a subtype.
Refactor desugar's class loading machinery and related code into a separate package for easier reuse in this tool. RELNOTES: None. PiperOrigin-RevId: 188825305
Diffstat (limited to 'src/test/java/com/google/devtools/build/android')
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/BUILD30
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/CoreLibrarySupportTest.java1
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/CorePackageRenamerTest.java1
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/DefaultMethodClassFixerTest.java5
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/Java7CompatibilityTest.java1
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/TryWithResourcesRewriterTest.java1
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/io/BUILD53
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/io/FieldInfoTest.java (renamed from src/test/java/com/google/devtools/build/android/desugar/FieldInfoTest.java)2
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/io/IndexedInputsTest.java (renamed from src/test/java/com/google/devtools/build/android/desugar/IndexedInputsTest.java)2
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/scan/testdata/CollectionReferences.java4
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/scan/testdata_golden.txt16
11 files changed, 90 insertions, 26 deletions
diff --git a/src/test/java/com/google/devtools/build/android/desugar/BUILD b/src/test/java/com/google/devtools/build/android/desugar/BUILD
index 602a48e326..da56672a5c 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/BUILD
+++ b/src/test/java/com/google/devtools/build/android/desugar/BUILD
@@ -13,6 +13,7 @@ filegroup(
srcs = glob(["**"]) + [
"//src/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference:srcs",
"//src/test/java/com/google/devtools/build/android/desugar/dependencies:srcs",
+ "//src/test/java/com/google/devtools/build/android/desugar/io:srcs",
"//src/test/java/com/google/devtools/build/android/desugar/runtime:srcs",
],
visibility = ["//src/test/java/com/google/devtools/build/android:__pkg__"],
@@ -367,6 +368,7 @@ java_test(
deps = [
"//src/tools/android/java/com/google/devtools/build/android/desugar",
"//src/tools/android/java/com/google/devtools/build/android/desugar:deps_collector_api",
+ "//src/tools/android/java/com/google/devtools/build/android/desugar/io",
"//third_party:asm",
"//third_party:asm-tree",
"//third_party:guava",
@@ -388,22 +390,12 @@ java_test(
)
java_test(
- name = "FieldInfoTest",
- size = "small",
- srcs = ["FieldInfoTest.java"],
- deps = [
- "//src/tools/android/java/com/google/devtools/build/android/desugar",
- "//third_party:junit4",
- "//third_party:truth",
- ],
-)
-
-java_test(
name = "Java7CompatibilityTest",
size = "small",
srcs = ["Java7CompatibilityTest.java"],
deps = [
"//src/tools/android/java/com/google/devtools/build/android/desugar",
+ "//src/tools/android/java/com/google/devtools/build/android/desugar/io",
"//third_party:asm",
"//third_party:junit4",
"//third_party:truth",
@@ -411,18 +403,6 @@ java_test(
)
java_test(
- name = "IndexedInputsTest",
- size = "small",
- srcs = ["IndexedInputsTest.java"],
- deps = [
- "//src/tools/android/java/com/google/devtools/build/android/desugar",
- "//third_party:guava",
- "//third_party:junit4",
- "//third_party:truth",
- ],
-)
-
-java_test(
name = "TryWithResourcesRewriterUnitTestWithReuseStrategy",
size = "small",
srcs = [
@@ -439,6 +419,7 @@ java_test(
":testdata",
"//src/test/java/com/google/devtools/build/android/desugar/runtime:throwable_extension_test_utility",
"//src/tools/android/java/com/google/devtools/build/android/desugar",
+ "//src/tools/android/java/com/google/devtools/build/android/desugar/io",
"//src/tools/android/java/com/google/devtools/build/android/desugar/runtime:throwable_extension",
"//third_party:asm",
"//third_party:guava",
@@ -464,6 +445,7 @@ java_test(
":testdata",
"//src/test/java/com/google/devtools/build/android/desugar/runtime:throwable_extension_test_utility",
"//src/tools/android/java/com/google/devtools/build/android/desugar",
+ "//src/tools/android/java/com/google/devtools/build/android/desugar/io",
"//src/tools/android/java/com/google/devtools/build/android/desugar/runtime:throwable_extension",
"//third_party:asm",
"//third_party:guava",
@@ -490,6 +472,7 @@ java_test(
":testdata",
"//src/test/java/com/google/devtools/build/android/desugar/runtime:throwable_extension_test_utility",
"//src/tools/android/java/com/google/devtools/build/android/desugar",
+ "//src/tools/android/java/com/google/devtools/build/android/desugar/io",
"//src/tools/android/java/com/google/devtools/build/android/desugar/runtime:throwable_extension",
"//third_party:asm",
"//third_party:guava",
@@ -1971,6 +1954,7 @@ test_suite(
":windows_tests",
"//src/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference:all_windows_tests",
"//src/test/java/com/google/devtools/build/android/desugar/dependencies:all_windows_tests",
+ "//src/test/java/com/google/devtools/build/android/desugar/io:all_windows_tests",
"//src/test/java/com/google/devtools/build/android/desugar/runtime:all_windows_tests",
],
visibility = ["//src/test/java/com/google/devtools/build/android:__pkg__"],
diff --git a/src/test/java/com/google/devtools/build/android/desugar/CoreLibrarySupportTest.java b/src/test/java/com/google/devtools/build/android/desugar/CoreLibrarySupportTest.java
index ec4e16d8dd..42f1f78c97 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/CoreLibrarySupportTest.java
+++ b/src/test/java/com/google/devtools/build/android/desugar/CoreLibrarySupportTest.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.android.desugar;
import static com.google.common.truth.Truth.assertThat;
import com.google.common.collect.ImmutableList;
+import com.google.devtools.build.android.desugar.io.CoreLibraryRewriter;
import java.util.Collection;
import java.util.Comparator;
import java.util.Map;
diff --git a/src/test/java/com/google/devtools/build/android/desugar/CorePackageRenamerTest.java b/src/test/java/com/google/devtools/build/android/desugar/CorePackageRenamerTest.java
index 2bdd58bd8d..5220ed6f18 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/CorePackageRenamerTest.java
+++ b/src/test/java/com/google/devtools/build/android/desugar/CorePackageRenamerTest.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.android.desugar;
import static com.google.common.truth.Truth.assertThat;
import com.google.common.collect.ImmutableList;
+import com.google.devtools.build.android.desugar.io.CoreLibraryRewriter;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
diff --git a/src/test/java/com/google/devtools/build/android/desugar/DefaultMethodClassFixerTest.java b/src/test/java/com/google/devtools/build/android/desugar/DefaultMethodClassFixerTest.java
index faa6dda932..406a36f481 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/DefaultMethodClassFixerTest.java
+++ b/src/test/java/com/google/devtools/build/android/desugar/DefaultMethodClassFixerTest.java
@@ -19,7 +19,10 @@ import static com.google.devtools.build.android.desugar.DefaultMethodClassFixer.
import com.google.common.collect.ImmutableList;
import com.google.common.io.Closer;
-import com.google.devtools.build.android.desugar.Desugar.ThrowingClassLoader;
+import com.google.devtools.build.android.desugar.io.CoreLibraryRewriter;
+import com.google.devtools.build.android.desugar.io.HeaderClassLoader;
+import com.google.devtools.build.android.desugar.io.IndexedInputs;
+import com.google.devtools.build.android.desugar.io.ThrowingClassLoader;
import java.io.File;
import java.io.IOException;
import java.io.Serializable;
diff --git a/src/test/java/com/google/devtools/build/android/desugar/Java7CompatibilityTest.java b/src/test/java/com/google/devtools/build/android/desugar/Java7CompatibilityTest.java
index 2eab943aba..99e51c1551 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/Java7CompatibilityTest.java
+++ b/src/test/java/com/google/devtools/build/android/desugar/Java7CompatibilityTest.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.android.desugar;
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.fail;
+import com.google.devtools.build.android.desugar.io.BitFlags;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
diff --git a/src/test/java/com/google/devtools/build/android/desugar/TryWithResourcesRewriterTest.java b/src/test/java/com/google/devtools/build/android/desugar/TryWithResourcesRewriterTest.java
index 37afae7236..dc0da22d47 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/TryWithResourcesRewriterTest.java
+++ b/src/test/java/com/google/devtools/build/android/desugar/TryWithResourcesRewriterTest.java
@@ -25,6 +25,7 @@ import static org.objectweb.asm.Opcodes.ASM5;
import static org.objectweb.asm.Opcodes.INVOKESTATIC;
import static org.objectweb.asm.Opcodes.INVOKEVIRTUAL;
+import com.google.devtools.build.android.desugar.io.BitFlags;
import com.google.devtools.build.android.desugar.runtime.ThrowableExtension;
import com.google.devtools.build.android.desugar.testdata.ClassUsingTryWithResources;
import java.io.IOException;
diff --git a/src/test/java/com/google/devtools/build/android/desugar/io/BUILD b/src/test/java/com/google/devtools/build/android/desugar/io/BUILD
new file mode 100644
index 0000000000..d968a7b9b9
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/android/desugar/io/BUILD
@@ -0,0 +1,53 @@
+# Description:
+# Tests for the Java 8 desugaring tool for Android.
+package(
+ default_testonly = 1,
+)
+
+licenses(["notice"]) # Apache 2.0
+
+filegroup(
+ name = "srcs",
+ testonly = 0,
+ srcs = glob(["**"]),
+ visibility = ["//src/test/java/com/google/devtools/build/android/desugar:__pkg__"],
+)
+
+java_test(
+ name = "FieldInfoTest",
+ size = "small",
+ srcs = ["FieldInfoTest.java"],
+ deps = [
+ "//src/tools/android/java/com/google/devtools/build/android/desugar/io",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
+java_test(
+ name = "IndexedInputsTest",
+ size = "small",
+ srcs = ["IndexedInputsTest.java"],
+ deps = [
+ "//src/tools/android/java/com/google/devtools/build/android/desugar/io",
+ "//third_party:guava",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
+test_suite(
+ name = "windows_tests",
+ tags = [
+ "-no_windows",
+ "-slow",
+ ],
+)
+
+test_suite(
+ name = "all_windows_tests",
+ tests = [
+ ":windows_tests",
+ ],
+ visibility = ["//src/test/java/com/google/devtools/build/android/desugar:__pkg__"],
+)
diff --git a/src/test/java/com/google/devtools/build/android/desugar/FieldInfoTest.java b/src/test/java/com/google/devtools/build/android/desugar/io/FieldInfoTest.java
index afb2beacbd..0579822328 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/FieldInfoTest.java
+++ b/src/test/java/com/google/devtools/build/android/desugar/io/FieldInfoTest.java
@@ -11,7 +11,7 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.devtools.build.android.desugar;
+package com.google.devtools.build.android.desugar.io;
import static com.google.common.truth.Truth.assertThat;
diff --git a/src/test/java/com/google/devtools/build/android/desugar/IndexedInputsTest.java b/src/test/java/com/google/devtools/build/android/desugar/io/IndexedInputsTest.java
index bac3fc92cd..81a4b31c3c 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/IndexedInputsTest.java
+++ b/src/test/java/com/google/devtools/build/android/desugar/io/IndexedInputsTest.java
@@ -11,7 +11,7 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.devtools.build.android.desugar;
+package com.google.devtools.build.android.desugar.io;
import static com.google.common.truth.Truth.assertThat;
diff --git a/src/test/java/com/google/devtools/build/android/desugar/scan/testdata/CollectionReferences.java b/src/test/java/com/google/devtools/build/android/desugar/scan/testdata/CollectionReferences.java
index 482c32a9ba..830364c06c 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/scan/testdata/CollectionReferences.java
+++ b/src/test/java/com/google/devtools/build/android/desugar/scan/testdata/CollectionReferences.java
@@ -54,6 +54,10 @@ public class CollectionReferences {
return result;
}
+ public void expire(long before) {
+ dates.removeIf(d -> d.getTime() < before);
+ }
+
static {
System.out.println("Hello!");
}
diff --git a/src/test/java/com/google/devtools/build/android/desugar/scan/testdata_golden.txt b/src/test/java/com/google/devtools/build/android/desugar/scan/testdata_golden.txt
index 35744cefd9..60825763f5 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/scan/testdata_golden.txt
+++ b/src/test/java/com/google/devtools/build/android/desugar/scan/testdata_golden.txt
@@ -18,6 +18,19 @@
-keep class java.lang.System {
*** out;
}
+-keep class java.lang.invoke.CallSite {
+}
+-keep class java.lang.invoke.LambdaMetafactory {
+ *** metafactory(java.lang.invoke.MethodHandles$Lookup, java.lang.String, java.lang.invoke.MethodType, java.lang.invoke.MethodType, java.lang.invoke.MethodHandle, java.lang.invoke.MethodType);
+}
+-keep class java.lang.invoke.MethodHandle {
+}
+-keep class java.lang.invoke.MethodHandles {
+}
+-keep class java.lang.invoke.MethodHandles$Lookup {
+}
+-keep class java.lang.invoke.MethodType {
+}
-keep class java.util.AbstractList {
}
-keep class java.util.ArrayList {
@@ -28,6 +41,7 @@
*** iterator();
}
-keep class java.util.Collection {
+ *** removeIf(java.util.function.Predicate);
}
-keep class java.util.Date {
<init>(long);
@@ -44,3 +58,5 @@
*** get(int);
*** iterator();
}
+-keep class java.util.function.Predicate {
+}