[Retrace] Update invalid retrace api test
Change-Id: I977bc0c070bac495b566b4c4717f3f15728c1713
diff --git a/src/test/java/com/android/tools/r8/retrace/RetraceOutsideLineRangeTest.java b/src/test/java/com/android/tools/r8/retrace/RetraceOutsideLineRangeTest.java
new file mode 100644
index 0000000..234ab06
--- /dev/null
+++ b/src/test/java/com/android/tools/r8/retrace/RetraceOutsideLineRangeTest.java
@@ -0,0 +1,86 @@
+// Copyright (c) 2022, the R8 project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+package com.android.tools.r8.retrace;
+
+import static org.junit.Assert.assertEquals;
+
+import com.android.tools.r8.DiagnosticsHandler;
+import com.android.tools.r8.TestBase;
+import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.TestParametersCollection;
+import com.android.tools.r8.references.ClassReference;
+import com.android.tools.r8.references.Reference;
+import java.util.List;
+import java.util.OptionalInt;
+import java.util.stream.Collectors;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameter;
+import org.junit.runners.Parameterized.Parameters;
+
+@RunWith(Parameterized.class)
+public class RetraceOutsideLineRangeTest extends TestBase {
+
+ @Parameter() public TestParameters parameters;
+
+ @Parameters(name = "{0}")
+ public static TestParametersCollection data() {
+ return getTestParameters().withNoneRuntime().build();
+ }
+
+ private final ClassReference someOtherClassOriginal =
+ Reference.classFromTypeName("some.other.Class");
+ private final ClassReference someOtherClassRenamed = Reference.classFromTypeName("a");
+ private final ClassReference someClassOriginal = Reference.classFromTypeName("some.Class");
+ private final ClassReference someClassRenamed = Reference.classFromTypeName("b");
+
+ private final String mapping =
+ someOtherClassOriginal.getTypeName()
+ + " -> "
+ + someOtherClassRenamed.getTypeName()
+ + ":\n"
+ + " void method1():42:42 -> a\n"
+ + someClassOriginal.getTypeName()
+ + " -> "
+ + someClassRenamed.getTypeName()
+ + ":\n"
+ + " 28:28:void foo.bar.inlinee():92:92 -> a\n"
+ + " 1:3:void method2():11:13 -> a\n"
+ + " 4:4:void method2():10:10 -> a\n"
+ + " 5:5:void method2():14 -> a\n";
+
+ @Test
+ public void testNoLine() {
+ Retracer retracer =
+ Retracer.createDefault(
+ ProguardMapProducer.fromString(mapping), new DiagnosticsHandler() {});
+ retraceClassMethodAndPosition(retracer, someClassRenamed, someClassOriginal, 2, 0);
+ retraceClassMethodAndPosition(retracer, someOtherClassRenamed, someOtherClassOriginal, 1, 1);
+ }
+
+ private void retraceClassMethodAndPosition(
+ Retracer retracer,
+ ClassReference renamedClass,
+ ClassReference originalClass,
+ int methodCount,
+ int frameCount) {
+ List<RetraceClassElement> classResult =
+ retracer.retraceClass(renamedClass).stream().collect(Collectors.toList());
+ assertEquals(classResult.size(), 1);
+ RetraceClassElement retraceClassResult = classResult.get(0);
+ assertEquals(originalClass, retraceClassResult.getRetracedClass().getClassReference());
+ RetraceMethodResult retraceMethodResult = retraceClassResult.lookupMethod("a");
+ List<RetraceMethodElement> classMethodResults =
+ retraceMethodResult.stream().collect(Collectors.toList());
+ assertEquals(methodCount, classMethodResults.size());
+ List<RetraceFrameElement> classResultFrames =
+ retraceMethodResult
+ .narrowByPosition(RetraceStackTraceContext.empty(), OptionalInt.of(6))
+ .stream()
+ .collect(Collectors.toList());
+ assertEquals(frameCount, classResultFrames.size());
+ }
+}
diff --git a/src/test/java/com/android/tools/r8/retrace/RetraceTests.java b/src/test/java/com/android/tools/r8/retrace/RetraceTests.java
index d60500f..431709c 100644
--- a/src/test/java/com/android/tools/r8/retrace/RetraceTests.java
+++ b/src/test/java/com/android/tools/r8/retrace/RetraceTests.java
@@ -210,7 +210,7 @@
}
@Test
- public void testAmbiguousMissingLine() throws Exception {
+ public void testAmbiguousWithSignatureStackTrace() throws Exception {
runRetraceTest(new AmbiguousWithSignatureStackTrace());
}
diff --git a/src/test/java/com/android/tools/r8/retrace/api/RetraceApiOutsideLineRangeTest.java b/src/test/java/com/android/tools/r8/retrace/api/RetraceApiOutsideLineRangeTest.java
deleted file mode 100644
index a3ba721..0000000
--- a/src/test/java/com/android/tools/r8/retrace/api/RetraceApiOutsideLineRangeTest.java
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright (c) 2021, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.android.tools.r8.retrace.api;
-
-import static org.junit.Assert.assertEquals;
-
-import com.android.tools.r8.DiagnosticsHandler;
-import com.android.tools.r8.TestParameters;
-import com.android.tools.r8.references.ClassReference;
-import com.android.tools.r8.references.Reference;
-import com.android.tools.r8.retrace.ProguardMapProducer;
-import com.android.tools.r8.retrace.RetraceClassElement;
-import com.android.tools.r8.retrace.RetraceFrameElement;
-import com.android.tools.r8.retrace.RetraceMethodElement;
-import com.android.tools.r8.retrace.RetraceMethodResult;
-import com.android.tools.r8.retrace.RetraceStackTraceContext;
-import com.android.tools.r8.retrace.Retracer;
-import java.util.List;
-import java.util.OptionalInt;
-import java.util.stream.Collectors;
-import org.junit.Test;
-
-public class RetraceApiOutsideLineRangeTest extends RetraceApiTestBase {
-
- public RetraceApiOutsideLineRangeTest(TestParameters parameters) {
- super(parameters);
- }
-
- @Override
- protected Class<? extends RetraceApiBinaryTest> binaryTestClass() {
- return ApiTest.class;
- }
-
- public static class ApiTest implements RetraceApiBinaryTest {
-
- private final ClassReference someOtherClassOriginal =
- Reference.classFromTypeName("some.other.Class");
- private final ClassReference someOtherClassRenamed = Reference.classFromTypeName("a");
- private final ClassReference someClassOriginal = Reference.classFromTypeName("some.Class");
- private final ClassReference someClassRenamed = Reference.classFromTypeName("b");
-
- private final String mapping =
- someOtherClassOriginal.getTypeName()
- + " -> "
- + someOtherClassRenamed.getTypeName()
- + ":\n"
- + " void method1():42:42 -> a\n"
- + someClassOriginal.getTypeName()
- + " -> "
- + someClassRenamed.getTypeName()
- + ":\n"
- + " 1:3:void method2():11:13 -> a\n"
- + " 4:4:void method2():10:10 -> a\n"
- + " 28:28:void foo.bar.inlinee():92:92 -> a\n"
- + " 5:5:void method2():14 -> a\n";
-
- @Test
- public void testNoLine() {
- Retracer retracer =
- Retracer.createDefault(
- ProguardMapProducer.fromString(mapping), new DiagnosticsHandler() {});
- retraceClassMethodAndPosition(retracer, someClassRenamed, someClassOriginal, 2, 0);
- retraceClassMethodAndPosition(retracer, someOtherClassRenamed, someOtherClassOriginal, 1, 1);
- }
-
- private void retraceClassMethodAndPosition(
- Retracer retracer,
- ClassReference renamedClass,
- ClassReference originalClass,
- int methodCount,
- int frameCount) {
- List<RetraceClassElement> classResult =
- retracer.retraceClass(renamedClass).stream().collect(Collectors.toList());
- assertEquals(classResult.size(), 1);
- RetraceClassElement retraceClassResult = classResult.get(0);
- assertEquals(originalClass, retraceClassResult.getRetracedClass().getClassReference());
- RetraceMethodResult retraceMethodResult = retraceClassResult.lookupMethod("a");
- List<RetraceMethodElement> classMethodResults =
- retraceMethodResult.stream().collect(Collectors.toList());
- assertEquals(methodCount, classMethodResults.size());
- List<RetraceFrameElement> classResultFrames =
- retraceMethodResult
- .narrowByPosition(RetraceStackTraceContext.empty(), OptionalInt.of(6))
- .stream()
- .collect(Collectors.toList());
- assertEquals(frameCount, classResultFrames.size());
- }
- }
-}
diff --git a/src/test/java/com/android/tools/r8/retrace/api/RetraceApiTestCollection.java b/src/test/java/com/android/tools/r8/retrace/api/RetraceApiTestCollection.java
index 327be4d..5b20d00 100644
--- a/src/test/java/com/android/tools/r8/retrace/api/RetraceApiTestCollection.java
+++ b/src/test/java/com/android/tools/r8/retrace/api/RetraceApiTestCollection.java
@@ -32,7 +32,6 @@
RetraceApiUnknownJsonTest.ApiTest.class,
RetraceApiRewriteFrameInlineNpeTest.ApiTest.class,
RetraceApiAmbiguousOriginalRangeTest.ApiTest.class,
- RetraceApiOutsideLineRangeTest.ApiTest.class,
RetraceApiRewriteFrameInlineNpeResidualTest.ApiTest.class,
RetraceApiOutlineNoInlineTest.ApiTest.class,
RetraceApiOutlineInlineTest.ApiTest.class,
diff --git a/third_party/retrace/binary_compatibility.tar.gz.sha1 b/third_party/retrace/binary_compatibility.tar.gz.sha1
index 750079a..bb0a4e3 100644
--- a/third_party/retrace/binary_compatibility.tar.gz.sha1
+++ b/third_party/retrace/binary_compatibility.tar.gz.sha1
@@ -1 +1 @@
-ed632240a9f5652ed988ccf84c5f592a487d24c3
\ No newline at end of file
+d4f61f4b1310f37c0dc7f143a928d5ece872cc05
\ No newline at end of file