Merge "Rename getters in AppView for convenience"
diff --git a/build.gradle b/build.gradle
index eed9769..06a0632 100644
--- a/build.gradle
+++ b/build.gradle
@@ -416,6 +416,13 @@
     targetCompatibility = JavaVersion.VERSION_1_8
 }
 
+// Javac often runs out of stack space when compiling the tests.
+// Increase the stack size for the javac process.
+tasks.withType(JavaCompile) {
+    options.fork = true
+    options.forkOptions.jvmArgs = ["-Xss4m"]
+}
+
 tasks.withType(JavaCompile) {
     options.compilerArgs << '-Xlint:unchecked'
 }
diff --git a/src/main/java/com/android/tools/r8/Version.java b/src/main/java/com/android/tools/r8/Version.java
index 87232d2..0d4e79d 100644
--- a/src/main/java/com/android/tools/r8/Version.java
+++ b/src/main/java/com/android/tools/r8/Version.java
@@ -11,7 +11,7 @@
 
   // This field is accessed from release scripts using simple pattern matching.
   // Therefore, changing this field could break our release scripts.
-  public static final String LABEL = "1.3.22-dev";
+  public static final String LABEL = "1.4.0-dev";
 
   private Version() {
   }
diff --git a/src/main/java/com/android/tools/r8/cf/LoadStoreHelper.java b/src/main/java/com/android/tools/r8/cf/LoadStoreHelper.java
index 12c1321..aa3457b 100644
--- a/src/main/java/com/android/tools/r8/cf/LoadStoreHelper.java
+++ b/src/main/java/com/android/tools/r8/cf/LoadStoreHelper.java
@@ -63,8 +63,9 @@
             }
           }
           InstructionListIterator it = pred.listIterator(pred.getInstructions().size());
-          it.previous();
-          movePhis(moves, it);
+          Instruction exit = it.previous();
+          assert pred.exit() == exit;
+          movePhis(moves, it, exit.getPosition());
         }
         allocator.addToLiveAtEntrySet(block, block.getPhis());
       }
@@ -137,13 +138,13 @@
     }
   }
 
-  private void movePhis(List<PhiMove> moves, InstructionListIterator it) {
+  private void movePhis(List<PhiMove> moves, InstructionListIterator it, Position position) {
     // TODO(zerny): Accounting for non-interfering phis would lower the max stack size.
     int topOfStack = 0;
     List<StackValue> temps = new ArrayList<>(moves.size());
     for (PhiMove move : moves) {
       StackValue tmp = createStackValue(move.phi, topOfStack++);
-      add(load(tmp, move.operand), move.phi.getBlock(), Position.none(), it);
+      add(load(tmp, move.operand), move.phi.getBlock(), position, it);
       temps.add(tmp);
       move.operand.removePhiUser(move.phi);
     }
@@ -151,7 +152,7 @@
       PhiMove move = moves.get(i);
       StackValue tmp = temps.get(i);
       FixedLocalValue out = new FixedLocalValue(move.phi);
-      add(new Store(out, tmp), move.phi.getBlock(), Position.none(), it);
+      add(new Store(out, tmp), move.phi.getBlock(), position, it);
       move.phi.replaceUsers(out);
     }
   }
diff --git a/src/main/java/com/android/tools/r8/graph/DexDebugEventBuilder.java b/src/main/java/com/android/tools/r8/graph/DexDebugEventBuilder.java
index bfc0a9f..18f23e3 100644
--- a/src/main/java/com/android/tools/r8/graph/DexDebugEventBuilder.java
+++ b/src/main/java/com/android/tools/r8/graph/DexDebugEventBuilder.java
@@ -82,16 +82,8 @@
     Position position = instruction.getPosition();
     boolean pcAdvancing = pc != postPc;
 
-    // In release mode we can only check that all throwing instructions have positions.
-    // See IRCode's isConsistentGraph and computeAllThrowingInstructionsHavePositions.
-
     // In debug mode check that all non-nop instructions have positions.
-    assert startLine == NO_LINE_INFO || !hasDebugPositions || !pcAdvancing || position.isSome()
-        : "PC-advancing instruction " + instruction + " expected to have an associated position.";
-
-    // In any mode check that nop instructions have no position info.
-    assert pcAdvancing || position.isNone()
-        : "Nop instruction " + instruction + " must never have an associated position.";
+    assert instruction.verifyValidPositionInfo(options.debug);
 
     if (instruction.isArgument()) {
       startArgument(instruction.asArgument());
diff --git a/src/main/java/com/android/tools/r8/graph/DexItemFactory.java b/src/main/java/com/android/tools/r8/graph/DexItemFactory.java
index 403790c..b02222f 100644
--- a/src/main/java/com/android/tools/r8/graph/DexItemFactory.java
+++ b/src/main/java/com/android/tools/r8/graph/DexItemFactory.java
@@ -192,6 +192,7 @@
   public final DexType stringArrayType = createType(stringArrayDescriptor);
   public final DexType objectType = createType(objectDescriptor);
   public final DexType objectArrayType = createType(objectArrayDescriptor);
+  public final DexType classArrayType = createType(classArrayDescriptor);
   public final DexType enumType = createType(enumDescriptor);
   public final DexType annotationType = createType(annotationDescriptor);
   public final DexType throwableType = createType(throwableDescriptor);
@@ -214,6 +215,8 @@
   public final LongMethods longMethods = new LongMethods();
   public final ThrowableMethods throwableMethods = new ThrowableMethods();
   public final ClassMethods classMethods = new ClassMethods();
+  public final PrimitiveTypesBoxedTypeFields primitiveTypesBoxedTypeFields =
+      new PrimitiveTypesBoxedTypeFields();
   public final AtomicFieldUpdaterMethods atomicFieldUpdaterMethods =
       new AtomicFieldUpdaterMethods();
   public final Kotlin kotlin;
@@ -403,8 +406,54 @@
   }
 
   /**
+   * All boxed types (Boolean, Byte, ...) have a field named TYPE which contains the Class object
+   * for the primitive type.
+   *
+   * E.g. for Boolean https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html#TYPE.
+   */
+  public class PrimitiveTypesBoxedTypeFields {
+    public DexField booleanTYPE;
+    public DexField byteTYPE;
+    public DexField charTYPE;
+    public DexField shortTYPE;
+    public DexField intTYPE;
+    public DexField longTYPE;
+    public DexField floatTYPE;
+    public DexField doubleTYPE;
+
+    private final Map<DexField, DexType> boxedFieldTypeToPrimitiveType;
+
+    private PrimitiveTypesBoxedTypeFields() {
+      booleanTYPE = createField(boxedBooleanType, classType, "TYPE");
+      byteTYPE = createField(boxedByteType, classType, "TYPE");
+      charTYPE = createField(boxedCharType, classType, "TYPE");
+      shortTYPE = createField(boxedShortType, classType, "TYPE");
+      intTYPE = createField(boxedIntType, classType, "TYPE");
+      longTYPE = createField(boxedLongType, classType, "TYPE");
+      floatTYPE = createField(boxedFloatType, classType, "TYPE");
+      doubleTYPE = createField(boxedDoubleType, classType, "TYPE");
+
+      boxedFieldTypeToPrimitiveType =
+          ImmutableMap.<DexField, DexType>builder()
+              .put(booleanTYPE, booleanType)
+              .put(byteTYPE, byteType)
+              .put(charTYPE, charType)
+              .put(shortTYPE, shortType)
+              .put(intTYPE, intType)
+              .put(longTYPE, longType)
+              .put(floatTYPE, floatType)
+              .put(doubleTYPE, doubleType)
+              .build();
+    }
+
+    public DexType boxedFieldTypeToPrimitiveType(DexField field) {
+      return boxedFieldTypeToPrimitiveType.get(field);
+    }
+  }
+
+  /**
    * A class that encompasses methods that create different types of atomic field updaters:
-   *   Atomic(Integer|Long|Reference)FieldUpdater#newUpdater.
+   * Atomic(Integer|Long|Reference)FieldUpdater#newUpdater.
    */
   public class AtomicFieldUpdaterMethods {
     public DexMethod intUpdater;
diff --git a/src/main/java/com/android/tools/r8/graph/JarCode.java b/src/main/java/com/android/tools/r8/graph/JarCode.java
index 0a1ee94..b978408 100644
--- a/src/main/java/com/android/tools/r8/graph/JarCode.java
+++ b/src/main/java/com/android/tools/r8/graph/JarCode.java
@@ -163,7 +163,7 @@
       InternalOptions options,
       ValueNumberGenerator generator,
       Position callerPosition) {
-    if (!options.debug) {
+    if (!options.debug || options.testing.removeLocalsTable) {
       node.localVariables.clear();
     }
     JarSourceCode source =
diff --git a/src/main/java/com/android/tools/r8/ir/code/AlwaysMaterializingUser.java b/src/main/java/com/android/tools/r8/ir/code/AlwaysMaterializingUser.java
index cd6a731..91be1a4 100644
--- a/src/main/java/com/android/tools/r8/ir/code/AlwaysMaterializingUser.java
+++ b/src/main/java/com/android/tools/r8/ir/code/AlwaysMaterializingUser.java
@@ -16,8 +16,6 @@
 
   public AlwaysMaterializingUser(Value src) {
     super(null, src);
-    // The user instruction never materializes so ensure it has position none.
-    setPosition(Position.none());
   }
 
   @Override
diff --git a/src/main/java/com/android/tools/r8/ir/code/Argument.java b/src/main/java/com/android/tools/r8/ir/code/Argument.java
index ac1ed7a..b5fea0b 100644
--- a/src/main/java/com/android/tools/r8/ir/code/Argument.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Argument.java
@@ -24,12 +24,6 @@
   public Argument(Value outValue) {
     super(outValue);
     outValue.markAsArgument();
-    super.setPosition(Position.none());
-  }
-
-  @Override
-  public void setPosition(Position position) {
-    // Arguments never have positional information as they never materialize to actual instructions.
   }
 
   @Override
diff --git a/src/main/java/com/android/tools/r8/ir/code/BasicBlock.java b/src/main/java/com/android/tools/r8/ir/code/BasicBlock.java
index a2962ab..51ed473 100644
--- a/src/main/java/com/android/tools/r8/ir/code/BasicBlock.java
+++ b/src/main/java/com/android/tools/r8/ir/code/BasicBlock.java
@@ -47,9 +47,9 @@
 
   private Int2ReferenceMap<DebugLocalInfo> localsAtEntry;
 
-  public boolean consistentBlockInstructions(boolean argumentsAllowed) {
+  public boolean consistentBlockInstructions(boolean argumentsAllowed, boolean debug) {
     for (Instruction instruction : getInstructions()) {
-      assert instruction.getPosition() != null;
+      assert instruction.verifyValidPositionInfo(debug);
       assert instruction.getBlock() == this;
       assert !instruction.isArgument() || argumentsAllowed;
       assert !instruction.isDebugLocalRead() || !instruction.getDebugValues().isEmpty();
@@ -290,6 +290,7 @@
           }
           Instruction exit = new Goto();
           exit.setBlock(this);
+          exit.setPosition(instruction.getPosition());
           getInstructions().addLast(exit);
         } else if (indexOfOldBlock >= successors.size() - 2) {
           // Old is either true or fallthrough and we need to swap the new block into the right
@@ -1099,14 +1100,14 @@
   /**
    * Create a new basic block with a single goto instruction.
    *
-   * <p>The constructed basic block has no predecessors and has one
-   * successors which is the target block.
+   * <p>The constructed basic block has no predecessors and has one successor which is the target
+   * block.
    *
    * @param blockNumber the block number of the goto block
    * @param target the target of the goto block
    */
-  public static BasicBlock createGotoBlock(int blockNumber, BasicBlock target) {
-    BasicBlock block = createGotoBlock(blockNumber);
+  public static BasicBlock createGotoBlock(int blockNumber, Position position, BasicBlock target) {
+    BasicBlock block = createGotoBlock(blockNumber, position);
     block.getSuccessors().add(target);
     return block;
   }
@@ -1118,11 +1119,12 @@
    *
    * @param blockNumber the block number of the goto block
    */
-  public static BasicBlock createGotoBlock(int blockNumber) {
+  public static BasicBlock createGotoBlock(int blockNumber, Position position) {
     BasicBlock block = new BasicBlock();
     block.add(new Goto());
     block.close(null);
     block.setNumber(blockNumber);
+    block.entry().setPosition(position);
     return block;
   }
 
@@ -1228,8 +1230,7 @@
   }
 
   public Position getPosition() {
-    BasicBlock block = endOfGotoChain();
-    return block != null ? block.entry().getPosition() : Position.none();
+    return entry().getPosition();
   }
 
   public boolean hasOneNormalExit() {
@@ -1459,7 +1460,9 @@
         newBlock.add(newMove);
         newMove.setPosition(position);
       }
-      newBlock.add(new Goto());
+      Goto next = new Goto();
+      next.setPosition(position);
+      newBlock.add(next);
       newBlock.close(null);
       newBlock.getSuccessors().add(this);
       newBlock.getPredecessors().add(predecessor);
diff --git a/src/main/java/com/android/tools/r8/ir/code/BasicBlockInstructionIterator.java b/src/main/java/com/android/tools/r8/ir/code/BasicBlockInstructionIterator.java
index 2fcbed1..fbbe2fd 100644
--- a/src/main/java/com/android/tools/r8/ir/code/BasicBlockInstructionIterator.java
+++ b/src/main/java/com/android/tools/r8/ir/code/BasicBlockInstructionIterator.java
@@ -154,15 +154,6 @@
   }
 
   @Override
-  public void detach() {
-    if (current == null) {
-      throw new IllegalStateException();
-    }
-    listIterator.remove();
-    current = null;
-  }
-
-  @Override
   public void replaceCurrentInstruction(Instruction newInstruction) {
     if (current == null) {
       throw new IllegalStateException();
@@ -193,6 +184,9 @@
     // Don't allow splitting after the last instruction.
     assert hasNext();
 
+    // Get the position at which the block is being split.
+    Position position = current != null ? current.getPosition() : block.getPosition();
+
     // Prepare the new block, placing the exception handlers on the block with the throwing
     // instruction.
     boolean keepCatchHandlers = hasPrevious() && peekPrevious().instructionTypeCanThrow();
@@ -201,6 +195,7 @@
     // Add a goto instruction.
     Goto newGoto = new Goto(block);
     listIterator.add(newGoto);
+    newGoto.setPosition(position);
 
     // Move all remaining instructions to the new block.
     while (listIterator.hasNext()) {
diff --git a/src/main/java/com/android/tools/r8/ir/code/ConstNumber.java b/src/main/java/com/android/tools/r8/ir/code/ConstNumber.java
index 6f5fa47..73cf1c2 100644
--- a/src/main/java/com/android/tools/r8/ir/code/ConstNumber.java
+++ b/src/main/java/com/android/tools/r8/ir/code/ConstNumber.java
@@ -118,7 +118,6 @@
   @Override
   public void buildDex(DexBuilder builder) {
     if (!dest().needsRegister()) {
-      forceSetPosition(Position.none());
       builder.addNothing(this);
       return;
     }
diff --git a/src/main/java/com/android/tools/r8/ir/code/ConstString.java b/src/main/java/com/android/tools/r8/ir/code/ConstString.java
index f2ecc89..b5a3b90 100644
--- a/src/main/java/com/android/tools/r8/ir/code/ConstString.java
+++ b/src/main/java/com/android/tools/r8/ir/code/ConstString.java
@@ -26,6 +26,12 @@
     this.value = value;
   }
 
+  public static ConstString copyOf(IRCode code, ConstString original) {
+    Value newValue =
+        new Value(code.valueNumberGenerator.next(), original.outType(), original.getLocalInfo());
+    return new ConstString(newValue, original.getValue());
+  }
+
   public Value dest() {
     return outValue;
   }
diff --git a/src/main/java/com/android/tools/r8/ir/code/DebugLocalsChange.java b/src/main/java/com/android/tools/r8/ir/code/DebugLocalsChange.java
index 5de4b91..c956593 100644
--- a/src/main/java/com/android/tools/r8/ir/code/DebugLocalsChange.java
+++ b/src/main/java/com/android/tools/r8/ir/code/DebugLocalsChange.java
@@ -35,6 +35,11 @@
     throw new Unreachable();
   }
 
+  @Override
+  public boolean verifyValidPositionInfo(boolean debug) {
+    return true;
+  }
+
   public Int2ReferenceMap<DebugLocalInfo> getEnding() {
     return ending;
   }
diff --git a/src/main/java/com/android/tools/r8/ir/code/Goto.java b/src/main/java/com/android/tools/r8/ir/code/Goto.java
index 80a76fe..972d2d2 100644
--- a/src/main/java/com/android/tools/r8/ir/code/Goto.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Goto.java
@@ -15,7 +15,6 @@
 
   public Goto() {
     super(null);
-    super.setPosition(Position.none());
   }
 
   public Goto(BasicBlock block) {
@@ -23,12 +22,6 @@
     setBlock(block);
   }
 
-  @Override
-  public void setPosition(Position position) {
-    // In general goto's do not signify program points only transitions, so we avoid
-    // associating them with positional information.
-  }
-
   public BasicBlock getTarget() {
     assert getBlock().exit() == this;
     List<BasicBlock> successors = getBlock().getSuccessors();
diff --git a/src/main/java/com/android/tools/r8/ir/code/IRCode.java b/src/main/java/com/android/tools/r8/ir/code/IRCode.java
index 96cc33a..1cafe2a 100644
--- a/src/main/java/com/android/tools/r8/ir/code/IRCode.java
+++ b/src/main/java/com/android/tools/r8/ir/code/IRCode.java
@@ -95,6 +95,7 @@
       ValueNumberGenerator valueNumberGenerator,
       boolean hasDebugPositions,
       boolean hasConstString) {
+    assert options != null;
     this.options = options;
     this.method = method;
     this.blocks = blocks;
@@ -212,7 +213,8 @@
           // correct predecessor and successor structure. It is inserted
           // at the end of the list of blocks disregarding branching
           // structure.
-          BasicBlock newBlock = BasicBlock.createGotoBlock(nextBlockNumber++, block);
+          BasicBlock newBlock =
+              BasicBlock.createGotoBlock(nextBlockNumber++, pred.exit().getPosition(), block);
           newBlocks.add(newBlock);
           pred.replaceSuccessor(block, newBlock);
           newBlock.getPredecessors().add(pred);
@@ -268,7 +270,9 @@
           fallthrough = fallthrough.exit().fallthroughBlock();
         }
         if (fallthrough != null) {
-          BasicBlock newFallthrough = BasicBlock.createGotoBlock(nextBlockNumber++, fallthrough);
+          BasicBlock newFallthrough =
+              BasicBlock.createGotoBlock(
+                  nextBlockNumber++, block.exit().getPosition(), fallthrough);
           current.exit().setFallthroughBlock(newFallthrough);
           newFallthrough.getPredecessors().add(current);
           fallthrough.replacePredecessor(current, newFallthrough);
@@ -563,7 +567,7 @@
   private boolean consistentBlockInstructions() {
     boolean argumentsAllowed = true;
     for (BasicBlock block : blocks) {
-      block.consistentBlockInstructions(argumentsAllowed);
+      block.consistentBlockInstructions(argumentsAllowed, options.debug);
       argumentsAllowed = false;
     }
     return true;
diff --git a/src/main/java/com/android/tools/r8/ir/code/Instruction.java b/src/main/java/com/android/tools/r8/ir/code/Instruction.java
index bae912d..8f1a004 100644
--- a/src/main/java/com/android/tools/r8/ir/code/Instruction.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Instruction.java
@@ -74,10 +74,6 @@
     return outValue.isNeverNull();
   }
 
-  public final void forceSetPosition(Position position) {
-    this.position = position;
-  }
-
   public String getPositionAsString() {
     return position == null ? "???" : position.toString();
   }
@@ -1116,4 +1112,11 @@
   public boolean triggersInitializationOfClass(DexType klass) {
     return false;
   }
+
+  public boolean verifyValidPositionInfo(boolean debug) {
+    assert position != null;
+    assert !debug || getPosition().isSome();
+    assert !instructionTypeCanThrow() || getPosition().isSome() || getPosition().isSyntheticNone();
+    return true;
+  }
 }
diff --git a/src/main/java/com/android/tools/r8/ir/code/InstructionListIterator.java b/src/main/java/com/android/tools/r8/ir/code/InstructionListIterator.java
index 5d5e77c..cde197c 100644
--- a/src/main/java/com/android/tools/r8/ir/code/InstructionListIterator.java
+++ b/src/main/java/com/android/tools/r8/ir/code/InstructionListIterator.java
@@ -72,16 +72,6 @@
   void removeOrReplaceByDebugLocalRead();
 
   /**
-   * Remove the current instruction (aka the {@link Instruction} returned by the previous call to
-   * {@link #next}) without updating its def/use chains.
-   * <p>
-   * This is useful for instance when moving an instruction to another block that still dominates
-   * all its uses. In order to do that you would detach the instruction from the original
-   * block and add it to the new block.
-   */
-  void detach();
-
-  /**
    * Replace the current instruction (aka the {@link Instruction} returned by the previous call to
    * {@link #next} with the passed in <code>newInstruction</code>.
    *
diff --git a/src/main/java/com/android/tools/r8/ir/code/Position.java b/src/main/java/com/android/tools/r8/ir/code/Position.java
index 74aaadf..ec923ee 100644
--- a/src/main/java/com/android/tools/r8/ir/code/Position.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Position.java
@@ -5,12 +5,22 @@
 
 import com.android.tools.r8.graph.DexMethod;
 import com.android.tools.r8.graph.DexString;
+import com.google.common.annotations.VisibleForTesting;
 import java.util.Objects;
 
 public class Position {
 
+  // A no-position marker. Not having a position means the position is implicitly defined by the
+  // context, e.g., the marker does not materialize anything concrete.
   private static final Position NO_POSITION = new Position(-1, null, null, null, false);
 
+  // A synthetic marker position that should never materialize.
+  // This is used specifically to mark exceptional exit blocks from synchronized methods in release.
+  private static final Position NO_POSITION_SYNTHETIC = new Position(-1, null, null, null, true);
+
+  // Fake position to use for representing an actual position in testing code.
+  private static final Position TESTING_POSITION = new Position(0, null, null, null, true);
+
   public final int line;
   public final DexString file;
   public final boolean synthetic;
@@ -26,6 +36,7 @@
   public Position(int line, DexString file, DexMethod method, Position callerPosition) {
     this(line, file, method, callerPosition, false);
     assert line >= 0;
+    assert method != null;
   }
 
   private Position(
@@ -36,11 +47,11 @@
     this.method = method;
     this.callerPosition = callerPosition;
     assert callerPosition == null || callerPosition.method != null;
-    assert line == -1 || method != null; // It's NO_POSITION or must have valid method.
   }
 
   public static Position synthetic(int line, DexMethod method, Position callerPosition) {
     assert line >= 0;
+    assert method != null;
     return new Position(line, null, method, callerPosition, true);
   }
 
@@ -48,6 +59,15 @@
     return NO_POSITION;
   }
 
+  public static Position syntheticNone() {
+    return NO_POSITION_SYNTHETIC;
+  }
+
+  @VisibleForTesting
+  public static Position testingPosition() {
+    return TESTING_POSITION;
+  }
+
   // This factory method is used by the Inliner to create Positions when the caller has no valid
   // positions. Since the callee still may have valid positions we need a non-null Position to set
   // it as the caller of the inlined Positions.
@@ -60,6 +80,10 @@
     return line == -1;
   }
 
+  public boolean isSyntheticNone() {
+    return this == NO_POSITION_SYNTHETIC;
+  }
+
   public boolean isSome() {
     return !isNone();
   }
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/CfBuilder.java b/src/main/java/com/android/tools/r8/ir/conversion/CfBuilder.java
index 4d0a5ba..37a0150 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/CfBuilder.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/CfBuilder.java
@@ -139,9 +139,7 @@
     registerAllocator.allocateRegisters();
     loadStoreHelper.insertPhiMoves(registerAllocator);
     CodeRewriter.collapsTrivialGotos(method, code);
-    int instructionTableCount =
-        DexBuilder.instructionNumberToIndex(code.numberRemainingInstructions());
-    DexBuilder.removeRedundantDebugPositions(code, instructionTableCount);
+    DexBuilder.removeRedundantDebugPositions(code);
     CfCode code = buildCfCode();
     return code;
   }
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/DexBuilder.java b/src/main/java/com/android/tools/r8/ir/conversion/DexBuilder.java
index 07107a5..0084a74 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/DexBuilder.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/DexBuilder.java
@@ -50,7 +50,6 @@
 import com.android.tools.r8.ir.code.IRCode;
 import com.android.tools.r8.ir.code.If;
 import com.android.tools.r8.ir.code.InstructionIterator;
-import com.android.tools.r8.ir.code.InstructionListIterator;
 import com.android.tools.r8.ir.code.Move;
 import com.android.tools.r8.ir.code.NewArrayFilledData;
 import com.android.tools.r8.ir.code.Position;
@@ -65,7 +64,6 @@
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 import it.unimi.dsi.fastutil.ints.Int2ReferenceMap;
-import it.unimi.dsi.fastutil.ints.Int2ReferenceMaps;
 import it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap;
 import java.util.ArrayList;
 import java.util.List;
@@ -158,7 +156,7 @@
 
       // Remove redundant debug position instructions. They would otherwise materialize as
       // unnecessary nops.
-      removeRedundantDebugPositions(ir, instructionToInfo.length);
+      removeRedundantDebugPositions(ir);
 
       // Populate the builder info objects.
       numberOfInstructions = 0;
@@ -251,114 +249,95 @@
     return code;
   }
 
-  private static boolean verifyNopHasNoPosition(
-      com.android.tools.r8.ir.code.Instruction instruction, ListIterator<BasicBlock> blocks) {
-    BasicBlock nextBlock = null;
-    if (blocks.hasNext()) {
-      nextBlock = blocks.next();
-      blocks.previous();
-    }
-    return verifyNopHasNoPosition(instruction, nextBlock);
-  }
-
-  private static boolean verifyNopHasNoPosition(
-      com.android.tools.r8.ir.code.Instruction instruction, BasicBlock nextBlock) {
-    if (isNopInstruction(instruction, nextBlock)) {
-      assert instruction.getPosition().isNone();
-    }
-    return true;
-  }
-
   // Eliminates unneeded debug positions.
   //
-  // After this pass all instructions that don't materialize to an actual DEX/CF instruction will
-  // have Position.none(). If any other instruction has a non-none position then all other
-  // instructions that do materialize to a DEX/CF instruction (eg, non-fallthrough gotos) will have
-  // a non-none position.
-  //
-  // Remaining debug positions indicate two successive lines without intermediate instructions.
-  // For these we must emit a nop instruction to ensure they don't share the same pc.
-  public static void removeRedundantDebugPositions(IRCode code, int instructionTableSize) {
+  // After this pass all remaining debug positions mark places where we must ensure a materializing
+  // instruction, eg, for two successive lines without intermediate instructions.
+  public static void removeRedundantDebugPositions(IRCode code) {
     if (!code.hasDebugPositions) {
       return;
     }
-    Int2ReferenceMap[] localsMap = new Int2ReferenceMap[instructionTableSize];
-    // Scan forwards removing debug positions equal to the previous instruction position.
-    {
-      Int2ReferenceMap<DebugLocalInfo> locals = Int2ReferenceMaps.emptyMap();
-      Position previous = Position.none();
-      ListIterator<BasicBlock> blockIterator = code.listIterator();
-      BasicBlock previousBlock = null;
-      while (blockIterator.hasNext()) {
-        BasicBlock block = blockIterator.next();
-        if (previousBlock != null
-            && previousBlock.exit().isGoto()
-            && !isNopInstruction(previousBlock.exit(), block)) {
-          assert previousBlock.exit().getPosition().isNone()
-              || previousBlock.exit().getPosition().equals(previous);
-          previousBlock.exit().forceSetPosition(previous);
+    // Current position known to have a materializing instruction associated with it.
+    Position currentMaterializedPosition = Position.none();
+
+    // Current debug-position marker that is not yet known to have another instruction materializing
+    // to the same position.
+    DebugPosition unresolvedPosition = null;
+
+    // Locals live at the debug-position marker. These must also be the same at a possible
+    // materializing instruction with the same position for it to be sound to remove the marker.
+    Int2ReferenceMap<DebugLocalInfo> localsAtUnresolvedPosition = null;
+
+    // Compute the set of all positions that can be removed.
+    // (Delaying removal to avoid ConcurrentModificationException).
+    List<DebugPosition> toRemove = new ArrayList<>();
+
+    for (int blockIndex = 0; blockIndex < code.blocks.size(); blockIndex++) {
+      BasicBlock currentBlock = code.blocks.get(blockIndex);
+      BasicBlock nextBlock =
+          blockIndex + 1 < code.blocks.size() ? code.blocks.get(blockIndex + 1) : null;
+
+      // Current materialized position can remain on block entry only if it is also the exit of
+      // the blocks predecessors. If not, we cannot ensure the jumps will hit this line unless
+      // another instruction materialized the position.
+      for (BasicBlock pred : currentBlock.getPredecessors()) {
+        if (pred.exit().getPosition() != currentMaterializedPosition) {
+          currentMaterializedPosition = Position.none();
+          break;
         }
-        InstructionListIterator instructionIterator = block.listIterator();
-        if (block.getLocalsAtEntry() != null && !locals.equals(block.getLocalsAtEntry())) {
-          locals = new Int2ReferenceOpenHashMap<>(block.getLocalsAtEntry());
-        }
-        while (instructionIterator.hasNext()) {
-          com.android.tools.r8.ir.code.Instruction instruction = instructionIterator.next();
-          if (instruction.isDebugPosition() && previous.equals(instruction.getPosition())) {
-            instructionIterator.remove();
-          } else if (isNonMaterializingConstNumber(instruction)) {
-            instruction.forceSetPosition(Position.none());
-          } else if (instruction.getPosition().isSome()) {
-            assert verifyNopHasNoPosition(instruction, blockIterator);
-            previous = instruction.getPosition();
+      }
+
+      // Current locals.
+      Int2ReferenceMap<DebugLocalInfo> locals =
+          currentBlock.getLocalsAtEntry() != null
+              ? new Int2ReferenceOpenHashMap<>(currentBlock.getLocalsAtEntry())
+              : new Int2ReferenceOpenHashMap<>();
+
+      InstructionIterator iterator = currentBlock.iterator();
+      while (iterator.hasNext()) {
+        com.android.tools.r8.ir.code.Instruction instruction = iterator.next();
+        if (instruction.isDebugPosition()) {
+          if (unresolvedPosition == null
+              && currentMaterializedPosition == instruction.getPosition()) {
+            // Here we don't need to check locals state as the line is already active.
+            toRemove.add(instruction.asDebugPosition());
+          } else if (unresolvedPosition != null
+              && unresolvedPosition.getPosition() == instruction.getPosition()
+              && locals.equals(localsAtUnresolvedPosition)) {
+            toRemove.add(instruction.asDebugPosition());
+          } else {
+            unresolvedPosition = instruction.asDebugPosition();
+            localsAtUnresolvedPosition = new Int2ReferenceOpenHashMap<>(locals);
           }
+        } else if (instruction.getPosition().isSome()) {
+          if (!isNopInstruction(instruction, nextBlock)) {
+            if (unresolvedPosition != null) {
+              if (unresolvedPosition.getPosition() == instruction.getPosition()
+                  && locals.equals(localsAtUnresolvedPosition)) {
+                toRemove.add(unresolvedPosition);
+              }
+              unresolvedPosition = null;
+              localsAtUnresolvedPosition = null;
+            }
+            currentMaterializedPosition = instruction.getPosition();
+          }
+        } else {
+          // Only local-change instructions don't have positions in debug mode but fail gracefully.
+          assert instruction.isDebugLocalsChange();
           if (instruction.isDebugLocalsChange()) {
-            locals = new Int2ReferenceOpenHashMap<>(locals);
             instruction.asDebugLocalsChange().apply(locals);
           }
-          localsMap[instructionNumberToIndex(instruction.getNumber())] = locals;
         }
-        previousBlock = block;
-      }
-      if (previousBlock != null && previousBlock.exit().isGoto()) {
-        // If the last block ends in a goto it cannot be a fallthrough/nop.
-        assert previousBlock.exit().getPosition().isNone();
-        previousBlock.exit().forceSetPosition(previous);
       }
     }
-    // Scan backwards removing debug positions equal to the following instruction position.
-    {
-      ListIterator<BasicBlock> blocks = code.blocks.listIterator(code.blocks.size());
-      BasicBlock block = null;
-      BasicBlock nextBlock;
-      com.android.tools.r8.ir.code.Instruction next = null;
-      Int2ReferenceMap nextLocals = null;
-      while (blocks.hasPrevious()) {
-        nextBlock = block;
-        block = blocks.previous();
-        InstructionListIterator instructions = block.listIterator(block.getInstructions().size());
-        while (instructions.hasPrevious()) {
-          com.android.tools.r8.ir.code.Instruction instruction = instructions.previous();
-          int index = instructionNumberToIndex(instruction.getNumber());
-          if (instruction.isDebugPosition() && localsMap[index].equals(nextLocals)) {
-            Position nextPosition = next.getPosition();
-            Position thisPosition = instruction.getPosition();
-            if (nextPosition.isNone()) {
-              next.forceSetPosition(thisPosition);
-              instructions.remove();
-            } else if (nextPosition.equals(thisPosition)) {
-              instructions.remove();
-            } else {
-              next = instruction;
-            }
-          } else {
-            assert verifyNopHasNoPosition(instruction, nextBlock);
-            if (!isNopInstruction(instruction, nextBlock)) {
-              next = instruction;
-              nextLocals = localsMap[index];
-              assert nextLocals != null;
-            }
-          }
+    // Remove all unneeded positions.
+    if (!toRemove.isEmpty()) {
+      InstructionIterator it = code.instructionIterator();
+      int i = 0;
+      while (it.hasNext() && i < toRemove.size()) {
+        if (it.next() == toRemove.get(i)) {
+          it.removeOrReplaceByDebugLocalRead();
+          ++i;
         }
       }
     }
@@ -385,7 +364,8 @@
       if (ifsNeedingRewrite.contains(block)) {
         If theIf = block.exit().asIf();
         BasicBlock trueTarget = theIf.getTrueTarget();
-        BasicBlock newBlock = BasicBlock.createGotoBlock(ir.blocks.size(), trueTarget);
+        BasicBlock newBlock =
+            BasicBlock.createGotoBlock(ir.blocks.size(), theIf.getPosition(), trueTarget);
         theIf.setTrueTarget(newBlock);
         theIf.invert();
         it.add(newBlock);
@@ -438,7 +418,6 @@
   }
 
   public void addNothing(com.android.tools.r8.ir.code.Instruction instruction) {
-    assert instruction.getPosition().isNone();
     add(instruction, new FallThroughInfo(instruction));
   }
 
@@ -496,7 +475,6 @@
   public void addReturn(Return ret, Instruction dex) {
     if (nextBlock != null
         && ret.identicalAfterRegisterAllocation(nextBlock.entry(), registerAllocator)) {
-      ret.forceSetPosition(Position.none());
       addNothing(ret);
     } else {
       add(ret, dex);
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/IRBuilder.java b/src/main/java/com/android/tools/r8/ir/conversion/IRBuilder.java
index d14273e..d855e0e 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/IRBuilder.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/IRBuilder.java
@@ -153,10 +153,16 @@
   private static class SplitBlockWorklistItem extends WorklistItem {
     private final int sourceOffset;
     private final int targetOffset;
+    private final Position position;
 
     public SplitBlockWorklistItem(
-        int firstInstructionIndex, BasicBlock block, int sourceOffset, int targetOffset) {
+        int firstInstructionIndex,
+        BasicBlock block,
+        Position position,
+        int sourceOffset,
+        int targetOffset) {
       super(block, firstInstructionIndex);
+      this.position = position;
       this.sourceOffset = sourceOffset;
       this.targetOffset = targetOffset;
     }
@@ -473,6 +479,7 @@
 
     // Insert definitions for all uninitialized local values.
     if (uninitializedDebugLocalValues != null) {
+      Position position = entryBlock.getPosition();
       InstructionListIterator it = entryBlock.listIterator();
       it.nextUntil(i -> !i.isArgument());
       it.previous();
@@ -481,7 +488,7 @@
           if (value.isUsed()) {
             Instruction def = new DebugLocalUninitialized(value);
             def.setBlock(entryBlock);
-            def.setPosition(Position.none());
+            def.setPosition(position);
             it.add(def);
           }
         }
@@ -515,11 +522,11 @@
       resolver.resolve(ir, this);
     }
 
+    assert ir.isConsistentSSA();
+
     // Clear the code so we don't build multiple times.
     source.clear();
     source = null;
-
-    assert ir.isConsistentSSA();
     return ir;
   }
 
@@ -631,7 +638,7 @@
             this, splitEdgeItem.sourceOffset, splitEdgeItem.targetOffset, false);
         if (item.firstInstructionIndex == -1) {
           // If the block is a pure split-edge block emit goto (picks up local ends) and close.
-          addInstruction(new Goto(), Position.none());
+          addInstruction(new Goto(), splitEdgeItem.position);
           closeCurrentBlockGuaranteedNotToNeedEdgeSplitting();
           continue;
         } else if (!debugLocalEnds.isEmpty()) {
@@ -768,10 +775,15 @@
 
   public void addDebugPosition(Position position) {
     if (options.debug) {
+      assert previousLocalValue == null;
       assert source.getCurrentPosition().equals(position);
       if (!debugLocalEnds.isEmpty()) {
         // If there are pending local ends, end them before changing the line.
-        addInstruction(new DebugLocalRead(), Position.none());
+        if (currentBlock.getInstructions().isEmpty()) {
+          addInstruction(new DebugLocalRead());
+        } else {
+          attachLocalValues(currentBlock.getInstructions().getLast());
+        }
       }
       addInstruction(new DebugPosition());
     }
@@ -2126,6 +2138,7 @@
     assert currentBlock != null;
     assert currentBlock.isEmpty() || !currentBlock.getInstructions().getLast().isJumpInstruction();
     BlockInfo info = getBlockInfo(currentBlock);
+    Position position = source.getCurrentPosition();
     if (info.hasMoreThanASingleNormalExit()) {
       // Exceptional edges are always split on construction, so no need to split edges to them.
       // Introduce split-edge blocks for all normal edges and push them on the work list.
@@ -2145,13 +2158,14 @@
               new SplitBlockWorklistItem(
                   oldItem.firstInstructionIndex,
                   oldItem.block,
+                  position,
                   currentInstructionOffset,
                   successorOffset));
         } else {
           BasicBlock splitBlock = createSplitEdgeBlock(currentBlock, successorInfo.block);
           ssaWorklist.add(
               new SplitBlockWorklistItem(
-                  -1, splitBlock, currentInstructionOffset, successorOffset));
+                  -1, splitBlock, position, currentInstructionOffset, successorOffset));
         }
       }
     } else if (info.normalSuccessors.size() == 1) {
@@ -2230,7 +2244,9 @@
             int otherPredecessorIndex = values.get(v);
             BasicBlock joinBlock = joinBlocks.get(otherPredecessorIndex);
             if (joinBlock == null) {
-              joinBlock = BasicBlock.createGotoBlock(blocks.size() + blocksToAdd.size(), block);
+              joinBlock =
+                  BasicBlock.createGotoBlock(
+                      blocks.size() + blocksToAdd.size(), block.getPosition(), block);
               joinBlocks.put(otherPredecessorIndex, joinBlock);
               blocksToAdd.add(joinBlock);
               BasicBlock otherPredecessor = block.getPredecessors().get(otherPredecessorIndex);
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
index fa84b67..1881f79 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
@@ -1067,6 +1067,7 @@
     // Forced user of the forced definition to ensure it has a user and thus live range.
     Instruction fixitUser = new AlwaysMaterializingUser(fixitValue);
     fixitUser.setBlock(addBefore.getBlock());
+    fixitUser.setPosition(addBefore.getPosition());
     it.add(fixitUser);
   }
 
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/JarSourceCode.java b/src/main/java/com/android/tools/r8/ir/conversion/JarSourceCode.java
index 0c62134..faa3aae 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/JarSourceCode.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/JarSourceCode.java
@@ -487,8 +487,10 @@
         || successorOffset == EXCEPTIONAL_SYNC_EXIT_OFFSET) {
       return;
     }
-    // The transfer has not yet taken place, so the current position is that of the predecessor.
-    currentPosition = getCanonicalDebugPositionAtOffset(predecessorOffset);
+    // The transfer has not yet taken place, so the current position is that of the predecessor,
+    // except for exceptional edges where the transfer has already taken place.
+    currentPosition =
+        getCanonicalDebugPositionAtOffset(isExceptional ? successorOffset : predecessorOffset);
 
     LocalChangeAtOffset localChange = state.getLocalChange(predecessorOffset, successorOffset);
     if (!isExceptional) {
@@ -2874,7 +2876,7 @@
     int index = instructionIndex(offset);
     if (index < 0 || instructionCount() <= index) {
       assert false;
-      return Position.none();
+      return getPreamblePosition();
     }
     AbstractInsnNode insn = node.instructions.get(index);
     if (insn instanceof LabelNode) {
@@ -2927,10 +2929,14 @@
         }
         syntheticPosition =
             (min == Integer.MAX_VALUE)
-                ? Position.noneWithMethod(originalMethod, callerPosition)
+                ? getPreamblePosition()
                 : Position.synthetic(min < max ? min - 1 : min, originalMethod, callerPosition);
       } else {
-        syntheticPosition = Position.noneWithMethod(originalMethod, callerPosition);
+        // If in release mode we explicitly associate a synthetic none position with monitor exit.
+        // This is safe as the runtime must never throw at this position because the monitor cannot
+        // be null and the thread calling exit can only be the same thread that entered the monitor
+        // at method entry.
+        syntheticPosition = Position.syntheticNone();
       }
     }
     return syntheticPosition;
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/LambdaMainMethodSourceCode.java b/src/main/java/com/android/tools/r8/ir/desugar/LambdaMainMethodSourceCode.java
index d719d8f..9d815ce 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/LambdaMainMethodSourceCode.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/LambdaMainMethodSourceCode.java
@@ -120,6 +120,11 @@
       return b == factory.objectType || b.isArrayType();
     }
 
+    if (b.isArrayType()) {
+      // If A is typed object it can be convertible to an array type.
+      return a == factory.objectType;
+    }
+
     if (a.isPrimitiveType()) {
       if (b.isPrimitiveType()) {
         return isSameOrAdaptableTo(a.descriptor.content[0], b.descriptor.content[0]);
@@ -357,7 +362,8 @@
       return register;
     }
 
-    if (fromType.isClassType() && toType.isClassType()) {
+    if ((fromType.isClassType() && toType.isClassType())
+        || (fromType == factory().objectType && toType.isArrayType())) {
       if (returnType) {
         // For return type adjustment in case `fromType` and `toType` are both reference types,
         // `fromType` does NOT have to be deriving from `toType` and we need to add a cast.
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/CodeRewriter.java b/src/main/java/com/android/tools/r8/ir/optimize/CodeRewriter.java
index 2fddda3..3330f08 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/CodeRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/CodeRewriter.java
@@ -1865,12 +1865,21 @@
       if (i == 0) {
         // For the first block process all ConstNumber instructions
         // as well as ConstString instructions having just one use.
-        shortenLiveRangesInsideBlock(block, dominatorTreeMemoization, addConstantInBlock,
-            insn -> (insn.isConstNumber() && insn.outValue().numberOfAllUsers() != 0)
-                || (insn.isConstString() && insn.outValue().numberOfAllUsers() == 1));
+        shortenLiveRangesInsideBlock(
+            code,
+            block,
+            dominatorTreeMemoization,
+            addConstantInBlock,
+            insn ->
+                (insn.isConstNumber() && insn.outValue().numberOfAllUsers() != 0)
+                    || (insn.isConstString() && insn.outValue().numberOfAllUsers() == 1));
       } else {
         // For all following blocks only process ConstString with just one use.
-        shortenLiveRangesInsideBlock(block, dominatorTreeMemoization, addConstantInBlock,
+        shortenLiveRangesInsideBlock(
+            code,
+            block,
+            dominatorTreeMemoization,
+            addConstantInBlock,
             insn -> insn.isConstString() && insn.outValue().numberOfAllUsers() == 1);
       }
     }
@@ -1920,14 +1929,20 @@
     assert code.isConsistentSSA();
   }
 
-  private void shortenLiveRangesInsideBlock(BasicBlock block,
+  private void shortenLiveRangesInsideBlock(
+      IRCode code,
+      BasicBlock block,
       Supplier<DominatorTree> dominatorTreeMemoization,
       Map<BasicBlock, List<Instruction>> addConstantInBlock,
-      Predicate<Instruction> selector) {
+      Predicate<ConstInstruction> selector) {
 
     InstructionListIterator it = block.listIterator();
     while (it.hasNext()) {
-      Instruction instruction = it.next();
+      Instruction next = it.next();
+      if (!next.isConstInstruction()) {
+        continue;
+      }
+      ConstInstruction instruction = next.asConstInstruction();
       if (!selector.test(instruction) || instruction.outValue().hasLocalInfo()) {
         continue;
       }
@@ -1973,12 +1988,14 @@
         }
       }
 
-      // Move the const instruction as close to its uses as possible.
-      it.detach();
-
       List<Instruction> csts =
           addConstantInBlock.computeIfAbsent(dominator, k -> new ArrayList<>());
-      csts.add(instruction);
+
+      ConstInstruction copy = instruction.isConstNumber()
+          ? ConstNumber.copyOf(code, instruction.asConstNumber())
+          : ConstString.copyOf(code, instruction.asConstString());
+      instruction.outValue().replaceUsers(copy.outValue());
+      csts.add(copy);
     }
   }
 
@@ -1993,8 +2010,7 @@
             || (hasCatchHandlers && i.instructionTypeCanThrow())
             || (options.canHaveCmpIfFloatBug() && i.isCmp()));
     Instruction next = insertAt.previous();
-    instruction.forceSetPosition(
-        next.isGoto() ? next.asGoto().getTarget().getPosition() : next.getPosition());
+    instruction.setPosition(next.getPosition());
     insertAt.add(instruction);
   }
 
@@ -2137,14 +2153,16 @@
           for (ConstInstruction value : values) {
             stringValues.add(value.outValue());
           }
-          InvokeNewArray invoke = new InvokeNewArray(
-              dexItemFactory.stringArrayType, newArray.outValue(), stringValues);
-          invoke.setPosition(newArray.getPosition());
-          it.detach();
+          Value invokeValue = code.createValue(newArray.outType(), newArray.getLocalInfo());
+          InvokeNewArray invoke =
+              new InvokeNewArray(dexItemFactory.stringArrayType, invokeValue, stringValues);
           for (Value value : newArray.inValues()) {
             value.removeUser(newArray);
           }
-          instructionToInsertForArray.put(newArray.outValue(), invoke);
+          newArray.outValue().replaceUsers(invokeValue);
+          it.removeOrReplaceByDebugLocalRead();
+          instructionToInsertForArray.put(invokeValue, invoke);
+          storesToRemoveForArray.put(invokeValue, size);
         } else {
           // If there is only one element it is typically smaller to generate the array put
           // instruction instead of fill array data.
@@ -2157,12 +2175,12 @@
             continue;
           }
           int arraySize = newArray.size().getConstInstruction().asConstNumber().getIntValue();
-          NewArrayFilledData fillArray = new NewArrayFilledData(
-              newArray.outValue(), elementSize, arraySize, contents);
+          NewArrayFilledData fillArray =
+              new NewArrayFilledData(newArray.outValue(), elementSize, arraySize, contents);
           fillArray.setPosition(newArray.getPosition());
           it.add(fillArray);
+          storesToRemoveForArray.put(newArray.outValue(), size);
         }
-        storesToRemoveForArray.put(newArray.outValue(), size);
       }
       // Second pass: remove all the array put instructions for the array for which we have
       // inserted a fill array data instruction instead.
@@ -2185,6 +2203,9 @@
                   storesToRemoveForArray.put(array, --toRemoveCount);
                   Instruction construction = instructionToInsertForArray.get(array);
                   if (construction != null) {
+                    // Set the position of the new array construction to be the position of the
+                    // last removed put at which point we are now adding the construction.
+                    construction.setPosition(instruction.getPosition());
                     it.add(construction);
                   }
                 }
@@ -2651,8 +2672,6 @@
         Instruction insnGoto = throwNullInsnIterator.next();
         assert insnGoto.isGoto();
         throwNullInsnIterator.replaceCurrentInstruction(notReachableThrow);
-        // Use position from original invoke to guarantee it has a real position.
-        notReachableThrow.forceSetPosition(insn.getPosition());
       }
     }
     code.removeUnreachableBlocks();
@@ -3013,7 +3032,7 @@
       iterator.add(new InvokeVirtual(print, null, ImmutableList.of(out, indent)));
 
       // Add a block for end-of-line printing.
-      BasicBlock eol = BasicBlock.createGotoBlock(code.blocks.size());
+      BasicBlock eol = BasicBlock.createGotoBlock(code.blocks.size(), position);
       code.blocks.add(eol);
 
       BasicBlock successor = block.unlinkSingleSuccessor();
@@ -3031,9 +3050,9 @@
         BasicBlock ifBlock = BasicBlock.createIfBlock(code.blocks.size(), theIf);
         code.blocks.add(ifBlock);
         // Fallthrough block must be added right after the if.
-        BasicBlock isNullBlock = BasicBlock.createGotoBlock(code.blocks.size());
+        BasicBlock isNullBlock = BasicBlock.createGotoBlock(code.blocks.size(), position);
         code.blocks.add(isNullBlock);
-        BasicBlock isNotNullBlock = BasicBlock.createGotoBlock(code.blocks.size());
+        BasicBlock isNotNullBlock = BasicBlock.createGotoBlock(code.blocks.size(), position);
         code.blocks.add(isNotNullBlock);
 
         // Link the added blocks together.
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/ConstantCanonicalizer.java b/src/main/java/com/android/tools/r8/ir/optimize/ConstantCanonicalizer.java
index 92bda1d..da96c4c 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/ConstantCanonicalizer.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/ConstantCanonicalizer.java
@@ -8,7 +8,6 @@
 import com.android.tools.r8.ir.code.IRCode;
 import com.android.tools.r8.ir.code.Instruction;
 import com.android.tools.r8.ir.code.InstructionListIterator;
-import com.android.tools.r8.ir.code.Position;
 import com.android.tools.r8.ir.code.Value;
 import it.unimi.dsi.fastutil.Hash.Strategy;
 import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap;
@@ -79,7 +78,6 @@
             ConstNumber canonicalizedConstant = entry.getKey().asConstNumber();
             ConstNumber newConst = ConstNumber.copyOf(code, canonicalizedConstant);
             insertCanonicalizedConstant(code, newConst);
-            newConst.setPosition(Position.none());
             for (Value outValue : entry.getValue()) {
               outValue.replaceUsers(newConst.outValue());
             }
@@ -96,6 +94,7 @@
     // instructions. It is important that the const instruction is put before any instruction
     // that can throw exceptions (since the value could be used on the exceptional edge).
     InstructionListIterator it = entryBlock.listIterator();
+    canonicalizedConstant.setPosition(entryBlock.getPosition());
     while (it.hasNext()) {
       if (!it.next().isArgument()) {
         it.previous();
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/PeepholeOptimizer.java b/src/main/java/com/android/tools/r8/ir/optimize/PeepholeOptimizer.java
index 8bb4de7..eb140c4 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/PeepholeOptimizer.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/PeepholeOptimizer.java
@@ -6,11 +6,12 @@
 import com.android.tools.r8.graph.DebugLocalInfo;
 import com.android.tools.r8.ir.code.BasicBlock;
 import com.android.tools.r8.ir.code.ConstNumber;
-import com.android.tools.r8.ir.code.DebugLocalsChange;
 import com.android.tools.r8.ir.code.Goto;
 import com.android.tools.r8.ir.code.IRCode;
 import com.android.tools.r8.ir.code.Instruction;
+import com.android.tools.r8.ir.code.InstructionIterator;
 import com.android.tools.r8.ir.code.InstructionListIterator;
+import com.android.tools.r8.ir.code.Position;
 import com.android.tools.r8.ir.code.Value;
 import com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator;
 import com.android.tools.r8.ir.regalloc.LiveIntervals;
@@ -18,7 +19,6 @@
 import com.google.common.base.Equivalence.Wrapper;
 import com.google.common.collect.ImmutableList;
 import it.unimi.dsi.fastutil.ints.Int2ReferenceMap;
-import it.unimi.dsi.fastutil.ints.Int2ReferenceMap.Entry;
 import it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -28,6 +28,7 @@
 import java.util.List;
 import java.util.ListIterator;
 import java.util.Map;
+import java.util.Objects;
 
 public class PeepholeOptimizer {
 
@@ -128,47 +129,48 @@
 
   private static BasicBlock createAndInsertBlockForSuffix(
       int blockNumber, int suffixSize, List<BasicBlock> preds, BasicBlock successorBlock) {
-    BasicBlock newBlock = BasicBlock.createGotoBlock(blockNumber);
     BasicBlock first = preds.get(0);
     assert (successorBlock != null && first.exit().isGoto())
         || (successorBlock == null && first.exit().isReturn());
-    int offsetFromEnd = successorBlock == null ? 0 : 1;
-    if (successorBlock == null) {
-      newBlock.getInstructions().removeLast();
+    BasicBlock newBlock = new BasicBlock();
+    newBlock.setNumber(blockNumber);
+    InstructionListIterator from = first.listIterator(first.getInstructions().size());
+    Int2ReferenceMap<DebugLocalInfo> newBlockEntryLocals = null;
+    if (first.getLocalsAtEntry() != null) {
+      newBlockEntryLocals = new Int2ReferenceOpenHashMap<>(first.getLocalsAtEntry());
+      int prefixSize = first.getInstructions().size() - suffixSize;
+      InstructionIterator it = first.iterator();
+      for (int i = 0; i < prefixSize; i++) {
+        Instruction instruction = it.next();
+        if (instruction.isDebugLocalsChange()) {
+          instruction.asDebugLocalsChange().apply(newBlockEntryLocals);
+        }
+      }
     }
-    InstructionListIterator from =
-        first.listIterator(first.getInstructions().size() - offsetFromEnd);
-    Int2ReferenceMap<DebugLocalInfo> newBlockEntryLocals =
-        (successorBlock == null || successorBlock.getLocalsAtEntry() == null)
-            ? new Int2ReferenceOpenHashMap<>()
-            : new Int2ReferenceOpenHashMap<>(successorBlock.getLocalsAtEntry());
     boolean movedThrowingInstruction = false;
-    for (int i = offsetFromEnd; i < suffixSize; i++) {
+    for (int i = 0; i < suffixSize; i++) {
       Instruction instruction = from.previous();
       movedThrowingInstruction = movedThrowingInstruction || instruction.instructionTypeCanThrow();
       newBlock.getInstructions().addFirst(instruction);
       instruction.setBlock(newBlock);
-      if (instruction.isDebugLocalsChange()) {
-        // Replay the debug local changes backwards to compute the entry state.
-        DebugLocalsChange change = instruction.asDebugLocalsChange();
-        for (int starting : change.getStarting().keySet()) {
-          newBlockEntryLocals.remove(starting);
-        }
-        for (Entry<DebugLocalInfo> ending : change.getEnding().int2ReferenceEntrySet()) {
-          newBlockEntryLocals.put(ending.getIntKey(), ending.getValue());
-        }
-      }
     }
     if (movedThrowingInstruction && first.hasCatchHandlers()) {
       newBlock.transferCatchHandlers(first);
     }
     for (BasicBlock pred : preds) {
+      Position lastPosition = pred.getPosition();
       LinkedList<Instruction> instructions = pred.getInstructions();
       for (int i = 0; i < suffixSize; i++) {
         instructions.removeLast();
       }
+      for (Instruction instruction : pred.getInstructions()) {
+        if (instruction.getPosition().isSome()) {
+          lastPosition = instruction.getPosition();
+        }
+      }
       Goto jump = new Goto();
       jump.setBlock(pred);
+      jump.setPosition(lastPosition);
       instructions.add(jump);
       newBlock.getPredecessors().add(pred);
       if (successorBlock != null) {
@@ -181,16 +183,37 @@
         pred.clearCatchHandlers();
       }
     }
-    newBlock.setLocalsAtEntry(newBlockEntryLocals);
+    newBlock.close(null);
+    if (newBlockEntryLocals != null) {
+      newBlock.setLocalsAtEntry(newBlockEntryLocals);
+    }
     if (successorBlock != null) {
       newBlock.link(successorBlock);
     }
     return newBlock;
   }
 
+  private static Int2ReferenceMap<DebugLocalInfo> localsAtBlockExit(BasicBlock block) {
+    if (block.getLocalsAtEntry() == null) {
+      return null;
+    }
+    Int2ReferenceMap<DebugLocalInfo> locals =
+        new Int2ReferenceOpenHashMap<>(block.getLocalsAtEntry());
+    for (Instruction instruction : block.getInstructions()) {
+      if (instruction.isDebugLocalsChange()) {
+        instruction.asDebugLocalsChange().apply(locals);
+      }
+    }
+    return locals;
+  }
+
   private static int sharedSuffixSize(
       BasicBlock block0, BasicBlock block1, RegisterAllocator allocator) {
     assert block0.exit().isGoto() || block0.exit().isReturn();
+    // If the blocks do not agree on locals at exit then they don't have any shared suffix.
+    if (!Objects.equals(localsAtBlockExit(block0), localsAtBlockExit(block1))) {
+      return 0;
+    }
     InstructionListIterator it0 = block0.listIterator(block0.getInstructions().size());
     InstructionListIterator it1 = block1.listIterator(block1.getInstructions().size());
     int suffixSize = 0;
@@ -230,6 +253,7 @@
             changed = true;
             int otherPredIndex = blockToIndex.get(wrapper);
             BasicBlock otherPred = block.getPredecessors().get(otherPredIndex);
+            assert Objects.equals(pred.getPosition(), otherPred.getPosition());
             pred.clearCatchHandlers();
             pred.getInstructions().clear();
             equivalence.clearComputedHash(pred);
@@ -242,6 +266,7 @@
             otherPred.getPredecessors().add(pred);
             Goto exit = new Goto();
             exit.setBlock(pred);
+            exit.setPosition(otherPred.getPosition());
             pred.getInstructions().add(exit);
           } else {
             blockToIndex.put(wrapper, predIndex);
diff --git a/src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java b/src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java
index c381944..75bf9c0 100644
--- a/src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java
+++ b/src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java
@@ -331,7 +331,9 @@
       Int2ReferenceMap<DebugLocalInfo> currentLocals =
           new Int2ReferenceOpenHashMap<>(openRanges.size());
       for (LocalRange openRange : openRanges) {
-        currentLocals.put(openRange.register, openRange.local);
+        if (liveLocalValues.contains(openRange.value)) {
+          currentLocals.put(openRange.register, openRange.local);
+        }
       }
 
       // Set locals at entry. This will adjust initial local registers in case of spilling.
@@ -350,7 +352,7 @@
             while (it.hasNext()) {
               LocalRange openRange = it.next();
               if (openRange.value == endAnnotation) {
-                it.remove();
+                // Don't remove the local from open-ranges as it is still technically open.
                 assert currentLocals.get(openRange.register) == openRange.local;
                 currentLocals.remove(openRange.register);
                 ending.put(openRange.register, openRange.local);
@@ -382,8 +384,9 @@
               it.remove();
               // It may be that currentLocals does not contain this local because an explicit end
               // already closed the local.
-              currentLocals.remove(openRange.register);
-              ending.put(openRange.register, openRange.local);
+              if (currentLocals.remove(openRange.register) != null) {
+                ending.put(openRange.register, openRange.local);
+              }
             }
           }
         }
diff --git a/src/main/java/com/android/tools/r8/naming/IdentifierNameStringUtils.java b/src/main/java/com/android/tools/r8/naming/IdentifierNameStringUtils.java
index 5128b96..3d1539e 100644
--- a/src/main/java/com/android/tools/r8/naming/IdentifierNameStringUtils.java
+++ b/src/main/java/com/android/tools/r8/naming/IdentifierNameStringUtils.java
@@ -18,13 +18,15 @@
 import com.android.tools.r8.graph.DexTypeList;
 import com.android.tools.r8.ir.code.ArrayPut;
 import com.android.tools.r8.ir.code.BasicBlock;
-import com.android.tools.r8.ir.code.ConstInstruction;
+import com.android.tools.r8.ir.code.CheckCast;
 import com.android.tools.r8.ir.code.ConstString;
 import com.android.tools.r8.ir.code.Instruction;
 import com.android.tools.r8.ir.code.InstructionListIterator;
 import com.android.tools.r8.ir.code.InvokeMethod;
 import com.android.tools.r8.ir.code.NewArrayEmpty;
 import com.android.tools.r8.ir.code.Value;
+import com.google.common.collect.Sets;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
@@ -187,7 +189,11 @@
       itemBasedString = inferFieldInHolder(appInfo, holder, dexString.toString(), null);
     } else {
       assert numOfParams == 3;
-      DexTypeList arguments = retrieveDexTypeListFromClassList(invoke, ins.get(2));
+      DexTypeList arguments =
+          retrieveDexTypeListFromClassList(invoke, ins.get(2), appInfo.dexItemFactory);
+      if (arguments == null) {
+        return null;
+      }
       itemBasedString = inferMethodInHolder(appInfo, holder, dexString.toString(), arguments);
     }
     return itemBasedString;
@@ -246,7 +252,7 @@
     DexItemBasedString itemBasedString =
         inferFieldInHolder(appInfo, holder, memberIdentifier, null);
     if (itemBasedString == null) {
-      itemBasedString = inferMethodInHolder(appInfo, holder, memberIdentifier, null);
+      itemBasedString = inferMethodNameInHolder(appInfo, holder, memberIdentifier);
     }
     return itemBasedString;
   }
@@ -273,20 +279,18 @@
     return itemBasedString;
   }
 
-  private static DexItemBasedString inferMethodInHolder(
-      AppInfo appInfo, DexClass holder, String name, DexTypeList arguments) {
+  private static DexItemBasedString inferMethodNameInHolder(
+      AppInfo appInfo, DexClass holder, String name) {
     DexItemBasedString itemBasedString = null;
     for (DexEncodedMethod encodedMethod : holder.directMethods()) {
-      if (encodedMethod.method.name.toString().equals(name)
-          && (arguments == null || encodedMethod.method.proto.parameters.equals(arguments))) {
+      if (encodedMethod.method.name.toString().equals(name)) {
         itemBasedString = appInfo.dexItemFactory.createItemBasedString(encodedMethod.method);
         break;
       }
     }
     if (itemBasedString == null) {
       for (DexEncodedMethod encodedMethod : holder.virtualMethods()) {
-        if (encodedMethod.method.name.toString().equals(name)
-            && (arguments == null || encodedMethod.method.proto.parameters.equals(arguments))) {
+        if (encodedMethod.method.name.toString().equals(name)) {
           itemBasedString = appInfo.dexItemFactory.createItemBasedString(encodedMethod.method);
           break;
         }
@@ -295,13 +299,59 @@
     return itemBasedString;
   }
 
-  // Perform a conservative evaluation of the constant content of an array from its construction
+  private static DexItemBasedString inferMethodInHolder(
+      AppInfo appInfo, DexClass holder, String name, DexTypeList arguments) {
+    assert arguments != null;
+    DexItemBasedString itemBasedString = null;
+    for (DexEncodedMethod encodedMethod : holder.directMethods()) {
+      if (encodedMethod.method.name.toString().equals(name)
+          && encodedMethod.method.proto.parameters.equals(arguments)) {
+        itemBasedString = appInfo.dexItemFactory.createItemBasedString(encodedMethod.method);
+        break;
+      }
+    }
+    if (itemBasedString == null) {
+      for (DexEncodedMethod encodedMethod : holder.virtualMethods()) {
+        if (encodedMethod.method.name.toString().equals(name)
+            && encodedMethod.method.proto.parameters.equals(arguments)) {
+          itemBasedString = appInfo.dexItemFactory.createItemBasedString(encodedMethod.method);
+          break;
+        }
+      }
+    }
+    return itemBasedString;
+  }
+
+  private static DexType getTypeFromConstClassOrBoxedPrimitive(
+      Value value, DexItemFactory factory) {
+    if (value.isPhi()) {
+      return null;
+    }
+    if (value.isConstant() && value.getConstInstruction().isConstClass()) {
+      return value.getConstInstruction().asConstClass().getValue();
+    }
+    if (value.definition.isStaticGet()) {
+      return factory.primitiveTypesBoxedTypeFields.boxedFieldTypeToPrimitiveType(
+          value.definition.asStaticGet().getField());
+    }
+    return null;
+  }
+
+  // Perform a conservative evaluation of an array content of dex type values from its construction
   // until its use at a given instruction.
-  private static ConstInstruction[] evaluateConstArrayContentFromConstructionToUse(
-      NewArrayEmpty newArray, int size, Instruction user) {
-    ConstInstruction[] values = new ConstInstruction[size];
+  private static DexType[] evaluateTypeArrayContentFromConstructionToUse(
+      NewArrayEmpty newArray,
+      List<CheckCast> aliases,
+      int size,
+      Instruction user,
+      DexItemFactory factory) {
+    DexType[] values = new DexType[size];
     int remaining = size;
-    Set<Instruction> users = newArray.outValue().uniqueUsers();
+    Set<Instruction> users = Sets.newIdentityHashSet();
+    users.addAll(newArray.outValue().uniqueUsers());
+    for (CheckCast alias : aliases) {
+      users.addAll(alias.outValue().uniqueUsers());
+    }
     // Follow the path from the array construction to the requested use collecting the constants
     // put into the array. Conservatively bail out if the content of the array cannot be statically
     // computed.
@@ -320,25 +370,33 @@
           // the content was requested.
           return remaining == 0 ? values : null;
         }
-        // Any other kinds of use besides array-put mean that the array escapes and could be
-        // altered.
+        // Any other kinds of use besides array-put mean that the array escapes and its content
+        // could be altered.
         if (!instruction.isArrayPut()) {
-          return null;
+          if (instruction.isCheckCast() && aliases.contains(instruction.asCheckCast())) {
+            continue;
+          }
+          values = new DexType[size];
+          remaining = size;
+          continue;
         }
         ArrayPut arrayPut = instruction.asArrayPut();
-        if (!(arrayPut.value().isConstant() && arrayPut.index().isConstNumber())) {
+        if (!arrayPut.index().isConstNumber()) {
           return null;
         }
         int index = arrayPut.index().getConstInstruction().asConstNumber().getIntValue();
         if (index < 0 || index >= values.length) {
           return null;
         }
+        DexType type = getTypeFromConstClassOrBoxedPrimitive(arrayPut.value(), factory);
+        if (type == null) {
+          return null;
+        }
         // Allow several writes to the same array element.
         if (values[index] == null) {
           remaining--;
         }
-        ConstInstruction value = arrayPut.value().getConstInstruction();
-        values[index] = value;
+        values[index] = type;
       }
       if (!block.exit().isGoto()) {
         return null;
@@ -364,7 +422,7 @@
    * @return a list of {@link DexType} that corresponds to const class in {@param classListValue}
    */
   private static DexTypeList retrieveDexTypeListFromClassList(
-      InvokeMethod invoke, Value classListValue) {
+      InvokeMethod invoke, Value classListValue, DexItemFactory factory) {
 
     // The code
     //   A.class.getMethod("m", String.class, String.class)
@@ -385,8 +443,31 @@
     // INVOKEVIRTUAL java/lang/Class.getMethod \
     //     (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
 
+    // Besides the code pattern above this supports a series of check-cast instructions. e.g.:
+    //
+    // A.class.getMethod("name", (Class<?>[]) new Class<?>[]{String.class})
+
+    List<CheckCast> aliases = new ArrayList<>();
+    if (!classListValue.isPhi()
+        && classListValue.definition.isCheckCast()
+        && classListValue.definition.asCheckCast().getType() == factory.classArrayType) {
+      while (!classListValue.isPhi() && classListValue.definition.isCheckCast()) {
+        aliases.add(classListValue.definition.asCheckCast());
+        classListValue = classListValue.definition.asCheckCast().object();
+      }
+    }
+    if (classListValue.isPhi()) {
+      return null;
+    }
+
+    // A null argument list is an empty argument list
+    if (classListValue.isZero()) {
+      return DexTypeList.empty();
+    }
+
     // Make sure this Value refers to a new array.
-    if (!classListValue.definition.isNewArrayEmpty()) {
+    if (!classListValue.definition.isNewArrayEmpty()
+        || !classListValue.definition.asNewArrayEmpty().size().isConstant()) {
       return null;
     }
 
@@ -402,20 +483,13 @@
       return DexTypeList.empty();
     }
 
-    ConstInstruction[] arrayContent =
-        evaluateConstArrayContentFromConstructionToUse(
-            classListValue.definition.asNewArrayEmpty(), size, invoke);
+    DexType[] arrayContent =
+        evaluateTypeArrayContentFromConstructionToUse(
+            classListValue.definition.asNewArrayEmpty(), aliases, size, invoke, factory);
 
     if (arrayContent == null) {
       return null;
     }
-    DexType[] types = new DexType[size];
-    for (int i = 0; i < size; i++) {
-      if (!arrayContent[i].isConstClass()) {
-        return null;
-      }
-      types[i] = arrayContent[i].asConstClass().getValue();
-    }
-    return new DexTypeList(types);
+    return new DexTypeList(arrayContent);
   }
 }
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index 5975442..c7d6561 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -462,6 +462,7 @@
     public boolean nondeterministicCycleElimination = false;
     public Set<Inliner.Reason> validInliningReasons = null;
     public boolean suppressExperimentalCfBackendWarning = false;
+    public boolean removeLocalsTable = false;
   }
 
   public boolean canUseInvokePolymorphicOnVarHandle() {
diff --git a/src/test/examplesAndroidO/lambdadesugaring/ValueAdjustments.java b/src/test/examplesAndroidO/lambdadesugaring/ValueAdjustments.java
index 1d6772a..c533684 100644
--- a/src/test/examplesAndroidO/lambdadesugaring/ValueAdjustments.java
+++ b/src/test/examplesAndroidO/lambdadesugaring/ValueAdjustments.java
@@ -462,6 +462,42 @@
     builder.append(a.greet()).append('\n');
   }
 
+  // Make the test independent of libraries by not using java.util.function.Function.
+  interface MyFunction<T, R> {
+    R apply(T var1);
+  }
+
+  static class Observable<T> {
+  }
+
+  static class Handler<T> {
+    T elements;
+
+    Handler(T e) {
+      elements = e;
+    }
+
+    public T handleErrors(T result) {
+      System.out.println(result.getClass().getName());
+      return null;
+    }
+
+    public final Observable<T> map(MyFunction<? super T, ? extends T> mapper) {
+      System.out.println("Handler.map");
+      mapper.apply(elements);
+      return null;
+    }
+  }
+
+
+  static class B116542124 {
+    private Handler<String[]> approvalManagersHandler = new Handler<>(new String[] { "asdf" });
+
+    public void test() {
+      approvalManagersHandler.map(approvalManagersHandler::handleErrors);
+    }
+  }
+
   public static void main(String[] args) {
     StringBuffer builder = new StringBuffer();
 
@@ -482,7 +518,7 @@
 
     checkMisc(builder);
     bB70348575(builder);
-
+    new B116542124().test();
     System.out.println(builder.toString());
   }
 }
diff --git a/src/test/java/com/android/tools/r8/JctfTestSpecifications.java b/src/test/java/com/android/tools/r8/JctfTestSpecifications.java
index ee82fc4..f734ab8 100644
--- a/src/test/java/com/android/tools/r8/JctfTestSpecifications.java
+++ b/src/test/java/com/android/tools/r8/JctfTestSpecifications.java
@@ -4,9 +4,7 @@
 
 package com.android.tools.r8;
 
-import static com.android.tools.r8.TestCondition.D8_COMPILER;
 import static com.android.tools.r8.TestCondition.R8_COMPILER;
-import static com.android.tools.r8.TestCondition.R8_NOT_AFTER_D8_COMPILER;
 import static com.android.tools.r8.TestCondition.and;
 import static com.android.tools.r8.TestCondition.any;
 import static com.android.tools.r8.TestCondition.match;
@@ -34,4914 +32,1420 @@
 
   public static final Multimap<String, TestCondition> failuresToTriage =
       new ImmutableListMultimap.Builder<String, TestCondition>()
-
           .put("math.BigInteger.nextProbablePrime.BigInteger_nextProbablePrime_A02", any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.ArithmeticException
-
           .put("math.BigInteger.ConstructorLjava_lang_String.BigInteger_Constructor_A02", any())
-          // 1) t03
-          // java.lang.AssertionError: Expected exception: java.lang.NumberFormatException
-
-          .put("lang.StringBuffer.insertILjava_lang_Object.StringBuffer_insert_A01",
+          .put(
+              "lang.StringBuffer.insertILjava_lang_Object.StringBuffer_insert_A01",
               match(runtimes(Version.DEFAULT)))
-          // 1) t01
-          // java.lang.StringIndexOutOfBoundsException: length=21; regionStart=0; regionLength=42
-
-          .put("lang.StringBuffer.serialization.StringBuffer_serialization_A01",  any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/StringBuffer/serialization/StringBuffer_serialization_A01.golden.ser
-
+          .put("lang.StringBuffer.serialization.StringBuffer_serialization_A01", any())
           .put(
               "lang.CloneNotSupportedException.serialization.CloneNotSupportedException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/CloneNotSupportedException/serialization/CloneNotSupportedException_serialization_A01.golden.0.ser
-
-          .put("lang.NumberFormatException.serialization.NumberFormatException_serialization_A01",
+          .put(
+              "lang.NumberFormatException.serialization.NumberFormatException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/NumberFormatException/serialization/NumberFormatException_serialization_A01.golden.0.ser
-
-          .put("lang.StrictMath.roundF.StrictMath_round_A01",
+          .put(
+              "lang.StrictMath.roundF.StrictMath_round_A01",
               match(runtimes(Version.DEFAULT, Version.V7_0_0)))
-          // 1) t01
-          // java.lang.AssertionError: Wrong result produced for argument: 0.49999997 expected:<1.0> but was:<0.0>
-
-          .put("lang.StrictMath.roundD.StrictMath_round_A01",
+          .put(
+              "lang.StrictMath.roundD.StrictMath_round_A01",
               match(runtimes(Version.DEFAULT, Version.V7_0_0)))
-          // 1) t01
-          // java.lang.AssertionError: Wrong result produced for argument: 0.49999999999999994 expected:<1.0> but was:<0.0>
-
           .put("lang.StrictMath.atan2DD.StrictMath_atan2_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad value returned for arguments: 2.225073858507201E-308 0.9999999999999999 expected:<2.2250738585072014E-308> but was:<2.225073858507201E-308>
-
           .put("lang.Thread.stop.Thread_stop_A05", any())
-          // 1) t01
-          // java.lang.UnsupportedOperationException
-          // 2) t02
-          // java.lang.UnsupportedOperationException
-
           .put("lang.Thread.resume.Thread_resume_A02", any())
-          // 1) t01
-          // java.lang.UnsupportedOperationException
-          // 2) t02
-          // java.lang.UnsupportedOperationException
-
           .put("lang.Thread.suspend.Thread_suspend_A02", any())
-          // 1) t01
-          // java.lang.UnsupportedOperationException
-          // 2) t02
-          // java.lang.UnsupportedOperationException
-          // 3) t03
-          // java.lang.UnsupportedOperationException
-          // 4) t04
-          // java.lang.UnsupportedOperationException
-
           .put("lang.Thread.stop.Thread_stop_A03", any())
-          // 1) t01
-          // java.lang.UnsupportedOperationException
-          // 2) t02
-          // java.lang.UnsupportedOperationException
-          // 3) t03
-          // java.lang.UnsupportedOperationException
-          // 4) t04
-          // java.lang.UnsupportedOperationException
-          // 5) t05
-          // java.lang.UnsupportedOperationException
-          // 6) t06
-          // java.lang.UnsupportedOperationException
-
           .put("lang.Thread.interrupt.Thread_interrupt_A03", any())
-          // 1) t01
-          // java.lang.AssertionError: Not implemented
-
           .put("lang.Thread.stop.Thread_stop_A04", any())
-          // 1) t01
-          // java.lang.UnsupportedOperationException
-
           .put(
               "lang.Thread.ConstructorLjava_lang_ThreadGroupLjava_lang_RunnableLjava_lang_StringJ.Thread_Constructor_A01",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V6_0_1)))
-          // 1) t01
-          // java.lang.OutOfMemoryError: pthread_create (-8589934591GB stack) failed: Resource temporarily unavailable
-
-          .put("lang.Thread.getUncaughtExceptionHandler.Thread_getUncaughtExceptionHandler_A01",
+          .put(
+              "lang.Thread.getUncaughtExceptionHandler.Thread_getUncaughtExceptionHandler_A01",
               any())
-          // 1) t03
-          // java.lang.AssertionError: expected null, but was:<java.lang.ThreadGroup[name=main,maxpri=10]>
-
           .put("lang.Thread.getStackTrace.Thread_getStackTrace_A02", any())
-          // 1) t01
-          // org.junit.ComparisonFailure: expected:<get[]StackTrace> but was:<get[Thread]StackTrace>
-
           .put("lang.Thread.enumerate_Ljava_lang_Thread.Thread_enumerate_A02", any())
-          // 1) t01
-          // java.lang.AssertionError: test failed with error:java.lang.SecurityException
-
           .put("lang.Thread.countStackFrames.Thread_countStackFrames_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.IllegalThreadStateException
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.IllegalThreadStateException
-          // 3) t03
-          // java.lang.AssertionError: Expected exception: java.lang.IllegalThreadStateException
-          // 4) t04
-          // java.lang.AssertionError: Expected exception: java.lang.IllegalThreadStateException
-
-          .put("lang.Thread.getAllStackTraces.Thread_getAllStackTraces_A01",
+          .put(
+              "lang.Thread.getAllStackTraces.Thread_getAllStackTraces_A01",
               match(runtimes(Version.V7_0_0)))
-          // 1) t01
-          // java.lang.AssertionError
-
           .put("lang.Thread.destroy.Thread_destroy_A01", match(runtimesFrom(Version.V4_4_4)))
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.NoSuchMethodError> but was<java.lang.UnsupportedOperationException>
-          // Caused by: java.lang.UnsupportedOperationException
-          // 2) t02
-          // java.lang.Exception: Unexpected exception, expected<java.lang.NoSuchMethodError> but was<java.lang.UnsupportedOperationException>
-          // Caused by: java.lang.UnsupportedOperationException
-
           .put("lang.Thread.isAlive.Thread_isAlive_A01", any())
-          // 1) t01
-          // java.lang.UnsupportedOperationException
-
           .put("lang.Thread.stopLjava_lang_Throwable.Thread_stop_A04", any())
-          // 1) t01
-          // java.lang.UnsupportedOperationException
-
           .put("lang.Thread.stopLjava_lang_Throwable.Thread_stop_A03", any())
-          // 1) t01
-          // java.lang.UnsupportedOperationException
-          // 2) t02
-          // java.lang.UnsupportedOperationException
-          // 3) t03
-          // java.lang.UnsupportedOperationException
-          // 4) t05
-          // java.lang.UnsupportedOperationException
-          // 5) t06
-          // java.lang.UnsupportedOperationException
-
           .put("lang.Thread.stopLjava_lang_Throwable.Thread_stop_A05", any())
-          // 1) t02
-          // java.lang.Exception: Unexpected exception, expected<java.lang.NullPointerException> but was<java.lang.UnsupportedOperationException>
-          // Caused by: java.lang.UnsupportedOperationException
-
           .put("lang.Thread.getPriority.Thread_getPriority_A01", any())
-          // 1) t02
-          // java.lang.UnsupportedOperationException
-
-          .put("lang.Thread.getContextClassLoader.Thread_getContextClassLoader_A03",
+          .put(
+              "lang.Thread.getContextClassLoader.Thread_getContextClassLoader_A03",
               match(runtimes(Version.V7_0_0)))
-          // 1) t01
-          // java.lang.AssertionError: improper ClassLoader expected same:<null> was not:<dalvik.system.PathClassLoader[DexPathList[[dex file "/tmp/junit7794202178392390143/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]]>
-
           .put("lang.OutOfMemoryError.serialization.OutOfMemoryError_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/OutOfMemoryError/serialization/OutOfMemoryError_serialization_A01.golden.0.ser
-
           .put(
               "lang.RuntimePermission.ConstructorLjava_lang_StringLjava_lang_String.RuntimePermission_Constructor_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<a> but was:<null>
-          // 2) t02
-          // java.lang.AssertionError: expected:<2/3/2> but was:<null>
-
           .put("lang.RuntimePermission.serialization.RuntimePermission_serialization_A01", any())
-          // 1) t01
-          // java.lang.RuntimeException: Failed to detect comparator
-          // 2) t02
-          // java.lang.RuntimeException: Failed to detect comparator
-
           .put(
               "lang.RuntimePermission.ConstructorLjava_lang_StringLjava_lang_String.RuntimePermission_Constructor_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.RuntimePermission.ConstructorLjava_lang_StringLjava_lang_String.RuntimePermission_Constructor_A03",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.IllegalArgumentException
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A17", any())
-          // 1) t01
-          // java.lang.AssertionError: Not implemented
-
           .put(
               "lang.RuntimePermission.ConstructorLjava_lang_String.RuntimePermission_Constructor_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.RuntimePermission.ConstructorLjava_lang_String.RuntimePermission_Constructor_A03",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.IllegalArgumentException
-
           .put(
               "lang.RuntimePermission.ConstructorLjava_lang_String.RuntimePermission_Constructor_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<a> but was:<null>
-          // 2) t02
-          // java.lang.AssertionError: expected:<2/3/2> but was:<null>
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A26", any())
-          // 1) t01
-          // java.lang.AssertionError: Not implemented
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A04", any())
-          // 1) t01
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/ConstructorLjava_lang_ThreadGroupLjava_lang_RunnableLjava_lang_String/Thread_Constructor_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.ConstructorLjava_lang_ThreadGroupLjava_lang_RunnableLjava_lang_String.Thread_Constructor_A04" on path: DexPathList[[dex file "/tmp/junit4094594533964383293/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/ConstructorLjava_lang_ThreadGroupLjava_lang_RunnableLjava_lang_StringJ/Thread_Constructor_A05;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.ConstructorLjava_lang_ThreadGroupLjava_lang_RunnableLjava_lang_StringJ.Thread_Constructor_A05" on path: DexPathList[[dex file "/tmp/junit4094594533964383293/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 3) t03
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/ConstructorLjava_lang_ThreadGroupLjava_lang_RunnableLjava_lang_String/Thread_Constructor_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.ConstructorLjava_lang_ThreadGroupLjava_lang_RunnableLjava_lang_String.Thread_Constructor_A04" on path: DexPathList[[dex file "/tmp/junit4094594533964383293/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 4) t04
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/ConstructorLjava_lang_ThreadGroupLjava_lang_RunnableLjava_lang_StringJ/Thread_Constructor_A05;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.ConstructorLjava_lang_ThreadGroupLjava_lang_RunnableLjava_lang_StringJ.Thread_Constructor_A05" on path: DexPathList[[dex file "/tmp/junit4094594533964383293/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A03", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/setContextClassLoaderLjava_lang_ClassLoader/Thread_setContextClassLoader_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.setContextClassLoaderLjava_lang_ClassLoader.Thread_setContextClassLoader_A02" on path: DexPathList[[dex file "/tmp/junit8983002984475576815/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/setContextClassLoaderLjava_lang_ClassLoader/Thread_setContextClassLoader_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.setContextClassLoaderLjava_lang_ClassLoader.Thread_setContextClassLoader_A02" on path: DexPathList[[dex file "/tmp/junit8983002984475576815/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A25", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/setDefaultUncaughtExceptionHandler/Thread_setDefaultUncaughtExceptionHandler_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.setDefaultUncaughtExceptionHandler.Thread_setDefaultUncaughtExceptionHandler_A02" on path: DexPathList[[dex file "/tmp/junit1629291049961551929/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/setDefaultUncaughtExceptionHandler/Thread_setDefaultUncaughtExceptionHandler_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.setDefaultUncaughtExceptionHandler.Thread_setDefaultUncaughtExceptionHandler_A02" on path: DexPathList[[dex file "/tmp/junit1629291049961551929/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A06", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/SecurityManager/Constructor/SecurityManager_Constructor_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.SecurityManager.Constructor.SecurityManager_Constructor_A01" on path: DexPathList[[dex file "/tmp/junit4316252965733666132/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/SecurityManager/Constructor/SecurityManager_Constructor_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.SecurityManager.Constructor.SecurityManager_Constructor_A01" on path: DexPathList[[dex file "/tmp/junit4316252965733666132/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A21", any())
-          // 1) t02
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/SecurityManager/checkPackageDefinitionLjava_lang_String/SecurityManager_checkPackageDefinition_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.SecurityManager.checkPackageDefinitionLjava_lang_String.SecurityManager_checkPackageDefinition_A01" on path: DexPathList[[dex file "/tmp/junit622469116149972008/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A22", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredClasses/Class_getDeclaredClasses_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredClasses.Class_getDeclaredClasses_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredConstructors/Class_getDeclaredConstructors_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredConstructors.Class_getDeclaredConstructors_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 3) t03
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredConstructor_Ljava_lang_Class/Class_getDeclaredConstructor_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredConstructor_Ljava_lang_Class.Class_getDeclaredConstructor_A03" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 4) t04
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredFields/Class_getDeclaredFields_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredFields.Class_getDeclaredFields_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 5) t05
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredFieldLjava_lang_String/Class_getDeclaredField_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredFieldLjava_lang_String.Class_getDeclaredField_A04" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 6) t06
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredMethods/Class_getDeclaredMethods_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredMethods.Class_getDeclaredMethods_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 7) t07
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredMethodLjava_lang_String_Ljava_lang_Class/Class_getDeclaredMethod_A05;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredMethodLjava_lang_String_Ljava_lang_Class.Class_getDeclaredMethod_A05" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 8) t08
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredClasses/Class_getDeclaredClasses_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredClasses.Class_getDeclaredClasses_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 9) t09
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredConstructors/Class_getDeclaredConstructors_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredConstructors.Class_getDeclaredConstructors_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 10) t10
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredConstructor_Ljava_lang_Class/Class_getDeclaredConstructor_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredConstructor_Ljava_lang_Class.Class_getDeclaredConstructor_A03" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 11) t11
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredFields/Class_getDeclaredFields_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredFields.Class_getDeclaredFields_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 12) t12
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredFieldLjava_lang_String/Class_getDeclaredField_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredFieldLjava_lang_String.Class_getDeclaredField_A04" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 13) t13
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredMethods/Class_getDeclaredMethods_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredMethods.Class_getDeclaredMethods_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 14) t14
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredMethodLjava_lang_String_Ljava_lang_Class/Class_getDeclaredMethod_A05;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredMethodLjava_lang_String_Ljava_lang_Class.Class_getDeclaredMethod_A05" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 15) t15
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/newInstance/Class_newInstance_A07;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.newInstance.Class_newInstance_A07" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 16) t16
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/newInstance/Class_newInstance_A07;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.newInstance.Class_newInstance_A07" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 17) t17
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getClasses/Class_getClasses_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getClasses.Class_getClasses_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 18) t18
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getConstructors/Class_getConstructors_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getConstructors.Class_getConstructors_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 19) t19
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getConstructor_Ljava_lang_Class/Class_getConstructor_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getConstructor_Ljava_lang_Class.Class_getConstructor_A04" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 20) t20
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getFields/Class_getFields_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getFields.Class_getFields_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 21) t21
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getFieldLjava_lang_String/Class_getField_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getFieldLjava_lang_String.Class_getField_A04" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 22) t22
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getMethods/Class_getMethods_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getMethods.Class_getMethods_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 23) t23
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getMethodLjava_lang_String_Ljava_lang_Class/Class_getMethod_A05;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getMethodLjava_lang_String_Ljava_lang_Class.Class_getMethod_A05" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 24) t24
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getClasses/Class_getClasses_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getClasses.Class_getClasses_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 25) t25
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getConstructors/Class_getConstructors_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getConstructors.Class_getConstructors_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 26) t26
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getConstructor_Ljava_lang_Class/Class_getConstructor_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getConstructor_Ljava_lang_Class.Class_getConstructor_A04" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 27) t27
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getFields/Class_getFields_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getFields.Class_getFields_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 28) t28
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getFieldLjava_lang_String/Class_getField_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getFieldLjava_lang_String.Class_getField_A04" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 29) t29
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getMethods/Class_getMethods_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getMethods.Class_getMethods_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 30) t30
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getMethodLjava_lang_String_Ljava_lang_Class/Class_getMethod_A05;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getMethodLjava_lang_String_Ljava_lang_Class.Class_getMethod_A05" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 31) t31
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/SecurityManager/checkMemberAccessLjava_lang_ClassI/SecurityManager_checkMemberAccess_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.SecurityManager.checkMemberAccessLjava_lang_ClassI.SecurityManager_checkMemberAccess_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 32) t32
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/SecurityManager/checkMemberAccessLjava_lang_ClassI/SecurityManager_checkMemberAccess_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.SecurityManager.checkMemberAccessLjava_lang_ClassI.SecurityManager_checkMemberAccess_A02" on path: DexPathList[[dex file "/tmp/junit2603421343038865741/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A11", any())
-          // 1) t01
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/System/setInLjava_io_InputStream/System_setIn_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.System.setInLjava_io_InputStream.System_setIn_A02" on path: DexPathList[[dex file "/tmp/junit8702631411569316964/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/System/setOutLjava_io_PrintStream/System_setOut_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.System.setOutLjava_io_PrintStream.System_setOut_A02" on path: DexPathList[[dex file "/tmp/junit8702631411569316964/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 3) t03
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/System/setErrLjava_io_PrintStream/System_setErr_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.System.setErrLjava_io_PrintStream.System_setErr_A02" on path: DexPathList[[dex file "/tmp/junit8702631411569316964/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 4) t04
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/System/setInLjava_io_InputStream/System_setIn_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.System.setInLjava_io_InputStream.System_setIn_A02" on path: DexPathList[[dex file "/tmp/junit8702631411569316964/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 5) t05
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/System/setOutLjava_io_PrintStream/System_setOut_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.System.setOutLjava_io_PrintStream.System_setOut_A02" on path: DexPathList[[dex file "/tmp/junit8702631411569316964/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 6) t06
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/System/setErrLjava_io_PrintStream/System_setErr_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.System.setErrLjava_io_PrintStream.System_setErr_A02" on path: DexPathList[[dex file "/tmp/junit8702631411569316964/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A08", any())
-          // 1) t01
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Runtime/exitI/Runtime_exit_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A04" on path: DexPathList[[dex file "/tmp/junit161743829053407699/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Runtime/haltI/Runtime_halt_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Runtime.haltI.Runtime_halt_A03" on path: DexPathList[[dex file "/tmp/junit161743829053407699/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 3) t03
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Runtime/exitI/Runtime_exit_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A04" on path: DexPathList[[dex file "/tmp/junit161743829053407699/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 4) t04
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Runtime/haltI/Runtime_halt_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Runtime.haltI.Runtime_halt_A03" on path: DexPathList[[dex file "/tmp/junit161743829053407699/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A16", any())
-          // 1) t01
-          // java.lang.AssertionError: Not implemented
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A12", any())
-          // 1) t01
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/interrupt/Thread_interrupt_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.interrupt.Thread_interrupt_A01" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/stop/Thread_stop_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.stop.Thread_stop_A01" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 3) t03
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/suspend/Thread_suspend_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.suspend.Thread_suspend_A01" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 4) t04
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/resume/Thread_resume_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.resume.Thread_resume_A01" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 5) t05
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/setDaemonZ/Thread_setDaemon_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.setDaemonZ.Thread_setDaemon_A03" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 6) t06
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/setPriorityI/Thread_setPriority_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.setPriorityI.Thread_setPriority_A02" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 7) t07
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/setNameLjava_lang_String/Thread_setName_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.setNameLjava_lang_String.Thread_setName_A02" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 8) t08
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/setUncaughtExceptionHandler/Thread_setUncaughtExceptionHandler_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.setUncaughtExceptionHandler.Thread_setUncaughtExceptionHandler_A02" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 9) t09
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/interrupt/Thread_interrupt_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.interrupt.Thread_interrupt_A01" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 10) t10
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/suspend/Thread_suspend_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.suspend.Thread_suspend_A01" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 11) t11
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/stop/Thread_stop_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.stop.Thread_stop_A01" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 12) t12
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/resume/Thread_resume_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.resume.Thread_resume_A01" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 13) t13
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/setDaemonZ/Thread_setDaemon_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.setDaemonZ.Thread_setDaemon_A03" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 14) t14
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/setPriorityI/Thread_setPriority_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.setPriorityI.Thread_setPriority_A02" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 15) t15
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/setNameLjava_lang_String/Thread_setName_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.setNameLjava_lang_String.Thread_setName_A02" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 16) t16
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/setUncaughtExceptionHandler/Thread_setUncaughtExceptionHandler_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.setUncaughtExceptionHandler.Thread_setUncaughtExceptionHandler_A02" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 17) t17
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/SecurityManager/checkAccessLjava_lang_Thread/SecurityManager_checkAccess_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.SecurityManager.checkAccessLjava_lang_Thread.SecurityManager_checkAccess_A01" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 18) t18
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/SecurityManager/checkAccessLjava_lang_Thread/SecurityManager_checkAccess_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.SecurityManager.checkAccessLjava_lang_Thread.SecurityManager_checkAccess_A01" on path: DexPathList[[dex file "/tmp/junit1615879415958114883/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A24", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/getAllStackTraces/Thread_getAllStackTraces_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.getAllStackTraces.Thread_getAllStackTraces_A02" on path: DexPathList[[dex file "/tmp/junit6143640280960303446/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/getStackTrace/Thread_getStackTrace_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.getStackTrace.Thread_getStackTrace_A03" on path: DexPathList[[dex file "/tmp/junit6143640280960303446/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 3) t03
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/getStackTrace/Thread_getStackTrace_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.getStackTrace.Thread_getStackTrace_A03" on path: DexPathList[[dex file "/tmp/junit6143640280960303446/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 4) t04
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Thread/getAllStackTraces/Thread_getAllStackTraces_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Thread.getAllStackTraces.Thread_getAllStackTraces_A02" on path: DexPathList[[dex file "/tmp/junit6143640280960303446/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A23", any())
-          // 1) t01
-          // java.lang.AssertionError: Not implemented
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A18", any())
-          // 1) t01
-          // java.lang.AssertionError: Not implemented
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A19", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Runtime/loadLjava_lang_String/Runtime_load_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Runtime.loadLjava_lang_String.Runtime_load_A03" on path: DexPathList[[dex file "/tmp/junit3066867775929885441/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Runtime/loadLibraryLjava_lang_String/Runtime_loadLibrary_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Runtime.loadLibraryLjava_lang_String.Runtime_loadLibrary_A03" on path: DexPathList[[dex file "/tmp/junit3066867775929885441/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 3) t03
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Runtime/loadLjava_lang_String/Runtime_load_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Runtime.loadLjava_lang_String.Runtime_load_A03" on path: DexPathList[[dex file "/tmp/junit3066867775929885441/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 4) t04
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Runtime/loadLibraryLjava_lang_String/Runtime_loadLibrary_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Runtime.loadLibraryLjava_lang_String.Runtime_loadLibrary_A03" on path: DexPathList[[dex file "/tmp/junit3066867775929885441/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A07", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/System/getenv/System_getenv_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.System.getenv.System_getenv_A04" on path: DexPathList[[dex file "/tmp/junit8429314639688357329/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/System/getenvLjava_lang_String/System_getenv_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.System.getenvLjava_lang_String.System_getenv_A03" on path: DexPathList[[dex file "/tmp/junit8429314639688357329/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 3) t03
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ProcessBuilder/environment/ProcessBuilder_environment_A07;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ProcessBuilder.environment.ProcessBuilder_environment_A07" on path: DexPathList[[dex file "/tmp/junit8429314639688357329/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 4) t04
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/System/getenv/System_getenv_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.System.getenv.System_getenv_A04" on path: DexPathList[[dex file "/tmp/junit8429314639688357329/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 5) t05
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/System/getenvLjava_lang_String/System_getenv_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.System.getenvLjava_lang_String.System_getenv_A03" on path: DexPathList[[dex file "/tmp/junit8429314639688357329/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 6) t06
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ProcessBuilder/environment/ProcessBuilder_environment_A07;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ProcessBuilder.environment.ProcessBuilder_environment_A07" on path: DexPathList[[dex file "/tmp/junit8429314639688357329/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A20", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredClasses/Class_getDeclaredClasses_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredClasses.Class_getDeclaredClasses_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredConstructors/Class_getDeclaredConstructors_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredConstructors.Class_getDeclaredConstructors_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 3) t03
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredConstructor_Ljava_lang_Class/Class_getDeclaredConstructor_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredConstructor_Ljava_lang_Class.Class_getDeclaredConstructor_A03" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 4) t04
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredFields/Class_getDeclaredFields_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredFields.Class_getDeclaredFields_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 5) t05
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredFieldLjava_lang_String/Class_getDeclaredField_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredFieldLjava_lang_String.Class_getDeclaredField_A04" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 6) t06
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredMethods/Class_getDeclaredMethods_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredMethods.Class_getDeclaredMethods_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 7) t07
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredMethodLjava_lang_String_Ljava_lang_Class/Class_getDeclaredMethod_A05;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredMethodLjava_lang_String_Ljava_lang_Class.Class_getDeclaredMethod_A05" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 8) t08
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredClasses/Class_getDeclaredClasses_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredClasses.Class_getDeclaredClasses_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 9) t09
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredConstructors/Class_getDeclaredConstructors_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredConstructors.Class_getDeclaredConstructors_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 10) t10
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredConstructor_Ljava_lang_Class/Class_getDeclaredConstructor_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredConstructor_Ljava_lang_Class.Class_getDeclaredConstructor_A03" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 11) t11
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredFields/Class_getDeclaredFields_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredFields.Class_getDeclaredFields_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 12) t12
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredFieldLjava_lang_String/Class_getDeclaredField_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredFieldLjava_lang_String.Class_getDeclaredField_A04" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 13) t13
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredMethods/Class_getDeclaredMethods_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredMethods.Class_getDeclaredMethods_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 14) t14
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getDeclaredMethodLjava_lang_String_Ljava_lang_Class/Class_getDeclaredMethod_A05;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getDeclaredMethodLjava_lang_String_Ljava_lang_Class.Class_getDeclaredMethod_A05" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 15) t15
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/newInstance/Class_newInstance_A07;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.newInstance.Class_newInstance_A07" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 16) t16
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/newInstance/Class_newInstance_A07;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.newInstance.Class_newInstance_A07" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 17) t17
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getClasses/Class_getClasses_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getClasses.Class_getClasses_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 18) t18
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getConstructors/Class_getConstructors_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getConstructors.Class_getConstructors_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 19) t19
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getConstructor_Ljava_lang_Class/Class_getConstructor_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getConstructor_Ljava_lang_Class.Class_getConstructor_A04" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 20) t20
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getFields/Class_getFields_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getFields.Class_getFields_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 21) t21
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getFieldLjava_lang_String/Class_getField_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getFieldLjava_lang_String.Class_getField_A04" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 22) t22
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getMethods/Class_getMethods_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getMethods.Class_getMethods_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 23) t23
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getMethodLjava_lang_String_Ljava_lang_Class/Class_getMethod_A05;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getMethodLjava_lang_String_Ljava_lang_Class.Class_getMethod_A05" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 24) t24
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getClasses/Class_getClasses_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getClasses.Class_getClasses_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 25) t25
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getConstructors/Class_getConstructors_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getConstructors.Class_getConstructors_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 26) t26
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getConstructor_Ljava_lang_Class/Class_getConstructor_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getConstructor_Ljava_lang_Class.Class_getConstructor_A04" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 27) t27
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getFields/Class_getFields_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getFields.Class_getFields_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 28) t28
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getFieldLjava_lang_String/Class_getField_A04;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getFieldLjava_lang_String.Class_getField_A04" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 29) t29
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getMethods/Class_getMethods_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getMethods.Class_getMethods_A02" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 30) t30
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getMethodLjava_lang_String_Ljava_lang_Class/Class_getMethod_A05;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getMethodLjava_lang_String_Ljava_lang_Class.Class_getMethod_A05" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 31) t32
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/SecurityManager/checkPackageAccessLjava_lang_String/SecurityManager_checkPackageAccess_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.SecurityManager.checkPackageAccessLjava_lang_String.SecurityManager_checkPackageAccess_A01" on path: DexPathList[[dex file "/tmp/junit7609456538458065688/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A15", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getProtectionDomain/Class_getProtectionDomain_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getProtectionDomain.Class_getProtectionDomain_A02" on path: DexPathList[[dex file "/tmp/junit2159138358960857439/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Class/getProtectionDomain/Class_getProtectionDomain_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.getProtectionDomain.Class_getProtectionDomain_A02" on path: DexPathList[[dex file "/tmp/junit2159138358960857439/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A05", any())
-          // 1) t01
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/System/setSecurityManagerLjava_lang_SecurityManager/System_setSecurityManager_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.System.setSecurityManagerLjava_lang_SecurityManager.System_setSecurityManager_A01" on path: DexPathList[[dex file "/tmp/junit5991060062859827030/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/System/setSecurityManagerLjava_lang_SecurityManager/System_setSecurityManager_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.System.setSecurityManagerLjava_lang_SecurityManager.System_setSecurityManager_A01" on path: DexPathList[[dex file "/tmp/junit5991060062859827030/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A09", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Runtime/addShutdownHookLjava_lang_Thread/Runtime_addShutdownHook_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A01" on path: DexPathList[[dex file "/tmp/junit719694264001364171/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Runtime/removeShutdownHookLjava_lang_Thread/Runtime_removeShutdownHook_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Runtime.removeShutdownHookLjava_lang_Thread.Runtime_removeShutdownHook_A01" on path: DexPathList[[dex file "/tmp/junit719694264001364171/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 3) t03
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Runtime/addShutdownHookLjava_lang_Thread/Runtime_addShutdownHook_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A01" on path: DexPathList[[dex file "/tmp/junit719694264001364171/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 4) t04
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/Runtime/removeShutdownHookLjava_lang_Thread/Runtime_removeShutdownHook_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Runtime.removeShutdownHookLjava_lang_Thread.Runtime_removeShutdownHook_A01" on path: DexPathList[[dex file "/tmp/junit719694264001364171/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A10", any())
-          // 1) t01
-          // java.lang.AssertionError: Not implemented
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A01", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ClassLoader/Constructor/ClassLoader_Constructor_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ClassLoader.Constructor.ClassLoader_Constructor_A02" on path: DexPathList[[dex file "/tmp/junit6765412840574788386/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ClassLoader/ConstructorLjava_lang_ClassLoader/ClassLoader_Constructor_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ClassLoader.ConstructorLjava_lang_ClassLoader.ClassLoader_Constructor_A02" on path: DexPathList[[dex file "/tmp/junit6765412840574788386/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 3) t03
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ClassLoader/Constructor/ClassLoader_Constructor_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ClassLoader.Constructor.ClassLoader_Constructor_A02" on path: DexPathList[[dex file "/tmp/junit6765412840574788386/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 4) t04
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ClassLoader/ConstructorLjava_lang_ClassLoader/ClassLoader_Constructor_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ClassLoader.ConstructorLjava_lang_ClassLoader.ClassLoader_Constructor_A02" on path: DexPathList[[dex file "/tmp/junit6765412840574788386/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
-          .put("lang.ClassLoader.defineClassLjava_lang_String_BII.ClassLoader_defineClass_A06",
+          .put(
+              "lang.ClassLoader.defineClassLjava_lang_String_BII.ClassLoader_defineClass_A06",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.RuntimePermission.Class.RuntimePermission_class_A14", any())
-          // 1) t01
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/interrupt/ThreadGroup_interrupt_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.interrupt.ThreadGroup_interrupt_A02" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/stop/ThreadGroup_stop_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.stop.ThreadGroup_stop_A02" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 3) t03
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/suspend/ThreadGroup_suspend_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.suspend.ThreadGroup_suspend_A02" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 4) t04
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/resume/ThreadGroup_resume_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.resume.ThreadGroup_resume_A02" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 5) t05
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/setDaemonZ/ThreadGroup_setDaemon_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.setDaemonZ.ThreadGroup_setDaemon_A02" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 6) t06
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/setMaxPriorityI/ThreadGroup_setMaxPriority_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.setMaxPriorityI.ThreadGroup_setMaxPriority_A02" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 7) t07
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/getParent/ThreadGroup_getParent_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.getParent.ThreadGroup_getParent_A03" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 8) t08
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/enumerate_ThreadGroup/ThreadGroup_enumerate_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.enumerate_ThreadGroup.ThreadGroup_enumerate_A03" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 9) t09
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/interrupt/ThreadGroup_interrupt_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.interrupt.ThreadGroup_interrupt_A02" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 10) t10
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/suspend/ThreadGroup_suspend_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.suspend.ThreadGroup_suspend_A02" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 11) t11
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/stop/ThreadGroup_stop_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.stop.ThreadGroup_stop_A02" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 12) t12
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/resume/ThreadGroup_resume_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.resume.ThreadGroup_resume_A02" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 13) t13
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/setDaemonZ/ThreadGroup_setDaemon_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.setDaemonZ.ThreadGroup_setDaemon_A02" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 14) t14
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/setMaxPriorityI/ThreadGroup_setMaxPriority_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.setMaxPriorityI.ThreadGroup_setMaxPriority_A02" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 15) t15
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/getParent/ThreadGroup_getParent_A02;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.getParent.ThreadGroup_getParent_A02" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 16) t16
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ThreadGroup/enumerate_ThreadGroup/ThreadGroup_enumerate_A03;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ThreadGroup.enumerate_ThreadGroup.ThreadGroup_enumerate_A03" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 17) t17
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/SecurityManager/checkAccessLjava_lang_ThreadGroup/SecurityManager_checkAccess_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.SecurityManager.checkAccessLjava_lang_ThreadGroup.SecurityManager_checkAccess_A01" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 18) t18
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/SecurityManager/checkAccessLjava_lang_ThreadGroup/SecurityManager_checkAccess_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.SecurityManager.checkAccessLjava_lang_ThreadGroup.SecurityManager_checkAccess_A01" on path: DexPathList[[dex file "/tmp/junit7453598412317397853/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
-          .put("lang.ClassLoader.defineClassLjava_lang_String_BII.ClassLoader_defineClass_A05",
+          .put(
+              "lang.ClassLoader.defineClassLjava_lang_String_BII.ClassLoader_defineClass_A05",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
-          .put("lang.ClassLoader.defineClassLjava_lang_String_BII.ClassLoader_defineClass_A02",
+          .put(
+              "lang.ClassLoader.defineClassLjava_lang_String_BII.ClassLoader_defineClass_A02",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 3) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
-          .put("lang.ClassLoader.defineClassLjava_lang_String_BII.ClassLoader_defineClass_A04",
+          .put(
+              "lang.ClassLoader.defineClassLjava_lang_String_BII.ClassLoader_defineClass_A04",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
-          .put("lang.ClassLoader.defineClassLjava_lang_String_BII.ClassLoader_defineClass_A03",
+          .put(
+              "lang.ClassLoader.defineClassLjava_lang_String_BII.ClassLoader_defineClass_A03",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
-          .put("lang.ClassLoader.defineClassLjava_lang_String_BII.ClassLoader_defineClass_A01",
+          .put(
+              "lang.ClassLoader.defineClassLjava_lang_String_BII.ClassLoader_defineClass_A01",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
-          .put("lang.ClassLoader.defineClassLjava_lang_String_BII.ClassLoader_defineClass_A07",
+          .put(
+              "lang.ClassLoader.defineClassLjava_lang_String_BII.ClassLoader_defineClass_A07",
               any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.NullPointerException> but was<java.lang.UnsupportedOperationException>
-          // Caused by: java.lang.UnsupportedOperationException: can't load this type of class file
-
           .put(
               "lang.ClassLoader.setPackageAssertionStatusLjava_lang_StringZ.ClassLoader_setPackageAssertionStatus_A02",
               any())
-          // 1) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.setPackageAssertionStatusLjava_lang_StringZ.ClassLoader_setPackageAssertionStatus_A01",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.setPackageAssertionStatusLjava_lang_StringZ.ClassLoader_setPackageAssertionStatus_A03",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.ClassLoader.loadClassLjava_lang_StringZ.ClassLoader_loadClass_A03", any())
-          // 1) t03
-          // java.lang.AssertionError: ClassNotFoundException expected for class: java/lang/Object
-
           .put("lang.ClassLoader.loadClassLjava_lang_StringZ.ClassLoader_loadClass_A01", any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 3) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.ClassLoader.loadClassLjava_lang_StringZ.ClassLoader_loadClass_A04", any())
-          // 1) t01(com.google.jctf.test.lib.java.lang.ClassLoader.loadClassLjava_lang_StringZ.ClassLoader_loadClass_A04)
-          // java.lang.AssertionError: NoClassDefFoundError expected for class: com/google/jctf/test/lib/java/lang/ClassLoader/loadClassLjava_lang_StringZ/ClassLoader_loadClass_A04
-
           .put(
               "lang.ClassLoader.definePackageLjava_lang_String6Ljava_net_URL.ClassLoader_definePackage_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: java.lang.ClassNotFoundException: com.android.okhttp.HttpHandler
-          // Caused by: java.lang.ClassNotFoundException: com.android.okhttp.HttpHandler
-          // Caused by: java.lang.ClassNotFoundException: com.android.okhttp.HttpHandler
-          // Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
-
           .put(
               "lang.ClassLoader.definePackageLjava_lang_String6Ljava_net_URL.ClassLoader_definePackage_A01",
               any())
-          // 1) t02
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.ClassLoader.definePackageLjava_lang_String6Ljava_net_URL.ClassLoader_definePackage_A03",
               any())
-          // 1) t02
-          // java.lang.AssertionError: IllegalArgumentException expected for package name: name
-          // 2) t03
-          // java.lang.AssertionError: Expected exception: java.lang.IllegalArgumentException
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_StringLjava_nio_ByteBufferLjava_security_ProtectionDomain.ClassLoader_defineClass_A05",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.ClassLoader.getResourceLjava_lang_String.ClassLoader_getResource_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Resource not found: java/lang/ClassLoader.class
-          // 2) t02
-          // java.lang.AssertionError: Resource not found:
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_StringLjava_nio_ByteBufferLjava_security_ProtectionDomain.ClassLoader_defineClass_A01",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_StringLjava_nio_ByteBufferLjava_security_ProtectionDomain.ClassLoader_defineClass_A02",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 3) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 4) t04
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_StringLjava_nio_ByteBufferLjava_security_ProtectionDomain.ClassLoader_defineClass_A06",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_StringLjava_nio_ByteBufferLjava_security_ProtectionDomain.ClassLoader_defineClass_A03",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_StringLjava_nio_ByteBufferLjava_security_ProtectionDomain.ClassLoader_defineClass_A07",
               match(runtimes(Version.DEFAULT, Version.V7_0_0)))
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.NullPointerException> but was<java.lang.UnsupportedOperationException>
-          // Caused by: java.lang.UnsupportedOperationException: can't load this type of class file
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_StringLjava_nio_ByteBufferLjava_security_ProtectionDomain.ClassLoader_defineClass_A04",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.setSignersLjava_lang_Class_Ljava_lang_Object.ClassLoader_setSigners_A01",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t04
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put("lang.ClassLoader.clearAssertionStatus.ClassLoader_clearAssertionStatus_A01", any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 3) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 4) t04
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.ClassLoader.Constructor.ClassLoader_Constructor_A02", any())
-          // 1) t02
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-
           .put(
               "lang.ClassLoader.getSystemResourceLjava_lang_String.ClassLoader_getSystemResource_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Resource not found: java/lang/ClassLoader.class
-          // 2) t02
-          // java.lang.AssertionError: Resource not found:
-
           .put("lang.ClassLoader.getResourcesLjava_lang_String.ClassLoader_getResources_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Resource not found: java/lang/ClassLoader.class
-          // 2) t04
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put("lang.ClassLoader.resolveClassLjava_lang_Class.ClassLoader_resolveClass_A02", any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.ClassLoader.getResourceAsStreamLjava_lang_String.ClassLoader_getResourceAsStream_A01",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'void java.io.InputStream.close()' on a null object reference
-          // 2) t04
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
-          .put("lang.ClassLoader.findLoadedClassLjava_lang_String.ClassLoader_findLoadedClass_A01",
+          .put(
+              "lang.ClassLoader.findLoadedClassLjava_lang_String.ClassLoader_findLoadedClass_A01",
               any())
-          // 1) initializationError
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/ClassLoader/findLoadedClassLjava_lang_String/TestLoader;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.ClassLoader.findLoadedClassLjava_lang_String.TestLoader" on path: DexPathList[[dex file "/tmp/junit1789265657215742712/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_String_BIILjava_security_ProtectionDomain.ClassLoader_defineClass_A02",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 3) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.ClassLoader.resolveClassLjava_lang_Class.ClassLoader_resolveClass_A01", any())
-          // 1) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.setDefaultAssertionStatusZ.ClassLoader_setDefaultAssertionStatus_A01",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_String_BIILjava_security_ProtectionDomain.ClassLoader_defineClass_A05",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_String_BIILjava_security_ProtectionDomain.ClassLoader_defineClass_A01",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_String_BIILjava_security_ProtectionDomain.ClassLoader_defineClass_A06",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_String_BIILjava_security_ProtectionDomain.ClassLoader_defineClass_A08",
               any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.NullPointerException> but was<java.lang.UnsupportedOperationException>
-          // Caused by: java.lang.UnsupportedOperationException: can't load this type of class file
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_String_BIILjava_security_ProtectionDomain.ClassLoader_defineClass_A03",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 3) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 4) t04
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.getSystemResourcesLjava_lang_String.ClassLoader_getSystemResources_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Resource not found: java/lang/ClassLoader.class
-          // 2) t02
-          // java.lang.AssertionError: Resource not found:
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_String_BIILjava_security_ProtectionDomain.ClassLoader_defineClass_A07",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_String_BIILjava_security_ProtectionDomain.ClassLoader_defineClass_A09",
               any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.NullPointerException> but was<java.lang.UnsupportedOperationException>
-          // Caused by: java.lang.UnsupportedOperationException: can't load this type of class file
-
           .put(
               "lang.ClassLoader.defineClassLjava_lang_String_BIILjava_security_ProtectionDomain.ClassLoader_defineClass_A04",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.ClassLoader.defineClass_BII.ClassLoader_defineClass_A02", any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 3) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.getSystemResourceAsStreamLjava_lang_String.ClassLoader_getSystemResourceAsStream_A01",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'void java.io.InputStream.close()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.ClassLoader.getPackages.ClassLoader_getPackages_A01", any())
-          // 1) t02
-          // java.lang.AssertionError:
-          // Expected: (an array containing <package java.lang, Unknown, version 0.0> and an array containing <package java.security, Unknown, version 0.0> and an array containing <package java.util, Unknown, version 0.0>)
-          // but: an array containing <package java.lang, Unknown, version 0.0> was []
-          // 2) t04
-          // java.lang.AssertionError:
-          // Expected: an array containing <package com.google.jctf.test.lib.java.lang.ClassLoader.getPackages, Unknown, version 0.0>
-          // but: was []
-          // 3) t05
-          // java.lang.AssertionError: java.lang.ClassNotFoundException: com.android.okhttp.HttpHandler
-          // Caused by: java.lang.ClassNotFoundException: com.android.okhttp.HttpHandler
-          // Caused by: java.lang.ClassNotFoundException: com.android.okhttp.HttpHandler
-          // Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
-
           .put(
               "lang.ClassLoader.setClassAssertionStatusLjava_lang_StringZ.ClassLoader_setClassAssertionStatus_A01",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.ClassLoader.defineClass_BII.ClassLoader_defineClass_A03", any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.ClassLoader.defineClass_BII.ClassLoader_defineClass_A01", any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.ClassLoader.defineClass_BII.ClassLoader_defineClass_A04", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.NullPointerException> but was<java.lang.UnsupportedOperationException>
-          // Caused by: java.lang.UnsupportedOperationException: can't load this type of class file
-
           .put("lang.ClassLoader.getParent.ClassLoader_getParent_A01", any())
-          // 1) t04
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.setClassAssertionStatusLjava_lang_StringZ.ClassLoader_setClassAssertionStatus_A04",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.ClassLoader.setClassAssertionStatusLjava_lang_StringZ.ClassLoader_setClassAssertionStatus_A02",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.ClassLoader.getParent.ClassLoader_getParent_A02", any())
-          // 1) t02
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
           .put("lang.ClassLoader.getSystemClassLoader.ClassLoader_getSystemClassLoader_A02", any())
-          // 1) t02
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-
-          .put("lang.ClassLoader.ConstructorLjava_lang_ClassLoader.ClassLoader_Constructor_A02",
+          .put(
+              "lang.ClassLoader.ConstructorLjava_lang_ClassLoader.ClassLoader_Constructor_A02",
               any())
-          // 1) t02
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-
-          .put("lang.ClassLoader.findSystemClassLjava_lang_String.ClassLoader_findSystemClass_A04",
+          .put(
+              "lang.ClassLoader.findSystemClassLjava_lang_String.ClassLoader_findSystemClass_A04",
               any())
-          // 1) t01
-          // java.lang.ClassNotFoundException: Invalid name: com/google/jctf/test/lib/java/lang/ClassLoader/findSystemClassLjava_lang_String/ClassLoader_findSystemClass_A04
-
           .put("lang.ClassLoader.getPackageLjava_lang_String.ClassLoader_getPackage_A01", any())
-          // 1) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Package.getName()' on a null object reference
-          // 2) t04
-          // java.lang.AssertionError: expected:<package com.google.jctf.test.lib.java.lang.ClassLoader.getPackageLjava_lang_String, Unknown, version 0.0> but was:<null>
-          // 3) t05
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
-          .put("lang.NoClassDefFoundError.serialization.NoClassDefFoundError_serialization_A01",
+          .put(
+              "lang.NoClassDefFoundError.serialization.NoClassDefFoundError_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/NoClassDefFoundError/serialization/NoClassDefFoundError_serialization_A01.golden.0.ser
-
           .put(
               "lang.TypeNotPresentException.serialization.TypeNotPresentException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/TypeNotPresentException/serialization/TypeNotPresentException_serialization_A01.golden.0.ser
-
           .put(
               "lang.IndexOutOfBoundsException.serialization.IndexOutOfBoundsException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/IndexOutOfBoundsException/serialization/IndexOutOfBoundsException_serialization_A01.golden.0.ser
-
           .put("lang.Enum.serialization.Enum_serialization_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/Enum/serialization/Enum_serialization_A01.golden.0.ser
-
           .put("lang.Enum.ConstructorLjava_lang_StringI.Enum_Constructor_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Expected exception: java.lang.IllegalArgumentException
-
           .put("lang.InternalError.serialization.InternalError_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/InternalError/serialization/InternalError_serialization_A01.golden.0.ser
-
           .put("lang.Error.serialization.Error_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/Error/serialization/Error_serialization_A01.golden.0.ser
-
           .put("lang.Runtime.loadLjava_lang_String.Runtime_load_A02", any())
-          // 1) t05
-          // java.lang.Exception: Unexpected exception, expected<java.lang.UnsatisfiedLinkError> but was<java.lang.AssertionError>
-          // Caused by: java.lang.AssertionError: Misconfiguration, java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[dex file "/tmp/junit955082866383345627/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]] couldn't find "libstub.so"
-          // 2) t06
-          // java.lang.Exception: Unexpected exception, expected<java.lang.UnsatisfiedLinkError> but was<java.lang.AssertionError>
-          // Caused by: java.lang.AssertionError: Misconfiguration, java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[dex file "/tmp/junit955082866383345627/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]] couldn't find "libstub.so"
-
           .put("lang.Runtime.loadLjava_lang_String.Runtime_load_A05", any())
-          // 1) t01
-          // java.lang.AssertionError
-          // 2) t02
-          // java.lang.AssertionError
-
           .put("lang.Runtime.loadLjava_lang_String.Runtime_load_A03", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.AssertionError
-
           .put("lang.Runtime.loadLjava_lang_String.Runtime_load_A04", any())
-          // 1) t01
-          // java.lang.AssertionError: Misconfiguration, missing property: 'jctf.library.path'
-          // 2) t02
-          // java.lang.AssertionError
-
           .put("lang.Runtime.exec_Ljava_lang_String.Runtime_exec_A02", any())
-          // 1) t01
-          // org.junit.ComparisonFailure: expected:<[t02]> but was:<[Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exec_Ljava_lang_String.Runtime_exec_A02$T01
-          // ]>
-
           .put("lang.Runtime.exec_Ljava_lang_String.Runtime_exec_A03", any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<0> but was:<1>
-
           .put("lang.Runtime.exec_Ljava_lang_String.Runtime_exec_A01", any())
-          // 1) t01
-          // org.junit.ComparisonFailure: expected:<[com google jctf test lib java lang Runtime]> but was:<[Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.EchoArgs
-          // ]>
-
           .put("lang.Runtime.loadLibraryLjava_lang_String.Runtime_loadLibrary_A04", any())
-          // 1) t01
-          // java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[dex file "/tmp/junit958205418142169834/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]] couldn't find "libstub.so"
-          // 2) t02
-          // java.lang.AssertionError
-
           .put("lang.Runtime.loadLibraryLjava_lang_String.Runtime_loadLibrary_A05", any())
-          // 1) t01
-          // java.lang.AssertionError
-          // 2) t02
-          // java.lang.AssertionError
-
           .put("lang.Runtime.loadLibraryLjava_lang_String.Runtime_loadLibrary_A03", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.AssertionError
-
           .put("lang.Runtime.execLjava_lang_String.Runtime_exec_A02", any())
-          // 1) t01
-          // org.junit.ComparisonFailure: expected:<[t02]> but was:<[Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.execLjava_lang_String.Runtime_exec_A02$T01
-          // ]>
-
           .put("lang.Runtime.execLjava_lang_String.Runtime_exec_A03", any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<0> but was:<1>
-
           .put("lang.Runtime.loadLibraryLjava_lang_String.Runtime_loadLibrary_A02", any())
-          // 1) t03
-          // java.lang.Exception: Unexpected exception, expected<java.lang.UnsatisfiedLinkError> but was<java.lang.AssertionError>
-          // Caused by: java.lang.AssertionError: Misconfiguration, missing property: 'jctf.library.path'
-
           .put("lang.Runtime.traceMethodCallsZ.Runtime_traceMethodCalls_A01", any())
-          // 1) t01
-          // java.lang.UnsupportedOperationException
-
           .put("lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A01", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A08", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A08$T01
-          // expected:<0> but was:<1>
-
           .put("lang.Runtime.execLjava_lang_String.Runtime_exec_A01", any())
-          // 1) t01
-          // org.junit.ComparisonFailure: expected:<[com google jctf test lib java lang Runtime]> but was:<[Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.EchoArgs
-          // ]>
-
           .put("lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A03", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A03$T01
-          // expected:<0> but was:<1>
-
           .put("lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A07", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A07$T01
-          // expected:<0> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A07$T02
-          // expected:<0> but was:<1>
-
           .put("lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A05", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A05$T01
-          // expected:<0> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError:
-          // Expected: a string containing "TERMINATED_BY_EXCEPTION"
-          // but: was "Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A05$T02
-          // "
-          // 3) t03
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A05$T03
-          // expected:<0> but was:<1>
-          // 4) t04
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A05$T04
-          // expected:<0> but was:<1>
-          // 5) t05
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A05$T05
-          // expected:<0> but was:<1>
-          // 6) t06
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A05$T06
-          // expected:<0> but was:<1>
-          // 7) t07
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A05$T07
-          // expected:<0> but was:<1>
-          // 8) t08
-          // java.lang.AssertionError:
-          // Expected: a string containing "java.lang.UnknownError: Main Thread Exit"
-          // but: was "Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A05$T08
-          // "
-
           .put("lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A06", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A06$T01
-          // expected:<0> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.addShutdownHookLjava_lang_Thread.Runtime_addShutdownHook_A06$T02
-          // expected:<0> but was:<1>
-
           .put("lang.Runtime.execLjava_lang_String_Ljava_lang_String.Runtime_exec_A03", any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<0> but was:<1>
-
           .put("lang.Runtime.execLjava_lang_String_Ljava_lang_String.Runtime_exec_A02", any())
-          // 1) t01
-          // org.junit.ComparisonFailure: expected:<[t01]> but was:<[Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.EchoEnv
-          // ]>
-          // 2) t02
-          // org.junit.ComparisonFailure: expected:<[t02]> but was:<[Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.execLjava_lang_String_Ljava_lang_String.Runtime_exec_A02$T02
-          // ]>
-
           .put("lang.Runtime.execLjava_lang_String_Ljava_lang_String.Runtime_exec_A01", any())
-          // 1) t01
-          // org.junit.ComparisonFailure: expected:<[com google jctf test lib java lang Runtime]> but was:<[Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.EchoArgs
-          // ]>
-
-          .put("lang.Runtime.removeShutdownHookLjava_lang_Thread.Runtime_removeShutdownHook_A02",
+          .put(
+              "lang.Runtime.removeShutdownHookLjava_lang_Thread.Runtime_removeShutdownHook_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.removeShutdownHookLjava_lang_Thread.Runtime_removeShutdownHook_A02$T01
-          // expected:<0> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.removeShutdownHookLjava_lang_Thread.Runtime_removeShutdownHook_A02$T02
-          // expected:<0> but was:<1>
-
           .put("lang.Runtime.exec_Ljava_lang_String_Ljava_lang_String.Runtime_exec_A01", any())
-          // 1) t01
-          // org.junit.ComparisonFailure: expected:<[com google jctf test lib java lang Runtime]> but was:<[Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.EchoArgs
-          // ]>
-
-          .put("lang.Runtime.removeShutdownHookLjava_lang_Thread.Runtime_removeShutdownHook_A01",
+          .put(
+              "lang.Runtime.removeShutdownHookLjava_lang_Thread.Runtime_removeShutdownHook_A01",
               any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.Runtime.exec_Ljava_lang_String_Ljava_lang_String.Runtime_exec_A02", any())
-          // 1) t01
-          // org.junit.ComparisonFailure: expected:<[t01]> but was:<[Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.EchoEnv
-          // ]>
-          // 2) t02
-          // org.junit.ComparisonFailure: expected:<[t02]> but was:<[Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exec_Ljava_lang_String$Ljava_lang_String.Runtime_exec_A02$T02
-          // ]>
-
-          .put("lang.Runtime.removeShutdownHookLjava_lang_Thread.Runtime_removeShutdownHook_A03",
+          .put(
+              "lang.Runtime.removeShutdownHookLjava_lang_Thread.Runtime_removeShutdownHook_A03",
               any())
-          // 1) t03
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.removeShutdownHookLjava_lang_Thread.Runtime_removeShutdownHook_A03$T03
-          // expected:<0> but was:<1>
-
           .put(
               "lang.Runtime.exec_Ljava_lang_String_Ljava_lang_StringLjava_io_File.Runtime_exec_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: actual=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.EchoArgs
-          // : array lengths differed, expected.length=8 actual.length=9
-
           .put("lang.Runtime.exec_Ljava_lang_String_Ljava_lang_String.Runtime_exec_A03", any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<0> but was:<1>
-
           .put(
               "lang.Runtime.exec_Ljava_lang_String_Ljava_lang_StringLjava_io_File.Runtime_exec_A02",
               any())
-          // 1) t01
-          // org.junit.ComparisonFailure: expected:<[t01]> but was:<[Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.EchoEnv
-          // ]>
-          // 2) t02
-          // org.junit.ComparisonFailure: expected:<[t02]> but was:<[Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exec_Ljava_lang_String$Ljava_lang_StringLjava_io_File.Runtime_exec_A02$T02
-          // ]>
-
           .put("lang.Runtime.haltI.Runtime_halt_A02", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.haltI.Runtime_halt_A02$T01
-          // expected:<0> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.haltI.Runtime_halt_A02$T02
-          // expected:<0> but was:<1>
-
           .put(
               "lang.Runtime.exec_Ljava_lang_String_Ljava_lang_StringLjava_io_File.Runtime_exec_A03",
               any())
-          // 1) t02
-          // java.lang.AssertionError: expected:<0> but was:<1>
-
           .put("lang.Runtime.haltI.Runtime_halt_A03", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.haltI.Runtime_halt_A03$T01
-          // expected:<0> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.haltI.Runtime_halt_A03$T02
-          // expected:<0> but was:<1>
-
           .put("lang.Runtime.runFinalizersOnExitZ.Runtime_runFinalizersOnExit_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.runFinalizersOnExitZ.Runtime_runFinalizersOnExit_A01$T01
-          // expected:<0> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.runFinalizersOnExitZ.Runtime_runFinalizersOnExit_A01$T02
-          // expected:<0> but was:<1>
-          // 3) t03
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.runFinalizersOnExitZ.Runtime_runFinalizersOnExit_A01$T03
-          // expected:<0> but was:<1>
-          // 4) t04
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.runFinalizersOnExitZ.Runtime_runFinalizersOnExit_A01$T04
-          // expected:<0> but was:<1>
-          // 5) t06
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.runFinalizersOnExitZ.Runtime_runFinalizersOnExit_A01$T06
-          // expected:<0> but was:<1>
-          // 6) t07
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.runFinalizersOnExitZ.Runtime_runFinalizersOnExit_A01$T07
-          // expected:<0> but was:<1>
-          // 7) t08
-          // java.lang.AssertionError:
-          // Expected: a string containing "java.lang.UnknownError: Main Thread Exit"
-          // but: was "Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.runFinalizersOnExitZ.Runtime_runFinalizersOnExit_A01$T08
-          // "
-
           .put("lang.Runtime.haltI.Runtime_halt_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.haltI.Runtime_halt_A01$T01
-          // expected:<0> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.haltI.Runtime_halt_A01$T02
-          // expected:<0> but was:<1>
-
           .put("lang.Runtime.runFinalizersOnExitZ.Runtime_runFinalizersOnExit_A03", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.runFinalizersOnExitZ.Runtime_runFinalizersOnExit_A03$T03
-          // expected:<0> but was:<1>
-
-          .put("lang.Runtime.execLjava_lang_String_Ljava_lang_StringLjava_io_File.Runtime_exec_A03",
+          .put(
+              "lang.Runtime.execLjava_lang_String_Ljava_lang_StringLjava_io_File.Runtime_exec_A03",
               any())
-          // 1) t02
-          // java.lang.AssertionError: expected:<0> but was:<1>
-
-          .put("lang.Runtime.execLjava_lang_String_Ljava_lang_StringLjava_io_File.Runtime_exec_A01",
+          .put(
+              "lang.Runtime.execLjava_lang_String_Ljava_lang_StringLjava_io_File.Runtime_exec_A01",
               any())
-          // 1) t01
-          // org.junit.ComparisonFailure: expected:<[com google jctf test lib java lang Runtime]> but was:<[Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.EchoArgs
-          // ]>
-
           .put("lang.Runtime.runFinalizersOnExitZ.Runtime_runFinalizersOnExit_A02", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.runFinalizersOnExitZ.Runtime_runFinalizersOnExit_A02$T01
-          // expected:<0> but was:<1>
-
           .put("lang.Runtime.exitI.Runtime_exit_A03", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A03$T01
-          // expected:<123> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError: Process did not block but exited with code 1;
-          // err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A03$T01
-          // 3) t03
-          // java.lang.AssertionError: Process did not block but exited with code 1;
-          // err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A03$T03
-
-          .put("lang.Runtime.execLjava_lang_String_Ljava_lang_StringLjava_io_File.Runtime_exec_A02",
+          .put(
+              "lang.Runtime.execLjava_lang_String_Ljava_lang_StringLjava_io_File.Runtime_exec_A02",
               any())
-          // 1) t01
-          // org.junit.ComparisonFailure: expected:<[t01]> but was:<[Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.EchoEnv
-          // ]>
-          // 2) t02
-          // org.junit.ComparisonFailure: expected:<[t02]> but was:<[Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.execLjava_lang_String_Ljava_lang_StringLjava_io_File.Runtime_exec_A02$T02
-          // ]>
-
           .put("lang.Runtime.exitI.Runtime_exit_A04", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A04$T01
-          // expected:<0> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A04$T02
-          // expected:<0> but was:<1>
-
-          .put("lang.NoSuchMethodException.serialization.NoSuchMethodException_serialization_A01",
+          .put(
+              "lang.NoSuchMethodException.serialization.NoSuchMethodException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/NoSuchMethodException/serialization/NoSuchMethodException_serialization_A01.golden.0.ser
-
           .put("lang.Runtime.exitI.Runtime_exit_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A01$T01
-          // expected:<0> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A01$T02
-          // expected:<0> but was:<1>
-          // 3) t03
-          // java.lang.AssertionError: Process did not block but exited with code 1;
-          // err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A01$T03
-          // out=
-          // 4) t04
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A01$T04
-          // expected:<-1> but was:<1>
-          // 5) t05
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A01$T05
-          // expected:<0> but was:<1>
-
           .put("lang.Runtime.exitI.Runtime_exit_A02", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A02$T01
-          // expected:<0> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError: Process did not block but exited with code 1;
-          // err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A02$T02
-          // out=
-          // 3) t03
-          // java.lang.AssertionError: Process did not block but exited with code 1;
-          // err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A02$T03
-          // out=
-          // 4) t04
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A02$T04
-          // expected:<0> but was:<1>
-          // 5) t05
-          // java.lang.AssertionError: Process did not block but exited with code 1;
-          // err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A02$T05
-          // out=
-          // 6) t06
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A02$T06
-          // expected:<0> but was:<1>
-          // 7) t07
-          // java.lang.AssertionError: Process did not block but exited with code 1;
-          // err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.Runtime.exitI.Runtime_exit_A02$T07
-          // out=
-
-          .put("lang.InstantiationException.serialization.InstantiationException_serialization_A01",
+          .put(
+              "lang.InstantiationException.serialization.InstantiationException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/InstantiationException/serialization/InstantiationException_serialization_A01.golden.0.ser
-
           .put("lang.Exception.serialization.Exception_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/Exception/serialization/Exception_serialization_A01.golden.0.ser
-
           .put("lang.StackOverflowError.serialization.StackOverflowError_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/StackOverflowError/serialization/StackOverflowError_serialization_A01.golden.0.ser
-
-          .put("lang.NoSuchFieldException.serialization.NoSuchFieldException_serialization_A01",
+          .put(
+              "lang.NoSuchFieldException.serialization.NoSuchFieldException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/NoSuchFieldException/serialization/NoSuchFieldException_serialization_A01.golden.0.ser
-
           .put(
               "lang.NegativeArraySizeException.serialization.NegativeArraySizeException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/NegativeArraySizeException/serialization/NegativeArraySizeException_serialization_A01.golden.0.ser
-
           .put(
               "lang.ArrayIndexOutOfBoundsException.serialization.ArrayIndexOutOfBoundsException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/ArrayIndexOutOfBoundsException/serialization/ArrayIndexOutOfBoundsException_serialization_A01.golden.0.ser
-
           .put("lang.VerifyError.serialization.VerifyError_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/VerifyError/serialization/VerifyError_serialization_A01.golden.0.ser
-
           .put(
               "lang.IllegalArgumentException.serialization.IllegalArgumentException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/IllegalArgumentException/serialization/IllegalArgumentException_serialization_A01.golden.0.ser
-
-          .put("lang.IllegalStateException.serialization.IllegalStateException_serialization_A01",
+          .put(
+              "lang.IllegalStateException.serialization.IllegalStateException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/IllegalStateException/serialization/IllegalStateException_serialization_A01.golden.0.ser
-
           .put("lang.Double.serialization.Double_serialization_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/Double/serialization/Double_serialization_A01.golden.0.ser
-
           .put("lang.Double.toStringD.Double_toString_A05", any())
-          // 1) t01
-          // org.junit.ComparisonFailure: expected:<0.001[0]> but was:<0.001[]>
-
-          .put("lang.ArithmeticException.serialization.ArithmeticException_serialization_A01",
-              any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/ArithmeticException/serialization/ArithmeticException_serialization_A01.golden.0.ser
-
+          .put(
+              "lang.ArithmeticException.serialization.ArithmeticException_serialization_A01", any())
           .put(
               "lang.ExceptionInInitializerError.serialization.ExceptionInInitializerError_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/ExceptionInInitializerError/serialization/ExceptionInInitializerError_serialization_A01.golden.0.ser
-
           .put("lang.ThreadLocal.Class.ThreadLocal_class_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Stale thread-local value was not finalized
-
           .put("lang.Byte.serialization.Byte_serialization_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/Byte/serialization/Byte_serialization_A01.golden.0.ser
-
-          .put("lang.Byte.parseByteLjava_lang_StringI.Byte_parseByte_A02",
+          .put(
+              "lang.Byte.parseByteLjava_lang_StringI.Byte_parseByte_A02",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V6_0_1, Version.V5_1_1)))
-          // 1) t01
-          // java.lang.AssertionError: Parsed Byte instance from string:+1 radix:10
-
-          .put("lang.Byte.valueOfLjava_lang_StringI.Byte_valueOf_A02",
+          .put(
+              "lang.Byte.valueOfLjava_lang_StringI.Byte_valueOf_A02",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V6_0_1, Version.V5_1_1)))
-          // 1) t01
-          // java.lang.AssertionError: Parsed Byte instance from string:+1 radix:10
-
-          .put("lang.Byte.valueOfLjava_lang_String.Byte_ValueOf_A02",
+          .put(
+              "lang.Byte.valueOfLjava_lang_String.Byte_ValueOf_A02",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V6_0_1, Version.V5_1_1)))
-          // 1) t02
-          // java.lang.AssertionError: Parsed Byte instance from string:+1
-
-          .put("lang.Byte.decodeLjava_lang_String.Byte_decode_A04",
+          .put(
+              "lang.Byte.decodeLjava_lang_String.Byte_decode_A04",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V6_0_1, Version.V5_1_1)))
-          // 1) t01
-          // java.lang.AssertionError: Decoded Byte instance from string:+1
-
           .put("lang.LinkageError.serialization.LinkageError_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/LinkageError/serialization/LinkageError_serialization_A01.golden.0.ser
-
           .put("lang.ClassCastException.serialization.ClassCastException_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/ClassCastException/serialization/ClassCastException_serialization_A01.golden.0.ser
-
-          .put("lang.Byte.ConstructorLjava_lang_String.Byte_Constructor_A02",
-              match(runtimes(DexVm.Version.DEFAULT, DexVm.Version.V7_0_0, DexVm.Version.V6_0_1,
-                  DexVm.Version.V5_1_1)))
-          // 1) t02
-          // java.lang.AssertionError: Parsed Byte instance from string:+1
-
-          .put("lang.Byte.parseByteLjava_lang_String.Byte_parseByte_A02",
-              match(runtimes(DexVm.Version.DEFAULT, DexVm.Version.V7_0_0, DexVm.Version.V6_0_1,
-                  DexVm.Version.V5_1_1)))
-          // 1) t02
-          // java.lang.AssertionError: Parsed Byte instance from string:+1
-
+          .put(
+              "lang.Byte.ConstructorLjava_lang_String.Byte_Constructor_A02",
+              match(
+                  runtimes(
+                      DexVm.Version.DEFAULT,
+                      DexVm.Version.V7_0_0,
+                      DexVm.Version.V6_0_1,
+                      DexVm.Version.V5_1_1)))
+          .put(
+              "lang.Byte.parseByteLjava_lang_String.Byte_parseByte_A02",
+              match(
+                  runtimes(
+                      DexVm.Version.DEFAULT,
+                      DexVm.Version.V7_0_0,
+                      DexVm.Version.V6_0_1,
+                      DexVm.Version.V5_1_1)))
           .put("lang.NoSuchFieldError.serialization.NoSuchFieldError_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/NoSuchFieldError/serialization/NoSuchFieldError_serialization_A01.golden.0.ser
-
           .put(
               "lang.UnsupportedOperationException.serialization.UnsupportedOperationException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/UnsupportedOperationException/serialization/UnsupportedOperationException_serialization_A01.golden.0.ser
-
           .put("lang.NoSuchMethodError.serialization.NoSuchMethodError_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/NoSuchMethodError/serialization/NoSuchMethodError_serialization_A01.golden.0.ser
-
           .put(
               "lang.IllegalMonitorStateException.serialization.IllegalMonitorStateException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/IllegalMonitorStateException/serialization/IllegalMonitorStateException_serialization_A01.golden.0.ser
-
           .put(
               "lang.StringIndexOutOfBoundsException.serialization.StringIndexOutOfBoundsException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/StringIndexOutOfBoundsException/serialization/StringIndexOutOfBoundsException_serialization_A01.golden.0.ser
-
           .put("lang.SecurityException.serialization.SecurityException_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/SecurityException/serialization/SecurityException_serialization_A01.golden.0.ser
-
           .put("lang.IllegalAccessError.serialization.IllegalAccessError_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/IllegalAccessError/serialization/IllegalAccessError_serialization_A01.golden.0.ser
-
-          .put("lang.ArrayStoreException.serialization.ArrayStoreException_serialization_A01",
-              any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/ArrayStoreException/serialization/ArrayStoreException_serialization_A01.golden.0.ser
-
+          .put(
+              "lang.ArrayStoreException.serialization.ArrayStoreException_serialization_A01", any())
           .put("lang.UnknownError.serialization.UnknownError_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/UnknownError/serialization/UnknownError_serialization_A01.golden.0.ser
-
           .put("lang.Boolean.serialization.Boolean_serialization_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/Boolean/serialization/Boolean_serialization_A01.golden.0.ser
-
-          .put("lang.Integer.valueOfLjava_lang_StringI.Integer_valueOf_A02",
-              match(runtimes(DexVm.Version.DEFAULT, DexVm.Version.V7_0_0, Version.V6_0_1, DexVm.Version.V5_1_1)))
-          // 1) t07
-          // java.lang.AssertionError: NumberFormatException expected for input: +1 and radix: 10
-
+          .put(
+              "lang.Integer.valueOfLjava_lang_StringI.Integer_valueOf_A02",
+              match(
+                  runtimes(
+                      DexVm.Version.DEFAULT,
+                      DexVm.Version.V7_0_0,
+                      Version.V6_0_1,
+                      DexVm.Version.V5_1_1)))
           .put("lang.Integer.serialization.Integer_serialization_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/Integer/serialization/Integer_serialization_A01.golden.0.ser
-
-          .put("lang.Integer.parseIntLjava_lang_String.Integer_parseInt_A02",
-              match(runtimes(Version.DEFAULT, DexVm.Version.V7_0_0, DexVm.Version.V6_0_1, DexVm.Version.V5_1_1)))
-          // 1) t06
-          // java.lang.AssertionError: Expected exception: java.lang.NumberFormatException
-
-          .put("lang.Integer.getIntegerLjava_lang_StringI.Integer_getInteger_A02",
-              match(runtimes(Version.DEFAULT, DexVm.Version.V7_0_0, Version.V6_0_1, Version.V5_1_1)))
-          // 1) t03
-          // java.lang.AssertionError: expected:<6031769> but was:<1>
-
-          .put("lang.Integer.valueOfLjava_lang_String.Integer_valueOf_A02",
+          .put(
+              "lang.Integer.parseIntLjava_lang_String.Integer_parseInt_A02",
+              match(
+                  runtimes(
+                      Version.DEFAULT,
+                      DexVm.Version.V7_0_0,
+                      DexVm.Version.V6_0_1,
+                      DexVm.Version.V5_1_1)))
+          .put(
+              "lang.Integer.getIntegerLjava_lang_StringI.Integer_getInteger_A02",
+              match(
+                  runtimes(Version.DEFAULT, DexVm.Version.V7_0_0, Version.V6_0_1, Version.V5_1_1)))
+          .put(
+              "lang.Integer.valueOfLjava_lang_String.Integer_valueOf_A02",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V6_0_1, Version.V5_1_1)))
-          // 1) t07
-          // java.lang.AssertionError: NumberFormatException expected for input: +1
-
-          .put("lang.Integer.decodeLjava_lang_String.Integer_decode_A04",
+          .put(
+              "lang.Integer.decodeLjava_lang_String.Integer_decode_A04",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V6_0_1, Version.V5_1_1)))
-          // 1) t06
-          // java.lang.AssertionError: Expected exception: java.lang.NumberFormatException
-
-          .put("lang.Integer.parseIntLjava_lang_StringI.Integer_parseInt_A02",
+          .put(
+              "lang.Integer.parseIntLjava_lang_StringI.Integer_parseInt_A02",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V6_0_1, Version.V5_1_1)))
-          // 1) t06
-          // java.lang.AssertionError: Expected exception: java.lang.NumberFormatException
-
-          .put("lang.Integer.getIntegerLjava_lang_StringLjava_lang_Integer.Integer_getInteger_A02",
+          .put(
+              "lang.Integer.getIntegerLjava_lang_StringLjava_lang_Integer.Integer_getInteger_A02",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V6_0_1, Version.V5_1_1)))
-          // 1) t03
-          // java.lang.AssertionError: expected:<6031769> but was:<1>
-
-          .put("lang.Integer.ConstructorLjava_lang_String.Integer_Constructor_A02",
+          .put(
+              "lang.Integer.ConstructorLjava_lang_String.Integer_Constructor_A02",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V6_0_1, Version.V5_1_1)))
-          // 1) t06
-          // java.lang.AssertionError: Expected exception: java.lang.NumberFormatException
-
-          .put("lang.Integer.getIntegerLjava_lang_String.Integer_getInteger_A02",
+          .put(
+              "lang.Integer.getIntegerLjava_lang_String.Integer_getInteger_A02",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V6_0_1, Version.V5_1_1)))
-          // 1) t03
-          // java.lang.AssertionError: expected null, but was:<1>
-
-          .put("lang.ref.PhantomReference.isEnqueued.PhantomReference_isEnqueued_A01",
+          .put(
+              "lang.ref.PhantomReference.isEnqueued.PhantomReference_isEnqueued_A01",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V6_0_1, Version.V5_1_1)))
-          // 1) t04
-          // java.lang.AssertionError: reference is not enqueued after 2 sec
-
-          .put("lang.ref.SoftReference.isEnqueued.SoftReference_isEnqueued_A01",
+          .put(
+              "lang.ref.SoftReference.isEnqueued.SoftReference_isEnqueued_A01",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V6_0_1, Version.V5_1_1)))
-          // 1) t03
-          // java.lang.AssertionError: reference is not enqueued after 2 sec
-
           .put("lang.ref.SoftReference.get.SoftReference_get_A01", any())
-          // 1) t03
-          // java.lang.AssertionError: expected null, but was:<[I@e2603b4>
-
-          .put("lang.ref.ReferenceQueue.poll.ReferenceQueue_poll_A01",
+          .put(
+              "lang.ref.ReferenceQueue.poll.ReferenceQueue_poll_A01",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V6_0_1, Version.V5_1_1)))
-          // 1) t03
-          // java.lang.AssertionError: reference is not enqueued after 2 sec
-
           .put("lang.StackTraceElement.serialization.StackTraceElement_serialization_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/StackTraceElement/serialization/StackTraceElement_serialization_A01.golden.0.ser
-
           .put("lang.ref.WeakReference.get.WeakReference_get_A01", any())
-          // 1) t03
-          // java.lang.AssertionError: expected null, but was:<[I@1b32f32>
-
-          .put("lang.StackTraceElement.toString.StackTraceElement_toString_A01",
+          .put(
+              "lang.StackTraceElement.toString.StackTraceElement_toString_A01",
               match(runtimes(Version.DEFAULT)))
-          // 1) t03
-          // org.junit.ComparisonFailure: expected:<...ethod(Unknown Source[])> but was:<...ethod(Unknown Source[:1])>
-
-          .put("lang.NullPointerException.serialization.NullPointerException_serialization_A01",
+          .put(
+              "lang.NullPointerException.serialization.NullPointerException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/NullPointerException/serialization/NullPointerException_serialization_A01.golden.0.ser
-
-          .put("lang.VirtualMachineError.serialization.VirtualMachineError_serialization_A01",
+          .put(
+              "lang.VirtualMachineError.serialization.VirtualMachineError_serialization_A01", any())
+          .put(
+              "lang.ClassCircularityError.serialization.ClassCircularityError_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/VirtualMachineError/serialization/VirtualMachineError_serialization_A01.golden.0.ser
-
-          .put("lang.ClassCircularityError.serialization.ClassCircularityError_serialization_A01",
-              any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/ClassCircularityError/serialization/ClassCircularityError_serialization_A01.golden.0.ser
-
           .put("lang.ThreadDeath.serialization.ThreadDeath_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/ThreadDeath/serialization/ThreadDeath_serialization_A01.golden.0.ser
-
           .put("lang.InstantiationError.serialization.InstantiationError_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/InstantiationError/serialization/InstantiationError_serialization_A01.golden.0.ser
-
           .put(
               "lang.IllegalThreadStateException.serialization.IllegalThreadStateException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/IllegalThreadStateException/serialization/IllegalThreadStateException_serialization_A01.golden.0.ser
-
           .put("lang.ProcessBuilder.environment.ProcessBuilder_environment_A05", any())
-          // 1) t01
-          // java.lang.AssertionError: Input Stream should not be empty
-
           .put("lang.ProcessBuilder.environment.ProcessBuilder_environment_A06", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.ProcessBuilder.start.ProcessBuilder_start_A05", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.ProcessBuilder.start.ProcessBuilder_start_A06", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.ClassFormatError.serialization.ClassFormatError_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/ClassFormatError/serialization/ClassFormatError_serialization_A01.golden.0.ser
-
-          .put("lang.Math.cbrtD.Math_cbrt_A01",
-              match(runtimesFrom(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.AssertionError: cbrt(27.) expected:<3.0> but was:<3.0000000000000004>
-
+          .put("lang.Math.cbrtD.Math_cbrt_A01", match(runtimesFrom(Version.V6_0_1)))
           .put("lang.Math.powDD.Math_pow_A08", any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<NaN> but was:<1.0>
-          // 2) t02
-          // java.lang.AssertionError: expected:<NaN> but was:<1.0>
-          // 3) t03
-          // java.lang.AssertionError: expected:<NaN> but was:<1.0>
-          // 4) t04
-          // java.lang.AssertionError: expected:<NaN> but was:<1.0>
-
           .put(
               "lang.IncompatibleClassChangeError.serialization.IncompatibleClassChangeError_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/IncompatibleClassChangeError/serialization/IncompatibleClassChangeError_serialization_A01.golden.0.ser
-
           .put("lang.Float.serialization.Float_serialization_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/Float/serialization/Float_serialization_A01.golden.0.ser
-
           .put("lang.Float.toStringF.Float_toString_A02", any())
-          // 1) t02
-          // org.junit.ComparisonFailure: expected:<0.001[0]> but was:<0.001[]>
-          // 2) t04
-          // org.junit.ComparisonFailure: expected:<0.001[0]> but was:<0.001[]>
-
-          .put("lang.Short.valueOfLjava_lang_StringI.Short_valueOf_A02",
+          .put(
+              "lang.Short.valueOfLjava_lang_StringI.Short_valueOf_A02",
               match(runtimesFrom(Version.V5_1_1)))
-          // 1) t03
-          // java.lang.AssertionError: Missing NumberFormatException for radix=10
-
-          .put("lang.Short.valueOfLjava_lang_String.Short_valueOf_A02",
+          .put(
+              "lang.Short.valueOfLjava_lang_String.Short_valueOf_A02",
               match(runtimesFrom(Version.V5_1_1)))
-          // 1) t03
-          // java.lang.AssertionError: Missing NumberFormatException for arg="+1"
-
           .put("lang.Short.serialization.Short_serialization_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/Short/serialization/Short_serialization_A01.golden.0.ser
-
-          .put("lang.Short.parseShortLjava_lang_String.Short_parseShort_A02",
+          .put(
+              "lang.Short.parseShortLjava_lang_String.Short_parseShort_A02",
               match(runtimesFrom(Version.V5_1_1)))
-          // 1) t01
-          // java.lang.AssertionError: Parsed Short instance from string:+1
-
-          .put("lang.Short.decodeLjava_lang_String.Short_decode_A04",
+          .put(
+              "lang.Short.decodeLjava_lang_String.Short_decode_A04",
               match(runtimesFrom(Version.V5_1_1)))
-          // 1) t01
-          // java.lang.AssertionError: Decoded Short instance from string:+1
-
-          .put("lang.Short.ConstructorLjava_lang_String.Short_Constructor_A02",
+          .put(
+              "lang.Short.ConstructorLjava_lang_String.Short_Constructor_A02",
               match(runtimesFrom(Version.V5_1_1)))
-          // 1) t02
-          // java.lang.AssertionError: Created Short instance from string:+1
-
-          .put("lang.ClassNotFoundException.serialization.ClassNotFoundException_serialization_A01",
+          .put(
+              "lang.ClassNotFoundException.serialization.ClassNotFoundException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/ClassNotFoundException/serialization/ClassNotFoundException_serialization_A01.golden.0.ser
-
           .put(
               "lang.annotation.AnnotationFormatError.serialization.AnnotationFormatError_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/annotation/AnnotationFormatError/serialization/AnnotationFormatError_serialization_A01.golden.0.ser
-
-          .put("lang.Short.parseShortLjava_lang_StringI.Short_parseShort_A02",
+          .put(
+              "lang.Short.parseShortLjava_lang_StringI.Short_parseShort_A02",
               match(runtimesFrom(Version.V5_1_1)))
-          // 1) t01
-          // java.lang.AssertionError: Parsed Short instance from string:+1 radix:10
-
           .put(
               "lang.annotation.IncompleteAnnotationException.ConstructorLjava_lang_ClassLjava_lang_String.IncompleteAnnotationException_Constructor_A01",
               match(runtimes(Version.DEFAULT)))
-          // 1) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toString()' on a null object reference
-          // 2) t04
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toString()' on a null object reference
-
-          .put("lang.InterruptedException.serialization.InterruptedException_serialization_A01",
+          .put(
+              "lang.InterruptedException.serialization.InterruptedException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/InterruptedException/serialization/InterruptedException_serialization_A01.golden.0.ser
-
           .put(
               "lang.annotation.IncompleteAnnotationException.Class.IncompleteAnnotationException_class_A01",
               any())
-          // 1) t01
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.annotation.IncompleteAnnotationException.Class.IncompleteAnnotationClass
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.annotation.IncompleteAnnotationException.Class.IncompleteAnnotationClass" on path: DexPathList[[dex file "/tmp/junit6988968562481945570/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.annotation.Annotation.Class.Annotation_class_A03", any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.annotation.Annotation.serialization.Annotation_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/annotation/Annotation/serialization/Annotation_serialization_A01.golden.0.ser
-
           .put("lang.annotation.Annotation.annotationType.Annotation_annotationType_A01", any())
-          // 1) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t03
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/annotation/Annotation/annotationType/Mark;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.annotation.Annotation.annotationType.Mark" on path: DexPathList[[dex file "/tmp/junit2356208730386617024/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 3) t04
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/annotation/Annotation/annotationType/Mark;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.annotation.Annotation.annotationType.Mark" on path: DexPathList[[dex file "/tmp/junit2356208730386617024/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 4) t05
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/annotation/Annotation/annotationType/Mark;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.annotation.Annotation.annotationType.Mark" on path: DexPathList[[dex file "/tmp/junit2356208730386617024/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 5) t06
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/annotation/Annotation/annotationType/Mark;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.annotation.Annotation.annotationType.Mark" on path: DexPathList[[dex file "/tmp/junit2356208730386617024/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put(
               "lang.annotation.IncompleteAnnotationException.serialization.IncompleteAnnotationException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/annotation/IncompleteAnnotationException/serialization/IncompleteAnnotationException_serialization_A01.golden.0.ser
-
           .put("lang.annotation.Annotation.Class.Annotation_class_A02", any())
-          // 1) t04
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.annotation.Annotation.Class.AnnotationMissingClassValue
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.annotation.Annotation.Class.AnnotationMissingClassValue" on path: DexPathList[[dex file "/tmp/junit5702619070125761074/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t05
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.annotation.Annotation.Class.AnnotationMissingClassArrayValue
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.annotation.Annotation.Class.AnnotationMissingClassArrayValue" on path: DexPathList[[dex file "/tmp/junit5702619070125761074/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 3) t06
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.annotation.Annotation.Class.AnnotationMissingEnumValue
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.annotation.Annotation.Class.AnnotationMissingEnumValue" on path: DexPathList[[dex file "/tmp/junit5702619070125761074/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 4) t07
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.annotation.Annotation.Class.AnnotationMissingEnumArrayValue
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.annotation.Annotation.Class.AnnotationMissingEnumArrayValue" on path: DexPathList[[dex file "/tmp/junit5702619070125761074/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 5) t08
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 6) t09
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.annotation.Retention.Retention_class_A01", any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 3) t04
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.annotation.AnnotationTypeMismatchException.Class.AnnotationTypeMismatchException_class_A01",
               any())
-          // 1) t01
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.annotation.AnnotationTypeMismatchException.Class.AnnotationTypeMismatchClass
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.annotation.AnnotationTypeMismatchException.Class.AnnotationTypeMismatchClass" on path: DexPathList[[dex file "/tmp/junit7410548264446836680/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.annotation.AnnotationTypeMismatchException.Class.AnnotationTypeArrayMismatchClass
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.annotation.AnnotationTypeMismatchException.Class.AnnotationTypeArrayMismatchClass" on path: DexPathList[[dex file "/tmp/junit7410548264446836680/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.Long.serialization.Long_serialization_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/Long/serialization/Long_serialization_A01.golden.0.ser
-
           .put("lang.ThreadGroup.resume.ThreadGroup_resume_A01", any())
-          // 1) t01
-          // java.lang.UnsupportedOperationException
-
-          .put("lang.AbstractMethodError.serialization.AbstractMethodError_serialization_A01",
-              any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/AbstractMethodError/serialization/AbstractMethodError_serialization_A01.golden.0.ser
-
+          .put(
+              "lang.AbstractMethodError.serialization.AbstractMethodError_serialization_A01", any())
           .put("lang.RuntimeException.serialization.RuntimeException_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/RuntimeException/serialization/RuntimeException_serialization_A01.golden.0.ser
-
           .put("lang.ThreadGroup.suspend.ThreadGroup_suspend_A01", any())
-          // 1) t01
-          // java.lang.UnsupportedOperationException
-          // 2) t02
-          // java.lang.UnsupportedOperationException
-
           .put(
               "lang.ThreadGroup.ConstructorLjava_lang_ThreadGroupLjava_lang_String.ThreadGroup_Constructor_A03",
               any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.ThreadGroup.stop.ThreadGroup_stop_A01", any())
-          // 1) t01
-          // java.lang.UnsupportedOperationException
-          // 2) t02
-          // java.lang.UnsupportedOperationException
-
           .put("lang.ThreadGroup.enumerate_Thread.ThreadGroup_enumerate_A01", any())
-          // 1) t05
-          // java.lang.UnsupportedOperationException
-
           .put(
               "lang.ThreadGroup.ConstructorLjava_lang_ThreadGroupLjava_lang_String.ThreadGroup_Constructor_A04",
               any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.ThreadGroup.parentOfLjava_lang_ThreadGroup.ThreadGroup_parentOf_A01", any())
-          // 1) t05
-          // java.lang.SecurityException
-
           .put("lang.ThreadGroup.getMaxPriority.ThreadGroup_getMaxPriority_A02", any())
-          // 1) t02
-          // java.lang.AssertionError: expected:<1> but was:<5>
-
           .put("lang.ThreadGroup.checkAccess.ThreadGroup_checkAccess_A03", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.ThreadGroup.enumerate_ThreadZ.ThreadGroup_enumerate_A01", any())
-          // 1) t06
-          // java.lang.UnsupportedOperationException
-
           .put(
               "lang.ThreadGroup.uncaughtExceptionLjava_lang_ThreadLjava_lang_Throwable.ThreadGroup_uncaughtException_A01",
               any())
-          // 1) t01
-          // java.lang.UnsupportedOperationException
-          // 2) t01
-          // java.lang.IllegalThreadStateException
-
           .put("lang.ThreadGroup.checkAccess.ThreadGroup_checkAccess_A02", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.ThreadGroup.ConstructorLjava_lang_String.ThreadGroup_Constructor_A04", any())
-          // 1) t01
-          // java.lang.AssertionError: test failed with error:java.lang.SecurityException
-
           .put("lang.ThreadGroup.activeCount.ThreadGroup_activeCount_A01", any())
-          // 1) t04
-          // java.lang.UnsupportedOperationException
-
           .put("lang.ThreadGroup.setMaxPriorityI.ThreadGroup_setMaxPriority_A03", any())
-          // 1) t01
-          // java.lang.AssertionError: Maximum priority should not be changed. expected same:<10> was not:<1>
-
           .put("lang.ThreadGroup.ConstructorLjava_lang_String.ThreadGroup_Constructor_A03", any())
-          // 1) t01
-          // java.lang.AssertionError: test failed with error:java.lang.SecurityException
-
           .put("lang.ThreadGroup.getParent.ThreadGroup_getParent_A03", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.Class.getDeclaredConstructors.Class_getDeclaredConstructors_A02", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
           .put("lang.AssertionError.serialization.AssertionError_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/AssertionError/serialization/AssertionError_serialization_A01.golden.0.ser
-
           .put("lang.Class.getClassLoader.Class_getClassLoader_A01", any())
-          // 1) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t03
-          // java.lang.AssertionError: expected null, but was:<java.lang.BootClassLoader@d17167d>
-
           .put("lang.Class.getDeclaringClass.Class_getDeclaringClass_A01", any())
-          // 1) t04
-          // java.lang.AssertionError: expected null, but was:<class com.google.jctf.test.lib.java.lang.Class.getDeclaringClass.Class_getDeclaringClass_A01>
-
-          .put("lang.Class.getDeclaredFields.Class_getDeclaredFields_A01",
+          .put(
+              "lang.Class.getDeclaredFields.Class_getDeclaredFields_A01",
               match(runtimesFrom(Version.V5_1_1)))
-          // 1) t02
-          // java.lang.AssertionError: array lengths differed, expected.length=0 actual.length=2
-
           .put("lang.Class.getClassLoader.Class_getClassLoader_A02", any())
-          // 1) t02
-          // java.lang.AssertionError: ClassLoader of int[] expected null, but was:<java.lang.BootClassLoader@34f2660>
-
           .put("lang.Class.getClassLoader.Class_getClassLoader_A03", any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 3) t03
-          // java.lang.SecurityException
-
           .put("lang.Class.getDeclaredFields.Class_getDeclaredFields_A02", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
           .put("lang.Class.getResourceLjava_lang_String.Class_getResource_A01", any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getPath()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getPath()' on a null object reference
-          // 3) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getPath()' on a null object reference
-          // 4) t04
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getPath()' on a null object reference
-          // 5) t06
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getPath()' on a null object reference
-          // 6) t07
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.Class.getConstructor_Ljava_lang_Class.Class_getConstructor_A03", any())
-          // 1) t03
-          // java.lang.AssertionError: Vague error message
-
-          .put("lang.Class.forNameLjava_lang_StringZLjava_lang_ClassLoader.Class_forName_A03",
-              any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.LinkageError
-
-          .put("lang.Class.forNameLjava_lang_StringZLjava_lang_ClassLoader.Class_forName_A07",
-              any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-
-          .put("lang.Class.forNameLjava_lang_StringZLjava_lang_ClassLoader.Class_forName_A01",
-              any())
-          // 1) t05
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.Class.forNameLjava_lang_StringZLjava_lang_ClassLoader.Class_forName_A01$TestFixture
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t06
-          // java.lang.ClassNotFoundException: [[[Lcom.google.jctf.test.lib.java.lang.Class.forNameLjava_lang_StringZLjava_lang_ClassLoader.Class_forName_A01$TestFixture;
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
+          .put(
+              "lang.Class.forNameLjava_lang_StringZLjava_lang_ClassLoader.Class_forName_A03", any())
+          .put(
+              "lang.Class.forNameLjava_lang_StringZLjava_lang_ClassLoader.Class_forName_A07", any())
+          .put(
+              "lang.Class.forNameLjava_lang_StringZLjava_lang_ClassLoader.Class_forName_A01", any())
           .put("lang.Class.getConstructor_Ljava_lang_Class.Class_getConstructor_A04", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
           .put("lang.Class.serialization.Class_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/Class/serialization/Class_serialization_A01-Object.golden.ser
-
           .put("lang.Class.getMethods.Class_getMethods_A02", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
           .put(
               "lang.Class.getDeclaredMethodLjava_lang_String_Ljava_lang_Class.Class_getDeclaredMethod_A05",
               any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
           .put("lang.Class.getClasses.Class_getClasses_A02", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
           .put(
               "lang.Class.getDeclaredMethodLjava_lang_String_Ljava_lang_Class.Class_getDeclaredMethod_A03",
               any())
-          // 1) t05
-          // java.lang.AssertionError: Vague error message
-
-          .put("lang.Class.getClasses.Class_getClasses_A01",
+          .put(
+              "lang.Class.getClasses.Class_getClasses_A01",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V4_4_4, Version.V4_0_4)))
-          // 1) t03
-          // java.lang.AssertionError: Array lengths expected:<2> but was:<3>
-
           .put("lang.Class.getProtectionDomain.Class_getProtectionDomain_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: unexpected null
-          // 2) t02
-          // java.lang.AssertionError
-
           .put("lang.Class.getProtectionDomain.Class_getProtectionDomain_A02", any())
-          // 1) t01
-          // java.lang.SecurityException
-
-          .put("lang.Class.getDeclaredMethods.Class_getDeclaredMethods_A01",
+          .put(
+              "lang.Class.getDeclaredMethods.Class_getDeclaredMethods_A01",
               match(runtimesFrom(Version.V7_0_0)))
-          // 1) t03
-          // java.lang.AssertionError: Array lengths expected:<1> but was:<3>
-
-          .put("lang.Class.getMethods.Class_getMethods_A01",
-              match(runtimesFrom(Version.V7_0_0)))
-          // 1) t03
-          // java.lang.AssertionError: Array lengths expected:<1> but was:<3>
-
+          .put("lang.Class.getMethods.Class_getMethods_A01", match(runtimesFrom(Version.V7_0_0)))
           .put("lang.Class.getGenericInterfaces.Class_getGenericInterfaces_A04", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.GenericSignatureFormatError> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.Class.BadSignatureClass
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.BadSignatureClass" on path: DexPathList[[dex file "/tmp/junit3946430209802684584/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.Class.getDeclaredFieldLjava_lang_String.Class_getDeclaredField_A04", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
           .put("lang.Class.getDeclaredMethods.Class_getDeclaredMethods_A02", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
-          .put("lang.Class.getResourceAsStreamLjava_lang_String.Class_getResourceAsStream_A01",
+          .put(
+              "lang.Class.getResourceAsStreamLjava_lang_String.Class_getResourceAsStream_A01",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'void java.io.InputStream.close()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'void java.io.InputStream.close()' on a null object reference
-          // 3) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'void java.io.InputStream.close()' on a null object reference
-          // 4) t04
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'void java.io.InputStream.close()' on a null object reference
-          // 5) t06
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 6) t07
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.Class.getGenericInterfaces.Class_getGenericInterfaces_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.MalformedParameterizedTypeException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.Class.MalformedSuperinterface
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.MalformedSuperinterface" on path: DexPathList[[dex file "/tmp/junit4997784696243614791/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.Class.MalformedSuperclass
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.MalformedSuperclass" on path: DexPathList[[dex file "/tmp/junit4997784696243614791/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.Class.getAnnotationLjava_lang_Class.Class_getAnnotation_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-          // 2) t03
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-
           .put("lang.Class.getGenericInterfaces.Class_getGenericInterfaces_A03", any())
-          // 1) t01
-          // java.lang.AssertionError: Should throw TypeNotPresentException for class: interface com.google.jctf.test.lib.java.lang.Class.getGenericInterfaces.Class_getGenericInterfaces_A03$I01
-
           .put("lang.Class.getDeclaredClasses.Class_getDeclaredClasses_A02", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
           .put("lang.Class.desiredAssertionStatus.Class_desiredAssertionStatus_A01", any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 3) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 4) t04
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 5) t05
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 6) t06
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 7) t07
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 8) t08
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.Class.getPackage.Class_getPackage_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: expected same:<package java.lang, Unknown, version 0.0> was not:<package java.lang, Unknown, version 0.0>
-          // 2) t03
-          // java.lang.AssertionError: expected null, but was:<package [Ljava.lang, Unknown, version 0.0>
-
           .put("lang.Class.getFieldLjava_lang_String.Class_getField_A04", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
           .put("lang.Class.getTypeParameters.Class_getTypeParameters_A02", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.GenericSignatureFormatError> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.Class.BadSignatureClass
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.BadSignatureClass" on path: DexPathList[[dex file "/tmp/junit8470679547599572122/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.Class.getDeclaredAnnotations.Class_getDeclaredAnnotations_A01", any())
-          // 1) t03
-          // java.lang.AssertionError: expected:<0> but was:<1>
-
           .put("lang.Class.getConstructors.Class_getConstructors_A02", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
-          .put("lang.Class.isAnnotationPresentLjava_lang_Class.Class_isAnnotationPresent_A01",
-              any())
-          // 1) t03
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-          // 2) t04
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-
+          .put(
+              "lang.Class.isAnnotationPresentLjava_lang_Class.Class_isAnnotationPresent_A01", any())
           .put("lang.Class.getFields.Class_getFields_A02", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
           .put("lang.Class.getGenericSuperclass.Class_getGenericSuperclass_A03", any())
-          // 1) t01
-          // java.lang.AssertionError: Should throw TypeNotPresentException for class: class com.google.jctf.test.lib.java.lang.Class.getGenericSuperclass.Class_getGenericSuperclass_A03$C01
-
           .put("lang.Class.getGenericSuperclass.Class_getGenericSuperclass_A04", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.MalformedParameterizedTypeException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.Class.MalformedSuperclass
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.MalformedSuperclass" on path: DexPathList[[dex file "/tmp/junit552939904349045383/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.Class.MalformedSuperinterface
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.MalformedSuperinterface" on path: DexPathList[[dex file "/tmp/junit552939904349045383/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.Class.getSigners.Class_getSigners_A01", any())
-          // 1) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'java.security.CodeSource java.security.ProtectionDomain.getCodeSource()' on a null object reference
-          // 2) t04
-          // java.lang.AssertionError: Unable to configure default providers
-          // 3) t05
-          // java.lang.NoClassDefFoundError: sun.security.jca.Providers
-          // Caused by: java.lang.AssertionError: Unable to configure default providers
-
-          .put("lang.Class.getMethodLjava_lang_String_Ljava_lang_Class.Class_getMethod_A01",
+          .put(
+              "lang.Class.getMethodLjava_lang_String_Ljava_lang_Class.Class_getMethod_A01",
               match(runtimes(Version.DEFAULT, Version.V7_0_0, Version.V4_4_4, Version.V4_0_4)))
-          // 1) t04
-          // java.lang.AssertionError: expected:<interface com.google.jctf.test.lib.java.lang.Class.getMethodLjava_lang_String_Ljava_lang_Class.Class_getMethod_A01$I1> but was:<interface com.google.jctf.test.lib.java.lang.Class.getMethodLjava_lang_String$Ljava_lang_Class.Class_getMethod_A01$I2>
-
-          .put("lang.Class.getModifiers.Class_getModifiers_A03",
-              match(runtimes(Version.V4_0_4)))
-          // t02(com.google.jctf.test.lib.java.lang.Class.getModifiers.Class_getModifiers_A03)
-          // java.lang.AssertionError: Expected but not set modifiers of [[Lcom.google.jctf.test.lib.java.lang.Class.getModifiers.Class_getModifiers_A03$CC$II; expected:<20> but was:<16>
-
-          .put("lang.Class.newInstance.Class_newInstance_A06",
-              match(runtimes(Version.V4_0_4)))
-          // t03(com.google.jctf.test.lib.java.lang.Class.newInstance.Class_newInstance_A06)
-          // java.lang.ExceptionInInitializerError
-
+          .put("lang.Class.getModifiers.Class_getModifiers_A03", match(runtimes(Version.V4_0_4)))
+          .put("lang.Class.newInstance.Class_newInstance_A06", match(runtimes(Version.V4_0_4)))
           .put("lang.Class.getGenericSuperclass.Class_getGenericSuperclass_A01", any())
-          // 1) t03
-          // java.lang.AssertionError: expected same:<class java.lang.reflect.AccessibleObject> was not:<class java.lang.reflect.Executable>
-
           .put("lang.Class.getGenericSuperclass.Class_getGenericSuperclass_A02", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.GenericSignatureFormatError> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.Class.BadSignatureClass
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.Class.BadSignatureClass" on path: DexPathList[[dex file "/tmp/junit6101943207514034648/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.Class.newInstance.Class_newInstance_A07", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
           .put(
               "lang.Class.getDeclaredConstructor_Ljava_lang_Class.Class_getDeclaredConstructor_A02",
               any())
-          // 1) t03
-          // java.lang.AssertionError: Vague error message
-
           .put("lang.Class.getMethodLjava_lang_String_Ljava_lang_Class.Class_getMethod_A05", any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
           .put("lang.Class.forNameLjava_lang_String.Class_forName_A01", any())
-          // 1) t05
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t06
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.Class.getDeclaredConstructor_Ljava_lang_Class.Class_getDeclaredConstructor_A03",
               any())
-          // 1) t01
-          // java.lang.SecurityException
-          // 2) t03
-          // java.lang.SecurityException
-          // 3) t04
-          // java.lang.SecurityException
-
           .put("lang.Class.getMethodLjava_lang_String_Ljava_lang_Class.Class_getMethod_A03", any())
-          // 1) t03
-          // java.lang.AssertionError: Vague error message
-
           .put("lang.Class.forNameLjava_lang_String.Class_forName_A02", any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.LinkageError
-
-          .put("lang.UnsatisfiedLinkError.serialization.UnsatisfiedLinkError_serialization_A01",
+          .put(
+              "lang.UnsatisfiedLinkError.serialization.UnsatisfiedLinkError_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/UnsatisfiedLinkError/serialization/UnsatisfiedLinkError_serialization_A01.golden.0.ser
-
           .put("lang.Class.getAnnotations.Class_getAnnotations_A01", any())
-          // 1) t04
-          // java.lang.AssertionError: expected:<0> but was:<1>
-          // 2) t06
-          // java.lang.AssertionError: Misconfigured test
-
           .put(
               "lang.EnumConstantNotPresentException.serialization.EnumConstantNotPresentException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/EnumConstantNotPresentException/serialization/EnumConstantNotPresentException_serialization_A01.golden.0.ser
-
           .put("lang.String.toLowerCase.String_toLowerCase_A01", any())
-          // 1) t02
-          // org.junit.ComparisonFailure: expected:<i[]> but was:<i[̇]>
-
           .put("lang.String.splitLjava_lang_StringI.String_split_A01", any())
-          // 1) t06
-          // java.lang.AssertionError: array lengths differed, expected.length=1 actual.length=2
-
           .put("lang.String.serialization.String_serialization_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/String/serialization/String_serialization_A01.golden.0.ser
-
           .put("lang.String.regionMatchesZILjava_lang_StringII.String_regionMatches_A01", any())
-          // 1) t07
-          // java.lang.AssertionError
-
           .put("lang.String.valueOfF.String_valueOf_A01", any())
-          // 1) t09
-          // org.junit.ComparisonFailure: Incorrect double string returned expected:<0.001[0]> but was:<0.001[]>
-
           .put("lang.String.Constructor_BLjava_nio_charset_Charset.String_Constructor_A01", any())
-          // 1) t02
-          // org.junit.ComparisonFailure: expected:<�[]> but was:<�[�]>
-          // 2) t03
-          // org.junit.ComparisonFailure: expected:<[�]> but was:<[�]>
-          // 3) t04
-          // org.junit.ComparisonFailure: expected:<[�]> but was:<[�]>
-          // 4) t05
-          // org.junit.ComparisonFailure: expected:<[�]> but was:<[�]>
-
           .put("lang.String.concatLjava_lang_String.String_concat_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: expected not same
-
           .put("lang.String.matchesLjava_lang_String.String_matches_A01", any())
-          // 1) t15
-          // java.lang.AssertionError: pattern: [^a-d[^m-p]]*abb input: admpabb
-          // 2) t19
-          // java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 11
-          // .*(?<=abc)*\.log$
-          // ^
-
           .put("lang.String.CASE_INSENSITIVE_ORDER.serialization.String_serialization_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/String/CASE_INSENSITIVE_ORDER/serialization/String_serialization_A01.golden.0.ser
-
-          .put("lang.String.getBytesLjava_lang_String.String_getBytes_A14",
+          .put(
+              "lang.String.getBytesLjava_lang_String.String_getBytes_A14",
               match(runtimesUpTo(Version.V7_0_0)))
-          // 1) t07
-          // arrays first differed at element [0]; expected:<-2> but was:<-1>
-          // Caused by: java.lang.AssertionError: expected:<-2> but was:<-1>
-          // 2) t12
-          // arrays first differed at element [0]; expected:<-2> but was:<-1>
-          // Caused by: java.lang.AssertionError: expected:<-2> but was:<-1>
-          // 3) t22
-          // arrays first differed at element [0]; expected:<-2> but was:<-1>
-          // Caused by: java.lang.AssertionError: expected:<-2> but was:<-1>
-          // 4) t32
-          // arrays first differed at element [0]; expected:<-2> but was:<-1>
-          // Caused by: java.lang.AssertionError: expected:<-2> but was:<-1>
-          // 5) t42
-          // arrays first differed at element [0]; expected:<-2> but was:<-1>
-          // Caused by: java.lang.AssertionError: expected:<-2> but was:<-1>
-          // 6) t52
-          // arrays first differed at element [0]; expected:<-2> but was:<-1>
-          // Caused by: java.lang.AssertionError: expected:<-2> but was:<-1>
-          // 7) t62
-          // arrays first differed at element [0]; expected:<-2> but was:<-1>
-          // Caused by: java.lang.AssertionError: expected:<-2> but was:<-1>
-
           .put("lang.String.splitLjava_lang_String.String_split_A01", any())
-          // 1) t06
-          // java.lang.AssertionError: array lengths differed, expected.length=1 actual.length=2
-
           .put("lang.String.getBytesII_BI.String_getBytes_A03", any())
-          // 1) t04
-          // java.lang.AssertionError: Should throws IndexOutOfBoundsException: 0
-          // 2) t05
-          // java.lang.AssertionError: Should throws IndexOutOfBoundsException: 0
-
           .put("lang.String.getBytesII_BI.String_getBytes_A02", any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put("lang.String.toLowerCaseLjava_util_Locale.String_toLowerCase_A01", any())
-          // 1) t02
-          // org.junit.ComparisonFailure: expected:<i[]> but was:<i[̇]>
-
           .put("lang.String.Constructor_BIILjava_nio_charset_Charset.String_Constructor_A01", any())
-          // 1) t02
-          // org.junit.ComparisonFailure: expected:<�[]> but was:<�[�]>
-          // 2) t03
-          // org.junit.ComparisonFailure: expected:<[�]> but was:<[�]>
-          // 3) t04
-          // org.junit.ComparisonFailure: expected:<[�]> but was:<[�]>
-          // 4) t05
-          // org.junit.ComparisonFailure: expected:<[�]> but was:<[�]>
-
           .put("lang.String.getBytesLjava_nio_charset_Charset.String_getBytes_A01", any())
-          // 1) t05
-          // arrays first differed at element [0]; expected:<-40> but was:<-37>
-          // Caused by: java.lang.AssertionError: expected:<-40> but was:<-37>
-
           .put("lang.String.valueOfD.String_valueOf_A01", any())
-          // 1) t09
-          // org.junit.ComparisonFailure: Incorrect double string returned expected:<0.001[0]> but was:<0.001[]>
-
-          .put("lang.String.getBytesLjava_nio_charset_Charset.String_getBytes_A14",
+          .put(
+              "lang.String.getBytesLjava_nio_charset_Charset.String_getBytes_A14",
               match(runtimesUpTo(Version.V7_0_0)))
-          // 1) t07
-          // arrays first differed at element [0]; expected:<-2> but was:<-1>
-          // Caused by: java.lang.AssertionError: expected:<-2> but was:<-1>
-          // 2) t12
-          // arrays first differed at element [0]; expected:<-2> but was:<-1>
-          // Caused by: java.lang.AssertionError: expected:<-2> but was:<-1>
-          // 3) t22
-          // arrays first differed at element [0]; expected:<-2> but was:<-1>
-          // Caused by: java.lang.AssertionError: expected:<-2> but was:<-1>
-          // 4) t32
-          // arrays first differed at element [0]; expected:<-2> but was:<-1>
-          // Caused by: java.lang.AssertionError: expected:<-2> but was:<-1>
-          // 5) t42
-          // arrays first differed at element [0]; expected:<-2> but was:<-1>
-          // Caused by: java.lang.AssertionError: expected:<-2> but was:<-1>
-          // 6) t52
-          // arrays first differed at element [0]; expected:<-2> but was:<-1>
-          // Caused by: java.lang.AssertionError: expected:<-2> but was:<-1>
-          // 7) t62
-          // arrays first differed at element [0]; expected:<-2> but was:<-1>
-          // Caused by: java.lang.AssertionError: expected:<-2> but was:<-1>
-
           .put("lang.Package.isSealed.Package_isSealed_A01", any())
-          // 1) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-
           .put("lang.Package.getSpecificationVersion.Package_getSpecificationVersion_A01", any())
-          // 1) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-
           .put("lang.Package.getAnnotationLjava_lang_Class.Package_getAnnotation_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-          // 2) t03
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-          // 3) t05
-          // java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-
-          .put("lang.Package.isAnnotationPresentLjava_lang_Class.Package_isAnnotationPresent_A02",
+          .put(
+              "lang.Package.isAnnotationPresentLjava_lang_Class.Package_isAnnotationPresent_A02",
               match(and(runtimes(Version.V4_0_4), runtimesFrom(Version.V7_0_0))))
-          // 1) testIsAnnotationPresent_Null2
-          // java.lang.Exception: Unexpected exception, expected<java.lang.NullPointerException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-
           .put("lang.Package.getName.Package_getName_A01", any())
-          // 1) t03
-          // java.lang.ClassNotFoundException: com.simpleClass1
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-
           .put("lang.Package.getImplementationVersion.Package_getImplementationVersion_A01", any())
-          // 1) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-
           .put("lang.Package.getDeclaredAnnotations.Package_getDeclaredAnnotations_A01", any())
-          // 1) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-          // 2) t03
-          // java.lang.AssertionError: expected:<0> but was:<1>
-
           .put("lang.Package.getSpecificationVendor.Package_getSpecificationVendor_A01", any())
-          // 1) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-
-          .put("lang.Package.getAnnotationLjava_lang_Class.Package_getAnnotation_A02",
+          .put(
+              "lang.Package.getAnnotationLjava_lang_Class.Package_getAnnotation_A02",
               match(and(runtimesFrom(Version.V7_0_0), runtimes(Version.V4_0_4))))
-          // 1) testGetAnnotation_Null2
-          // java.lang.Exception: Unexpected exception, expected<java.lang.NullPointerException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-
           .put("lang.Package.isCompatibleWithLjava_lang_String.Package_isCompatibleWith_A01", any())
-          // 1) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-
           .put("lang.Package.toString.Package_toString_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: expect: package com.google.jctf.test.lib.java.lang.Package.toString, Unknown, version 0.0, actual: package com.google.jctf.test.lib.java.lang.Package.toString
-          // 2) t03
-          // java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-
           .put("lang.Package.getAnnotations.Package_getAnnotations_A01", any())
-          // 1) t03
-          // java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-          // 2) t04
-          // java.lang.AssertionError: expected:<0> but was:<1>
-          // 3) t06
-          // java.lang.AssertionError: Misconfigured test
-
-          .put("lang.Package.isAnnotationPresentLjava_lang_Class.Package_isAnnotationPresent_A01",
+          .put(
+              "lang.Package.isAnnotationPresentLjava_lang_Class.Package_isAnnotationPresent_A01",
               any())
-          // 1) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-          // 2) t03
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-          // 3) t04
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-
           .put("lang.Package.getSpecificationTitle.Package_getSpecificationTitle_A01", any())
-          // 1) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-
           .put("lang.Package.getImplementationTitle.Package_getImplementationTitle_A01", any())
-          // 1) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-
           .put("lang.Package.getPackages.Package_getPackages_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Package getPackages failed to retrieve a packages
-
           .put("lang.Package.hashCode.Package_hashCode_A01", any())
-          // 1) t03
-          // java.lang.ClassNotFoundException: com.simpleClass1
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-
           .put("lang.Package.getPackageLjava_lang_String.Package_getPackage_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Package getPackage failed for java.lang expected same:<package java.lang, Unknown, version 0.0> was not:<package java.lang, Unknown, version 0.0>
-
           .put("lang.Package.getImplementationVendor.Package_getImplementationVendor_A01", any())
-          // 1) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-
           .put("lang.Package.isSealedLjava_net_URL.Package_isSealed_A01", any())
-          // 1) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.simpleClass
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.URL.getProtocol()' on a null object reference
-
           .put("lang.StringBuilder.serialization.StringBuilder_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/StringBuilder/serialization/StringBuilder_serialization_A01.golden.ser
-
           .put(
               "lang.SecurityManager.checkReadLjava_io_FileDescriptor.SecurityManager_checkRead_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.SecurityManager.checkAwtEventQueueAccess.SecurityManager_checkAwtEventQueueAccess_A01",
               any())
-          // 1) t01
-          // java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/AWTPermission;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "java.awt.AWTPermission" on path: DexPathList[[dex file "/tmp/junit5851789677967468571/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/AWTPermission;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "java.awt.AWTPermission" on path: DexPathList[[dex file "/tmp/junit5851789677967468571/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
-          .put("lang.SecurityManager.checkWriteLjava_lang_String.SecurityManager_checkWrite_A02",
+          .put(
+              "lang.SecurityManager.checkWriteLjava_lang_String.SecurityManager_checkWrite_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put("lang.SecurityManager.inClassLoader.SecurityManager_inClassLoader_A01", any())
-          // 1) t01
-          // java.lang.AssertionError
-
           .put(
               "lang.SecurityManager.checkPermissionLjava_security_PermissionLjava_lang_Object.SecurityManager_checkPermission_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.SecurityManager.checkReadLjava_io_FileDescriptor.SecurityManager_checkRead_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@cf3e8f1>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put("lang.SecurityManager.inCheck.SecurityManager_inCheck_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: inCheck field must always remain false
-          // 2) t03
-          // java.lang.AssertionError: inCheck field must always remain false
-
-          .put("lang.SecurityManager.currentClassLoader.SecurityManager_currentClassLoader_A02",
+          .put(
+              "lang.SecurityManager.currentClassLoader.SecurityManager_currentClassLoader_A02",
               any())
-          // 1) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
-          .put("lang.SecurityManager.checkPrintJobAccess.SecurityManager_checkPrintJobAccess_A01",
+          .put(
+              "lang.SecurityManager.checkPrintJobAccess.SecurityManager_checkPrintJobAccess_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@a49048c>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
-          .put("lang.SecurityManager.checkWriteLjava_lang_String.SecurityManager_checkWrite_A01",
+          .put(
+              "lang.SecurityManager.checkWriteLjava_lang_String.SecurityManager_checkWrite_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.io.FilePermission@9656315>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put(
               "lang.SecurityManager.checkPackageAccessLjava_lang_String.SecurityManager_checkPackageAccess_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
-          .put("lang.SecurityManager.checkAcceptLjava_lang_StringI.SecurityManager_checkAccept_A02",
+          .put(
+              "lang.SecurityManager.checkAcceptLjava_lang_StringI.SecurityManager_checkAccept_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.SecurityManager.checkPermissionLjava_security_PermissionLjava_lang_Object.SecurityManager_checkPermission_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <com.google.jctf.test.lib.java.lang.SecurityManager.checkPermissionLjava_security_PermissionLjava_lang_Object.SecurityManager_checkPermission_A01$1@5d6dd39>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-          // 3) t03
-          // java.lang.AssertionError: SecurityException should be thrown for null context
-
-          .put("lang.SecurityManager.currentClassLoader.SecurityManager_currentClassLoader_A01",
+          .put(
+              "lang.SecurityManager.currentClassLoader.SecurityManager_currentClassLoader_A01",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.SecurityManager.checkMulticastLjava_net_InetAddress.SecurityManager_checkMulticast_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put("lang.SecurityManager.checkListenI.SecurityManager_checkListen_A01", any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@32bf8d4>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
-          .put("lang.SecurityManager.getSecurityContext.SecurityManager_getSecurityContext_A01",
+          .put(
+              "lang.SecurityManager.getSecurityContext.SecurityManager_getSecurityContext_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<java.security.AccessControlContext@248575d> but was:<null>
-          // 2) t02
-          // java.lang.AssertionError: expected:<java.security.AccessControlContext@259b8d2> but was:<null>
-
           .put(
               "lang.SecurityManager.checkPackageAccessLjava_lang_String.SecurityManager_checkPackageAccess_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@3230dd4>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@a1bab7d>
-          // but:
-          // 3) t03
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@bb64a72>
-          // but:
-          // 4) t05
-          // java.lang.AssertionError: SecurityException should be thrown for restricted package: 1234
-
           .put(
               "lang.SecurityManager.checkMemberAccessLjava_lang_ClassI.SecurityManager_checkMemberAccess_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@81146f>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put(
               "lang.SecurityManager.checkMulticastLjava_net_InetAddressB.SecurityManager_checkMulticast_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
-          .put("lang.SecurityManager.checkAcceptLjava_lang_StringI.SecurityManager_checkAccept_A01",
+          .put(
+              "lang.SecurityManager.checkAcceptLjava_lang_StringI.SecurityManager_checkAccept_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@eb9d181>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@db9b226>
-          // but:
-          // 3) t03
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put(
               "lang.SecurityManager.checkMulticastLjava_net_InetAddress.SecurityManager_checkMulticast_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@dd6300a>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@891b07b>
-          // but:
-          // 3) t03
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put("lang.SecurityManager.Constructor.SecurityManager_Constructor_A01", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.SecurityManager.getClassContext.SecurityManager_getClassContext_A01", any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to read from null array
-
           .put(
               "lang.SecurityManager.checkMemberAccessLjava_lang_ClassI.SecurityManager_checkMemberAccess_A03",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
-          .put("lang.SecurityManager.checkDeleteLjava_lang_String.SecurityManager_checkDelete_A01",
+          .put(
+              "lang.SecurityManager.checkDeleteLjava_lang_String.SecurityManager_checkDelete_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.io.FilePermission@96408b7>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put(
               "lang.SecurityManager.checkReadLjava_lang_StringLjava_lang_Object.SecurityManager_checkRead_A03",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.SecurityManager.checkMulticastLjava_net_InetAddressB.SecurityManager_checkMulticast_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@79cc5c9>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@479a4ce>
-          // but:
-          // 3) t03
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put("lang.SecurityManager.checkListenI.SecurityManager_checkListen_A02", any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@6b92452>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
-          .put("lang.SecurityManager.checkAccessLjava_lang_Thread.SecurityManager_checkAccess_A01",
+          .put(
+              "lang.SecurityManager.checkAccessLjava_lang_Thread.SecurityManager_checkAccess_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@5d582db>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: SecurityException should be thrown
-
           .put(
               "lang.SecurityManager.checkWriteLjava_io_FileDescriptor.SecurityManager_checkWrite_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
-          .put("lang.SecurityManager.checkDeleteLjava_lang_String.SecurityManager_checkDelete_A02",
+          .put(
+              "lang.SecurityManager.checkDeleteLjava_lang_String.SecurityManager_checkDelete_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.SecurityManager.checkPropertiesAccess.SecurityManager_checkPropertiesAccess_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.util.PropertyPermission@32a9e76>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put(
               "lang.SecurityManager.checkReadLjava_lang_StringLjava_lang_Object.SecurityManager_checkRead_A02",
               any())
-          // 1) t03
-          // java.lang.AssertionError: SecurityException should be thrown for null context
-
           .put(
               "lang.SecurityManager.checkAccessLjava_lang_ThreadGroup.SecurityManager_checkAccess_A03",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
-          .put("lang.SecurityManager.checkAccessLjava_lang_Thread.SecurityManager_checkAccess_A03",
+          .put(
+              "lang.SecurityManager.checkAccessLjava_lang_Thread.SecurityManager_checkAccess_A03",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.SecurityManager.checkPackageDefinitionLjava_lang_String.SecurityManager_checkPackageDefinition_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
-          .put("lang.SecurityManager.checkReadLjava_lang_String.SecurityManager_checkRead_A02",
+          .put(
+              "lang.SecurityManager.checkReadLjava_lang_String.SecurityManager_checkRead_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.SecurityManager.checkWriteLjava_io_FileDescriptor.SecurityManager_checkWrite_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@cf13435>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put(
               "lang.SecurityManager.checkReadLjava_lang_StringLjava_lang_Object.SecurityManager_checkRead_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.io.FilePermission@c0d92be>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
-          .put("lang.SecurityManager.checkExecLjava_lang_String.SecurityManager_checkExec_A03",
+          .put(
+              "lang.SecurityManager.checkExecLjava_lang_String.SecurityManager_checkExec_A03",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.SecurityManager.checkPackageDefinitionLjava_lang_String.SecurityManager_checkPackageDefinition_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@8bc5330>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@a83ba9>
-          // but:
-          // 3) t03
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@785152e>
-          // but:
-          // 4) t05
-          // java.lang.AssertionError: SecurityException should be thrown for restricted package: 1234
-
-          .put("lang.SecurityManager.checkExecLjava_lang_String.SecurityManager_checkExec_A02",
+          .put(
+              "lang.SecurityManager.checkExecLjava_lang_String.SecurityManager_checkExec_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.io.FilePermission@79b6b6b>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put(
               "lang.SecurityManager.checkCreateClassLoader.SecurityManager_checkCreateClassLoader_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@6b7c9f4>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
-          .put("lang.SecurityManager.checkReadLjava_lang_String.SecurityManager_checkRead_A01",
+          .put(
+              "lang.SecurityManager.checkReadLjava_lang_String.SecurityManager_checkRead_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.io.FilePermission@5d4287d>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put(
               "lang.SecurityManager.checkAccessLjava_lang_ThreadGroup.SecurityManager_checkAccess_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@4f08706>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put("lang.SecurityManager.inClassLjava_lang_String.SecurityManager_inClass_A03", any())
-          // 1) t01
-          // java.lang.AssertionError
-
           .put(
               "lang.SecurityManager.checkConnectLjava_lang_StringILjava_lang_Object.SecurityManager_checkConnect_A03",
               any())
-          // 1) t03
-          // java.lang.AssertionError: SecurityException should be thrown for null context
-
-          .put("lang.SecurityManager.checkExecLjava_lang_String.SecurityManager_checkExec_A01",
+          .put(
+              "lang.SecurityManager.checkExecLjava_lang_String.SecurityManager_checkExec_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.io.FilePermission@162012a>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put("lang.SecurityManager.checkSetFactory.SecurityManager_checkSetFactory_A01", any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@162012a>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put(
               "lang.SecurityManager.checkConnectLjava_lang_StringILjava_lang_Object.SecurityManager_checkConnect_A04",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.SecurityManager.checkPermissionLjava_security_Permission.SecurityManager_checkPermission_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <com.google.jctf.test.lib.java.lang.SecurityManager.checkPermissionLjava_security_Permission.SecurityManager_checkPermission_A01$2@f9abe3c>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put("lang.SecurityManager.inClassLjava_lang_String.SecurityManager_inClass_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Method from class: com.google.jctf.test.lib.java.lang.SecurityManager.inClassLjava_lang_String.SecurityManager_inClass_A01 must be on execution stack.
-
           .put("lang.SecurityManager.inClassLjava_lang_String.SecurityManager_inClass_A02", any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.SecurityManager.checkPropertyAccessLjava_lang_String.SecurityManager_checkPropertyAccess_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put("lang.SecurityManager.checkExitI.SecurityManager_checkExit_A01", any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@c0c3860>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put(
               "lang.SecurityManager.checkConnectLjava_lang_StringILjava_lang_Object.SecurityManager_checkConnect_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@b2896e9>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@f796f6e>
-          // but:
-          // 3) t03
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put(
               "lang.SecurityManager.checkConnectLjava_lang_StringILjava_lang_Object.SecurityManager_checkConnect_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@96153fb>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@5296c18>
-          // but:
-          // 3) t03
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put("lang.SecurityManager.classLoaderDepth.SecurityManager_classLoaderDepth_A02", any())
-          // 1) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
-          .put("lang.SecurityManager.classDepthLjava_lang_String.SecurityManager_classDepth_A02",
+          .put(
+              "lang.SecurityManager.classDepthLjava_lang_String.SecurityManager_classDepth_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.SecurityManager.checkPropertyAccessLjava_lang_String.SecurityManager_checkPropertyAccess_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.util.PropertyPermission@79a110d>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put(
               "lang.SecurityManager.checkPropertyAccessLjava_lang_String.SecurityManager_checkPropertyAccess_A03",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.IllegalArgumentException
-
           .put(
               "lang.SecurityManager.checkConnectLjava_lang_StringI.SecurityManager_checkConnect_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@4ef2ca8>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@b6163c1>
-          // but:
-          // 3) t03
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
-          .put("lang.SecurityManager.checkLinkLjava_lang_String.SecurityManager_checkLink_A02",
+          .put(
+              "lang.SecurityManager.checkLinkLjava_lang_String.SecurityManager_checkLink_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put("lang.SecurityManager.classLoaderDepth.SecurityManager_classLoaderDepth_A01", any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.SecurityManager.checkPermissionLjava_security_Permission.SecurityManager_checkPermission_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
-          .put("lang.SecurityManager.currentLoadedClass.SecurityManager_currentLoadedClass_A01",
+          .put(
+              "lang.SecurityManager.currentLoadedClass.SecurityManager_currentLoadedClass_A01",
               any())
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.SecurityManager.checkSecurityAccessLjava_lang_String.SecurityManager_checkSecurityAccess_A03",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.IllegalArgumentException
-
           .put(
               "lang.SecurityManager.checkConnectLjava_lang_StringI.SecurityManager_checkConnect_A03",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.SecurityManager.checkConnectLjava_lang_StringI.SecurityManager_checkConnect_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@f9963de>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.net.SocketPermission@c7159bf>
-          // but:
-          // 3) t03
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put(
               "lang.SecurityManager.checkTopLevelWindowLjava_lang_Object.SecurityManager_checkTopLevelWindow_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
-          .put("lang.SecurityManager.currentLoadedClass.SecurityManager_currentLoadedClass_A02",
+          .put(
+              "lang.SecurityManager.currentLoadedClass.SecurityManager_currentLoadedClass_A02",
               any())
-          // 1) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
-          .put("lang.SecurityManager.classDepthLjava_lang_String.SecurityManager_classDepth_A01",
+          .put(
+              "lang.SecurityManager.classDepthLjava_lang_String.SecurityManager_classDepth_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<1> but was:<-1>
-
           .put(
               "lang.SecurityManager.checkSecurityAccessLjava_lang_String.SecurityManager_checkSecurityAccess_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.security.SecurityPermission@a439b14>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put("lang.Throwable.serialization.Throwable_serialization_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/Throwable/serialization/Throwable_serialization_A01.golden.0.ser
-
           .put(
               "lang.SecurityManager.checkTopLevelWindowLjava_lang_Object.SecurityManager_checkTopLevelWindow_A01",
               any())
-          // 1) t01
-          // java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/AWTPermission;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "java.awt.AWTPermission" on path: DexPathList[[dex file "/tmp/junit9085263025235375443/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/AWTPermission;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "java.awt.AWTPermission" on path: DexPathList[[dex file "/tmp/junit9085263025235375443/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
-          .put("lang.SecurityManager.checkLinkLjava_lang_String.SecurityManager_checkLink_A01",
+          .put(
+              "lang.SecurityManager.checkLinkLjava_lang_String.SecurityManager_checkLink_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError:
-          // Expected: a collection containing <java.lang.RuntimePermission@87c5826>
-          // but:
-          // 2) t02
-          // java.lang.AssertionError: Expected exception: java.lang.SecurityException
-
           .put("lang.Throwable.getStackTrace.Throwable_getStackTrace_A01", any())
-          // 1) t04
-          // org.junit.ComparisonFailure: wrongly omit constructor frame for other exception expected:<[<init>]> but was:<[t04]>
-
           .put(
               "lang.SecurityManager.checkSystemClipboardAccess.SecurityManager_checkSystemClipboardAccess_A01",
               any())
-          // 1) t01
-          // java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/AWTPermission;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "java.awt.AWTPermission" on path: DexPathList[[dex file "/tmp/junit529120552959989860/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.Exception: Unexpected exception, expected<java.lang.SecurityException> but was<java.lang.NoClassDefFoundError>
-          // Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/AWTPermission;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "java.awt.AWTPermission" on path: DexPathList[[dex file "/tmp/junit529120552959989860/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put(
               "lang.SecurityManager.checkSecurityAccessLjava_lang_String.SecurityManager_checkSecurityAccess_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.reflect.ReflectPermission.Constructor_java_lang_String.ReflectPermission_Constructor_A03",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.IllegalArgumentException
-
           .put(
               "lang.reflect.MalformedParameterizedTypeException.serialization.MalformedParameterizedTypeException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/reflect/MalformedParameterizedTypeException/serialization/MalformedParameterizedTypeException_serialization_A01.golden.0.ser
-
           .put(
               "lang.reflect.ReflectPermission.Constructor_java_lang_StringLjava_lang_String.ReflectPermission_Constructor_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put(
               "lang.UnsupportedClassVersionError.serialization.UnsupportedClassVersionError_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/UnsupportedClassVersionError/serialization/UnsupportedClassVersionError_serialization_A01.golden.0.ser
-
           .put(
               "lang.reflect.ReflectPermission.Constructor_java_lang_String.ReflectPermission_Constructor_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Incorrect permission constructed
-          // 2) t02
-          // java.lang.AssertionError: expected:<a> but was:<null>
-          // 3) t03
-          // java.lang.AssertionError: expected:<2/3/2> but was:<null>
-
           .put("lang.reflect.ReflectPermission.Class.ReflectPermission_class_A01", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.reflect.Proxy.serialization.Proxy_serialization_A01", any())
-          // 1) t01
-          // java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
-          // Caused by: java.lang.reflect.InvocationTargetException
-          // Caused by: java.lang.NullPointerException
-          // 2) t02
-          // java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
-          // Caused by: java.lang.reflect.InvocationTargetException
-          // Caused by: java.lang.NullPointerException
-
           .put(
               "lang.reflect.ReflectPermission.Constructor_java_lang_StringLjava_lang_String.ReflectPermission_Constructor_A03",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.IllegalArgumentException
-
           .put(
               "lang.reflect.ReflectPermission.Constructor_java_lang_String.ReflectPermission_Constructor_A02",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.NullPointerException
-
           .put("lang.reflect.ReflectPermission.Class.ReflectPermission_class_A02", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put(
               "lang.reflect.ReflectPermission.Constructor_java_lang_StringLjava_lang_String.ReflectPermission_Constructor_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Incorrect permission constructed
-          // 2) t04
-          // java.lang.AssertionError: expected:<a> but was:<null>
-          // 3) t05
-          // java.lang.AssertionError: expected:<2/3/2> but was:<null>
-
           .put(
               "lang.reflect.Proxy.getInvocationHandlerLjava_lang_Object.Proxy_getInvocationHandler_A02",
               match(runtimesFrom(Version.V5_1_1)))
-          // 1) t02
-          // java.lang.Exception: Unexpected exception, expected<java.lang.IllegalArgumentException> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException
-
           .put("lang.reflect.Proxy.Class.Proxy_class_A01", any())
-          // 1) t04
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t05
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Proxy.Class.Proxy_class_A02", match(runtimesUpTo(Version.V4_4_4)))
-          // 1) t02
-          // java.lang.AssertionError: expected array was null
-          // 2) t04
-          // java.lang.AssertionError: expected array was null
-
           .put("lang.reflect.Proxy.Class.Proxy_class_A03", match(runtimesUpTo(Version.V4_4_4)))
-          // 1) t03
-          // java.lang.AbstractMethodError: abstract method not implemented
-
           .put(
               "lang.reflect.Proxy.getProxyClassLjava_lang_ClassLoader_Ljava_lang_Class.Proxy_getProxyClass_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: expected same:<null> was not:<java.lang.BootClassLoader@ecc20b9>
-          // 2) t04
-          // java.lang.AssertionError: expected same:<null> was not:<java.lang.BootClassLoader@ecc20b9>
-
           .put(
               "lang.reflect.Proxy.getProxyClassLjava_lang_ClassLoader_Ljava_lang_Class.Proxy_getProxyClass_A03",
               any())
-          // 1) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t05
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Proxy.h.Proxy_h_A01", match(runtimes(Version.DEFAULT)))
-          // 1) t01
-          // java.lang.reflect.InvocationTargetException
-          // Caused by: java.lang.NullPointerException
-
           .put("lang.reflect.Proxy.serialization.Proxy_serialization_A02", any())
-          // 1) t01
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/reflect/Proxy/serialization/Proxy_serialization_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Proxy.serialization.Proxy_serialization_A01" on path: DexPathList[[dex file "/tmp/junit3110030363172925878/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t02
-          // java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/jctf/test/lib/java/lang/reflect/Proxy/serialization/Proxy_serialization_A01;
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Proxy.serialization.Proxy_serialization_A01" on path: DexPathList[[dex file "/tmp/junit3110030363172925878/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 3) t03
-          // java.lang.AssertionError: Unable to configure default providers
-
           .put(
               "lang.reflect.GenericSignatureFormatError.serialization.GenericSignatureFormatError_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/reflect/GenericSignatureFormatError/serialization/GenericSignatureFormatError_serialization_A01.golden.0.ser
-
           .put(
               "lang.reflect.Proxy.newProxyInstanceLjava_lang_ClassLoader_Ljava_lang_ClassLjava_lang_reflect_InvocationHandler.Proxy_newProxyInstance_A02",
               any())
-          // 1) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put(
               "lang.reflect.Proxy.ConstructorLjava_lang_reflect_InvocationHandler.Proxy_Constructor_A01",
               match(runtimes(Version.DEFAULT)))
-          // 1) t01
-          // java.lang.NullPointerException
-
           .put(
               "lang.reflect.Proxy.newProxyInstanceLjava_lang_ClassLoader_Ljava_lang_ClassLjava_lang_reflect_InvocationHandler.Proxy_newProxyInstance_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Bad classloader expected:<null> but was:<java.lang.BootClassLoader@fda9ca7>
-
           .put("lang.reflect.Modifier.isStrictI.Modifier_isStrict_A01", any())
-          // 1) t05
-          // java.lang.AssertionError
-
           .put("lang.reflect.Method.getGenericReturnType.Method_getGenericReturnType_A03", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.TypeNotPresentException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Method.MissingReturnTypeMethod
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Method.MissingReturnTypeMethod" on path: DexPathList[[dex file "/tmp/junit7196800508165091862/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.reflect.Method.getGenericReturnType.Method_getGenericReturnType_A02", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.GenericSignatureFormatError> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Method.BadSignatureMethod
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Method.BadSignatureMethod" on path: DexPathList[[dex file "/tmp/junit1047440880764311474/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.reflect.Method.getAnnotationLjava_lang_Class.Method_getAnnotation_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-          // 2) t03
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-
-          .put("lang.reflect.Method.getGenericExceptionTypes.Method_getGenericExceptionTypes_A02",
+          .put(
+              "lang.reflect.Method.getGenericExceptionTypes.Method_getGenericExceptionTypes_A02",
               any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.GenericSignatureFormatError> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Method.BadSignatureMethod
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Method.BadSignatureMethod" on path: DexPathList[[dex file "/tmp/junit2055893562046815723/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.reflect.Method.isBridge.Method_isBridge_A01", any())
-          // 1) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Method.BridgeTestMethod
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Method.BridgeTestMethod" on path: DexPathList[[dex file "/tmp/junit1244663784930832031/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.reflect.Method.isSynthetic.Method_isSynthetic_A01", any())
-          // 1) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Method.SyntheticTestMethod
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Method.SyntheticTestMethod" on path: DexPathList[[dex file "/tmp/junit5876026561576323251/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.reflect.Method.getGenericReturnType.Method_getGenericReturnType_A04", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.MalformedParameterizedTypeException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Method.MalformedReturnTypeMethod
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Method.MalformedReturnTypeMethod" on path: DexPathList[[dex file "/tmp/junit4310478819215974904/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
-          .put("lang.reflect.Method.getGenericExceptionTypes.Method_getGenericExceptionTypes_A01",
+          .put(
+              "lang.reflect.Method.getGenericExceptionTypes.Method_getGenericExceptionTypes_A01",
               any())
-          // 1) t03
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Method.getGenericExceptionTypes.Method_getGenericExceptionTypes_A01$Third
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Method.getGenericExceptionTypes.Method_getGenericExceptionTypes_A01$Third" on path: DexPathList[[dex file "/tmp/junit8600081041276641493/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t04
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Method.getGenericExceptionTypes.Method_getGenericExceptionTypes_A01$Fourth
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Method.getGenericExceptionTypes.Method_getGenericExceptionTypes_A01$Fourth" on path: DexPathList[[dex file "/tmp/junit8600081041276641493/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
-          .put("lang.reflect.Method.invokeLjava_lang_Object_Ljava_lang_Object.Method_invoke_A07",
+          .put(
+              "lang.reflect.Method.invokeLjava_lang_Object_Ljava_lang_Object.Method_invoke_A07",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.IllegalAccessException
-
-          .put("lang.reflect.Method.getGenericExceptionTypes.Method_getGenericExceptionTypes_A04",
+          .put(
+              "lang.reflect.Method.getGenericExceptionTypes.Method_getGenericExceptionTypes_A04",
               any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.MalformedParameterizedTypeException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Method.MalformedExceptionTypeMethod
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Method.MalformedExceptionTypeMethod" on path: DexPathList[[dex file "/tmp/junit1512043528789417983/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.reflect.Method.getTypeParameters.Method_getTypeParameters_A02", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.GenericSignatureFormatError> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Method.BadSignatureMethod
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Method.BadSignatureMethod" on path: DexPathList[[dex file "/tmp/junit2853449662835100192/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
-          .put("lang.reflect.Method.getGenericExceptionTypes.Method_getGenericExceptionTypes_A03",
+          .put(
+              "lang.reflect.Method.getGenericExceptionTypes.Method_getGenericExceptionTypes_A03",
               any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.TypeNotPresentException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Method.MissingExceptionTypeMethod
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Method.MissingExceptionTypeMethod" on path: DexPathList[[dex file "/tmp/junit1347702687417623444/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
-          .put("lang.reflect.Method.getDeclaredAnnotations.Method_getDeclaredAnnotations_A01",
+          .put(
+              "lang.reflect.Method.getDeclaredAnnotations.Method_getDeclaredAnnotations_A01", any())
+          .put(
+              "lang.reflect.Method.getGenericParameterTypes.Method_getGenericParameterTypes_A04",
               any())
-          // 1) t03
-          // java.lang.AssertionError: expected:<0> but was:<1>
-
-          .put("lang.reflect.Method.getGenericParameterTypes.Method_getGenericParameterTypes_A04",
-              any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.MalformedParameterizedTypeException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Method.MalformedParameterTypeMethod
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Method.MalformedParameterTypeMethod" on path: DexPathList[[dex file "/tmp/junit2056931399679564203/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.reflect.Method.toGenericString.Method_toGenericString_A01", any())
-          // 1) t03
-          // org.junit.ComparisonFailure: expected:<public static final [synchronized ]native void com.goog...> but was:<public static final []native void com.goog...>
-          // 2) t04
-          // org.junit.ComparisonFailure: expected:<..._toGenericString_A01[.com.google.jctf.test.lib.java.lang.reflect.Method.toGenericString.Method_toGenericString_A01]$GenericClass<java.l...> but was:<..._toGenericString_A01[]$GenericClass<java.l...>
-          // 3) t05
-          // org.junit.ComparisonFailure: expected:<..._toGenericString_A01[.com.google.jctf.test.lib.java.lang.reflect.Method.toGenericString.Method_toGenericString_A01]$GenericClass<java.l...> but was:<..._toGenericString_A01[]$GenericClass<java.l...>
-
-          .put("lang.reflect.Method.getGenericParameterTypes.Method_getGenericParameterTypes_A03",
+          .put(
+              "lang.reflect.Method.getGenericParameterTypes.Method_getGenericParameterTypes_A03",
               any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.TypeNotPresentException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Method.MissingParameterTypeMethod
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Method.MissingParameterTypeMethod" on path: DexPathList[[dex file "/tmp/junit3534060116722105133/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put(
               "lang.reflect.InvocationHandler.invokeLjava_lang_ObjectLjava_lang_reflect_Method_Ljava_lang_Object.InvocationHandler_invoke_A01",
               match(runtimesUpTo(Version.V4_4_4)))
-          // 1) t04
-          // java.lang.AssertionError: expected array was null
-
           .put(
               "lang.reflect.InvocationHandler.invokeLjava_lang_ObjectLjava_lang_reflect_Method_Ljava_lang_Object.InvocationHandler_invoke_A02",
               any())
-          // 1) t04
-          // java.lang.AssertionError: ClassCastException should be thrown
-
           .put("lang.reflect.Method.getDefaultValue.Method_getDefaultValue_A02", any())
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.TypeNotPresentException
-
-          .put("lang.reflect.Method.hashCode.Method_hashCode_A01",
+          .put(
+              "lang.reflect.Method.hashCode.Method_hashCode_A01",
               match(runtimesUpTo(Version.V4_4_4)))
-          // 1)
-          // java.lang.AssertionError: expected:<-1918826964> but was:<-1295482945>
-
           .put("lang.reflect.Method.toString.Method_toString_A01", any())
-          // 1) t04
-          // org.junit.ComparisonFailure: expected:<public static final [synchronized ]native void com.goog...> but was:<public static final []native void com.goog...>
-
-          .put("lang.reflect.Method.getGenericParameterTypes.Method_getGenericParameterTypes_A02",
+          .put(
+              "lang.reflect.Method.getGenericParameterTypes.Method_getGenericParameterTypes_A02",
               any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.GenericSignatureFormatError> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Method.BadSignatureMethod
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Method.BadSignatureMethod" on path: DexPathList[[dex file "/tmp/junit7973288126499824876/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.reflect.Field.getFloatLjava_lang_Object.Field_getFloat_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.getDeclaringClass.Field_getDeclaringClass_A01", any())
-          // 1) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.getByteLjava_lang_Object.Field_getByte_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.getCharLjava_lang_Object.Field_getChar_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.getBooleanLjava_lang_Object.Field_getBoolean_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.setByteLjava_lang_ObjectB.Field_setByte_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.setByteLjava_lang_ObjectB.Field_setByte_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Exception is not thrown: field: bytePublicField, object: com.google.jctf.test.lib.java.lang.reflect.Field.TestStaticFinalPrimitiveField@b1b0f3d
-
-          .put("lang.reflect.Field.setByteLjava_lang_ObjectB.Field_setByte_A02",
+          .put(
+              "lang.reflect.Field.setByteLjava_lang_ObjectB.Field_setByte_A02",
               match(runtimesUpTo(Version.V4_4_4)))
-          // 1) t01
-          // java.lang.AssertionError: Illegal exception is thrown: java.lang.IllegalAccessException: field is marked 'final', field: bytePublicField, class: class com.google.jctf.test.lib.java.lang.reflect.Field.TestFinalPrimitiveField
-
           .put("lang.reflect.Field.setBooleanLjava_lang_ObjectZ.Field_setBoolean_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Exception is not thrown: field: booleanPublicField, object: com.google.jctf.test.lib.java.lang.reflect.Field.TestStaticFinalPrimitiveField@953cc4f
-
-          .put("lang.reflect.Field.setBooleanLjava_lang_ObjectZ.Field_setBoolean_A02",
+          .put(
+              "lang.reflect.Field.setBooleanLjava_lang_ObjectZ.Field_setBoolean_A02",
               match(runtimesUpTo(Version.V4_4_4)))
-          // 1) t01
-          // java.lang.AssertionError: Illegal exception is thrown: java.lang.IllegalAccessException: field is marked 'final', field: booleanPublicField, class: class com.google.jctf.test.lib.java.lang.reflect.Field.TestFinalPrimitiveField
-
           .put("lang.reflect.Field.setCharLjava_lang_ObjectC.Field_setChar_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.isSynthetic.Field_isSynthetic_A01", any())
-          // 1) t01
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Field.TestSyntheticField
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Field.TestSyntheticField" on path: DexPathList[[dex file "/tmp/junit8256784459468391222/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.reflect.Field.setBooleanLjava_lang_ObjectZ.Field_setBoolean_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.getType.Field_getType_A01", any())
-          // 1) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.setCharLjava_lang_ObjectC.Field_setChar_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Exception is not thrown: field: charPublicField, object: com.google.jctf.test.lib.java.lang.reflect.Field.TestStaticFinalPrimitiveField@95271f1
-
-          .put("lang.reflect.Field.setCharLjava_lang_ObjectC.Field_setChar_A02",
+          .put(
+              "lang.reflect.Field.setCharLjava_lang_ObjectC.Field_setChar_A02",
               match(runtimesUpTo(Version.V4_4_4)))
-          // 1) t01
-          // java.lang.AssertionError: Illegal exception is thrown: java.lang.IllegalAccessException: field is marked 'final', field: charPublicField, class: class com.google.jctf.test.lib.java.lang.reflect.Field.TestFinalPrimitiveField
-
           .put("lang.reflect.Field.getDoubleLjava_lang_Object.Field_getDouble_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.setFloatLjava_lang_ObjectF.Field_setFloat_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Exception is not thrown: field: floatPublicField, object: com.google.jctf.test.lib.java.lang.reflect.Field.TestStaticFinalPrimitiveField@3fca927
-
-          .put("lang.reflect.Field.setFloatLjava_lang_ObjectF.Field_setFloat_A02",
+          .put(
+              "lang.reflect.Field.setFloatLjava_lang_ObjectF.Field_setFloat_A02",
               match(runtimesUpTo(Version.V4_4_4)))
-          // 1) t01
-          // java.lang.AssertionError: Illegal exception is thrown: java.lang.IllegalAccessException: field is marked 'final', field: floatPublicField, class: class com.google.jctf.test.lib.java.lang.reflect.Field.TestFinalPrimitiveField
-
           .put("lang.reflect.Field.getAnnotationLjava_lang_Class.Field_getAnnotation_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-          // 2) t03
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-
-          .put("lang.reflect.Field.setIntLjava_lang_ObjectI.Field_setInt_A02",
+          .put(
+              "lang.reflect.Field.setIntLjava_lang_ObjectI.Field_setInt_A02",
               match(runtimesUpTo(Version.V4_4_4)))
-          // 1) t01
-          // java.lang.AssertionError: Illegal exception is thrown: java.lang.IllegalAccessException: field is marked 'final', field: intPublicField, class: class com.google.jctf.test.lib.java.lang.reflect.Field.TestFinalPrimitiveField
-
           .put("lang.reflect.Field.getIntLjava_lang_Object.Field_getInt_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.setFloatLjava_lang_ObjectF.Field_setFloat_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.getShortLjava_lang_Object.Field_getShort_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.getGenericType.Field_getGenericType_A03", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.TypeNotPresentException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Field.TestMissingTypeField
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Field.TestMissingTypeField" on path: DexPathList[[dex file "/tmp/junit1097443728550054537/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.reflect.Field.getDeclaredAnnotations.Field_getDeclaredAnnotations_A01", any())
-          // 1) t03
-          // java.lang.AssertionError: expected:<0> but was:<1>
-
           .put("lang.reflect.Field.getGenericType.Field_getGenericType_A01", any())
-          // 1) t02
-          // org.junit.ComparisonFailure: expected:<...Field.TestOtherField[.com.google.jctf.test.lib.java.lang.reflect.Field.TestOtherField]$SomeClass<?>> but was:<...Field.TestOtherField[]$SomeClass<?>>
-          // 2) t03
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.setIntLjava_lang_ObjectI.Field_setInt_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.getGenericType.Field_getGenericType_A02", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.GenericSignatureFormatError> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Field.TestBadSignatureField
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Field.TestBadSignatureField" on path: DexPathList[[dex file "/tmp/junit8638189152422058286/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.reflect.Field.toGenericString.Field_toGenericString_A01", any())
-          // 1) t02
-          // org.junit.ComparisonFailure: expected:<...Field.TestOtherField[.com.google.jctf.test.lib.java.lang.reflect.Field.TestOtherField]$SomeClass<?> com.go...> but was:<...Field.TestOtherField[]$SomeClass<?> com.go...>
-
           .put("lang.reflect.Field.getGenericType.Field_getGenericType_A04", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.MalformedParameterizedTypeException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Field.TestMalformedTypeField
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Field.TestMalformedTypeField" on path: DexPathList[[dex file "/tmp/junit1860681606366685174/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put("lang.reflect.Field.setIntLjava_lang_ObjectI.Field_setInt_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Exception is not thrown: field: intPublicField, object: com.google.jctf.test.lib.java.lang.reflect.Field.TestStaticFinalPrimitiveField@94fbd35
-
-          .put("lang.reflect.Field.setDoubleLjava_lang_ObjectD.Field_setDouble_A02",
+          .put(
+              "lang.reflect.Field.setDoubleLjava_lang_ObjectD.Field_setDouble_A02",
               match(runtimesUpTo(Version.V4_4_4)))
-          // 1) t01
-          // java.lang.AssertionError: Illegal exception is thrown: java.lang.IllegalAccessException: field is marked 'final', field: doublePublicField, class: class com.google.jctf.test.lib.java.lang.reflect.Field.TestFinalPrimitiveField
-
           .put("lang.reflect.Field.setDoubleLjava_lang_ObjectD.Field_setDouble_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.setShortLjava_lang_ObjectS.Field_setShort_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Exception is not thrown: field: shortPublicField, object: com.google.jctf.test.lib.java.lang.reflect.Field.TestStaticFinalPrimitiveField@7887a47
-
-          .put("lang.reflect.Field.setLongLjava_lang_ObjectJ.Field_setLong_A02",
+          .put(
+              "lang.reflect.Field.setLongLjava_lang_ObjectJ.Field_setLong_A02",
               match(runtimesUpTo(Version.V4_4_4)))
-          // 1) t01
-          // java.lang.AssertionError: Illegal exception is thrown: java.lang.IllegalAccessException: field is marked 'final', field: longPublicField, class: class com.google.jctf.test.lib.java.lang.reflect.Field.TestFinalPrimitiveField
-
           .put("lang.reflect.Field.setLongLjava_lang_ObjectJ.Field_setLong_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.setLongLjava_lang_ObjectJ.Field_setLong_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Exception is not thrown: field: longPublicField, object: com.google.jctf.test.lib.java.lang.reflect.Field.TestStaticFinalPrimitiveField@5c13759
-
           .put("lang.reflect.Field.setDoubleLjava_lang_ObjectD.Field_setDouble_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Exception is not thrown: field: doublePublicField, object: com.google.jctf.test.lib.java.lang.reflect.Field.TestStaticFinalPrimitiveField@4dd95e2
-
-          .put("lang.reflect.Field.setShortLjava_lang_ObjectS.Field_setShort_A02",
+          .put(
+              "lang.reflect.Field.setShortLjava_lang_ObjectS.Field_setShort_A02",
               match(runtimesUpTo(Version.V4_4_4)))
-          // 1) t01
-          // java.lang.AssertionError: Illegal exception is thrown: java.lang.IllegalAccessException: field is marked 'final', field: shortPublicField, class: class com.google.jctf.test.lib.java.lang.reflect.Field.TestFinalPrimitiveField
-
           .put("lang.reflect.Field.setShortLjava_lang_ObjectS.Field_setShort_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.getLjava_lang_Object.Field_get_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.getLongLjava_lang_Object.Field_getLong_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
-          .put("lang.reflect.Field.setLjava_lang_ObjectLjava_lang_Object.Field_set_A02",
+          .put(
+              "lang.reflect.Field.setLjava_lang_ObjectLjava_lang_Object.Field_set_A02",
               match(runtimesUpTo(Version.V4_4_4)))
-          // 1) t01
-          // java.lang.AssertionError: Illegal exception is thrown: java.lang.IllegalAccessException: field is marked 'final', field: bytePublicField, class: class com.google.jctf.test.lib.java.lang.reflect.Field.TestFinalPrimitiveField
-
           .put("lang.reflect.Field.setLjava_lang_ObjectLjava_lang_Object.Field_set_A05", any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.ExceptionInInitializerError> but was<java.lang.NullPointerException>
-          // Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-          // 2) t02
-          // java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.available()' on a null object reference
-
           .put("lang.reflect.Field.setLjava_lang_ObjectLjava_lang_Object.Field_set_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Exception is not thrown: field: shortPublicField, object: com.google.jctf.test.lib.java.lang.reflect.Field.TestStaticFinalPrimitiveField@bf7ecde
-
-          .put("lang.reflect.Constructor.newInstance_Ljava_lang_Object.Constructor_newInstance_A06",
+          .put(
+              "lang.reflect.Constructor.newInstance_Ljava_lang_Object.Constructor_newInstance_A06",
               any())
-          // 1) t05
-          // java.lang.AssertionError: Expected exception: java.lang.IllegalArgumentException
-
           .put("lang.reflect.Constructor.isSynthetic.Constructor_isSynthetic_A01", any())
-          // 1) t02
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Constructor.SyntheticConstructorTestData
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Constructor.SyntheticConstructorTestData" on path: DexPathList[[dex file "/tmp/junit1480674965150331230/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put(
               "lang.reflect.Constructor.getGenericExceptionTypes.Constructor_getGenericExceptionTypes_A03",
               any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.TypeNotPresentException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Constructor.MissingExceptionTypeConstructor
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Constructor.MissingExceptionTypeConstructor" on path: DexPathList[[dex file "/tmp/junit4009528913069484861/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put(
               "lang.reflect.Constructor.getGenericExceptionTypes.Constructor_getGenericExceptionTypes_A02",
               any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.GenericSignatureFormatError> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Constructor.BadSignatureConstructor
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Constructor.BadSignatureConstructor" on path: DexPathList[[dex file "/tmp/junit1321049867835327167/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put(
               "lang.reflect.Constructor.getGenericExceptionTypes.Constructor_getGenericExceptionTypes_A01",
               any())
-          // 1) t03
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Constructor.getGenericExceptionTypes.Constructor_getGenericExceptionTypes_A01$Third
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Constructor.getGenericExceptionTypes.Constructor_getGenericExceptionTypes_A01$Third" on path: DexPathList[[dex file "/tmp/junit8133550864036959380/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-          // 2) t04
-          // java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Constructor.getGenericExceptionTypes.Constructor_getGenericExceptionTypes_A01$Fourth
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Constructor.getGenericExceptionTypes.Constructor_getGenericExceptionTypes_A01$Fourth" on path: DexPathList[[dex file "/tmp/junit8133550864036959380/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put(
               "lang.reflect.Constructor.getAnnotationLjava_lang_Class.Constructor_getAnnotation_A01",
               any())
-          // 1) t02
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-          // 2) t03
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-
           .put(
               "lang.reflect.Constructor.getDeclaredAnnotations.Constructor_getDeclaredAnnotations_A01",
               any())
-          // 1) t03
-          // java.lang.AssertionError: expected:<0> but was:<1>
-
           .put(
               "lang.reflect.Constructor.getGenericExceptionTypes.Constructor_getGenericExceptionTypes_A04",
               any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.MalformedParameterizedTypeException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Constructor.MalformedExceptionTypeConstructor
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Constructor.MalformedExceptionTypeConstructor" on path: DexPathList[[dex file "/tmp/junit376255323471566097/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put(
               "lang.reflect.InvocationTargetException.serialization.InvocationTargetException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/reflect/InvocationTargetException/serialization/InvocationTargetException_serialization_A01.golden.0.ser
-
           .put("lang.reflect.Constructor.toGenericString.Constructor_toGenericString_A01", any())
-          // 1) t04
-          // org.junit.ComparisonFailure: expected:<..._toGenericString_A01[.com.google.jctf.test.lib.java.lang.reflect.Constructor.toGenericString.Constructor_toGenericString_A01]$GenericClass<java.l...> but was:<..._toGenericString_A01[]$GenericClass<java.l...>
-
-          .put("lang.reflect.Constructor.getTypeParameters.Constructor_getTypeParameters_A02",
-              any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.GenericSignatureFormatError> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Constructor.BadSignatureConstructor
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Constructor.BadSignatureConstructor" on path: DexPathList[[dex file "/tmp/junit7135581864552916266/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
+          .put(
+              "lang.reflect.Constructor.getTypeParameters.Constructor_getTypeParameters_A02", any())
           .put(
               "lang.reflect.Constructor.getGenericParameterTypes.Constructor_getGenericParameterTypes_A03",
               any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.TypeNotPresentException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Constructor.MissingParameterTypeConstructor
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Constructor.MissingParameterTypeConstructor" on path: DexPathList[[dex file "/tmp/junit1307676357171999053/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put(
               "lang.reflect.Constructor.getGenericParameterTypes.Constructor_getGenericParameterTypes_A04",
               any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.MalformedParameterizedTypeException> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Constructor.MalformedParameterTypeConstructor
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Constructor.MalformedParameterTypeConstructor" on path: DexPathList[[dex file "/tmp/junit4591001470670613975/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
           .put(
               "lang.reflect.Constructor.getGenericParameterTypes.Constructor_getGenericParameterTypes_A02",
               any())
-          // 1) t01
-          // java.lang.Exception: Unexpected exception, expected<java.lang.reflect.GenericSignatureFormatError> but was<java.lang.ClassNotFoundException>
-          // Caused by: java.lang.ClassNotFoundException: com.google.jctf.test.lib.java.lang.reflect.Constructor.BadSignatureConstructor
-          // Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.jctf.test.lib.java.lang.reflect.Constructor.BadSignatureConstructor" on path: DexPathList[[dex file "/tmp/junit4070388768283971494/classes.dex"],nativeLibraryDirectories=[r8/tools/linux/art/bin/../lib, r8/tools/linux/art/bin/../lib]]
-
-          .put("lang.reflect.AccessibleObject.setAccessibleZ.AccessibleObject_setAccessible_A03",
+          .put(
+              "lang.reflect.AccessibleObject.setAccessibleZ.AccessibleObject_setAccessible_A03",
               any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put(
               "lang.reflect.UndeclaredThrowableException.serialization.UndeclaredThrowableException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/reflect/UndeclaredThrowableException/serialization/UndeclaredThrowableException_serialization_A01.golden.0.ser
-
-          .put("lang.reflect.AccessibleObject.setAccessibleZ.AccessibleObject_setAccessible_A02",
+          .put(
+              "lang.reflect.AccessibleObject.setAccessibleZ.AccessibleObject_setAccessible_A02",
               any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put(
               "lang.reflect.AccessibleObject.setAccessible_Ljava_lang_reflect_AccessibleObjectZ.AccessibleObject_setAccessible_A03",
               any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put(
               "lang.reflect.AccessibleObject.isAnnotationPresentLjava_lang_Class.AccessibleObject_isAnnotationPresent_A01",
               any())
-          // 1) t03
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-          // 2) t04
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-
           .put(
               "lang.reflect.AccessibleObject.setAccessible_Ljava_lang_reflect_AccessibleObjectZ.AccessibleObject_setAccessible_A02",
               any())
-          // 1) t01
-          // java.lang.SecurityException
-
-          .put("lang.reflect.AccessibleObject.getAnnotations.AccessibleObject_getAnnotations_A01",
+          .put(
+              "lang.reflect.AccessibleObject.getAnnotations.AccessibleObject_getAnnotations_A01",
               any())
-          // 1) t04
-          // java.lang.AssertionError: expected:<0> but was:<1>
-          // 2) t06
-          // java.lang.AssertionError: Misconfigured test
-
           .put(
               "lang.reflect.AccessibleObject.getDeclaredAnnotations.AccessibleObject_getDeclaredAnnotations_A01",
               any())
-          // 1) t03
-          // java.lang.AssertionError: expected:<0> but was:<1>
-
           .put(
               "lang.reflect.AccessibleObject.getAnnotationLjava_lang_Class.AccessibleObject_getAnnotation_A01",
               any())
-          // 1) t02
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-          // 2) t03
-          // java.lang.AssertionError: Misconfiguration: MissingAntn should not be accessible
-
-          .put("lang.IllegalAccessException.serialization.IllegalAccessException_serialization_A01",
+          .put(
+              "lang.IllegalAccessException.serialization.IllegalAccessException_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/IllegalAccessException/serialization/IllegalAccessException_serialization_A01.golden.0.ser
-
           .put("lang.Character.getTypeI.Character_getType_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<22> but was:<28>
-
           .put("lang.Character.isDigitI.Character_isDigit_A01", any())
-          // 1) t02
-          // java.lang.AssertionError
-
           .put("lang.Character.getTypeC.Character_getType_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<22> but was:<28>
-
           .put("lang.Character.serialization.Character_serialization_A01", any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/lang/Character/serialization/Character_serialization_A01.golden.0.ser
-
           .put("lang.Character.isDigitC.Character_isDigit_A01", any())
-          // 1) t01
-          // java.lang.AssertionError
-
           .put("lang.Character.digitCI.Character_digit_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<1> but was:<-1>
-
           .put("lang.Character.digitII.Character_digit_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<1> but was:<-1>
-
           .put("lang.Character.isLowerCaseC.Character_isLowerCase_A01", any())
-          // 1) t01
-          // java.lang.AssertionError
-
-          .put("lang.Character.isSpaceCharC.Character_isSpaceChar_A01",
+          .put(
+              "lang.Character.isSpaceCharC.Character_isSpaceChar_A01",
               match(runtimes(Version.V4_0_4)))
-          // 1) t01(com.google.jctf.test.lib.java.lang.Character.isSpaceCharC.Character_isSpaceChar_A01)
-          // java.lang.AssertionError
-
-          .put("lang.Character.isSpaceCharI.Character_isSpaceChar_A01",
+          .put(
+              "lang.Character.isSpaceCharI.Character_isSpaceChar_A01",
               match(runtimes(Version.V4_0_4)))
-          // 1) t01(com.google.jctf.test.lib.java.lang.Character.isSpaceCharI.Character_isSpaceChar_A01)
-          // java.lang.AssertionError
-
-          .put("lang.Character.isWhitespaceC.Character_isWhitespace_A01",
+          .put(
+              "lang.Character.isWhitespaceC.Character_isWhitespace_A01",
               match(runtimes(Version.V4_0_4)))
-          // 1) t01(com.google.jctf.test.lib.java.lang.Character.isSpaceCharC.Character_isSpaceChar_A01)
-          // java.lang.AssertionError
-
-          .put("lang.Character.isWhitespaceI.Character_isWhitespace_A01",
+          .put(
+              "lang.Character.isWhitespaceI.Character_isWhitespace_A01",
               match(runtimes(Version.V4_0_4)))
-          // 1) t01(com.google.jctf.test.lib.java.lang.Character.isSpaceCharI.Character_isSpaceChar_A01)
-          // java.lang.AssertionError
-
           .put("lang.Character.getDirectionalityI.Character_getDirectionality_A01", any())
-          // 1) t01
-          // java.lang.AssertionError
-
-          .put("lang.Character.UnicodeBlock.ofC.UnicodeBlock_of_A01",
+          .put(
+              "lang.Character.UnicodeBlock.ofC.UnicodeBlock_of_A01",
               match(runtimesFrom(Version.V4_4_4)))
-          // 1) t02
-          // java.lang.AssertionError: expected null, but was:<ARABIC_SUPPLEMENT>
-
-          .put("lang.Character.UnicodeBlock.ofI.UnicodeBlock_of_A01",
+          .put(
+              "lang.Character.UnicodeBlock.ofI.UnicodeBlock_of_A01",
               match(runtimesFrom(Version.V4_4_4)))
-          // 1) t02
-          // java.lang.AssertionError: expected null, but was:<ANCIENT_GREEK_NUMBERS>
-
           .put("lang.Character.isLowerCaseI.Character_isLowerCase_A01", any())
-          // 1) t01
-          // java.lang.AssertionError
-
           .put("lang.Process.waitFor.Process_waitFor_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<0> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError: expected:<127> but was:<1>
-
           .put("lang.System.getProperties.System_getProperties_A01", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.Process.getErrorStream.Process_getErrorStream_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<0> but was:<69>
-
           .put("lang.Character.getDirectionalityC.Character_getDirectionality_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Char #0
-
           .put("lang.Process.exitValue.Process_exitValue_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<0> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError: expected:<127> but was:<1>
-
           .put("lang.System.loadLjava_lang_String.System_load_A01", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.Process.getInputStream.Process_getInputStream_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<0> but was:<-1>
-
           .put("lang.System.loadLibraryLjava_lang_String.System_loadLibrary_A01", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put(
               "lang.System.setSecurityManagerLjava_lang_SecurityManager.System_setSecurityManager_A02",
               any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.System.runFinalizersOnExitZ.System_runFinalizersOnExit_A01", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.System.getenvLjava_lang_String.System_getenv_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Error: Could not find or load main class com.google.jctf.test.lib.java.lang.System.getenvLjava_lang_String.System_getenv_A01
-          // expected:<0> but was:<1>
-
           .put("lang.System.getenv.System_getenv_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: Error: Could not find or load main class com.google.jctf.test.lib.java.lang.System.getenv.System_getenv_A01
-          // expected:<0> but was:<1>
-
-          .put("lang.System.getPropertyLjava_lang_StringLjava_lang_String.System_getProperty_A01",
+          .put(
+              "lang.System.getPropertyLjava_lang_StringLjava_lang_String.System_getProperty_A01",
               any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.System.exitI.System_exit_A01", any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<88> but was:<1>
-
           .put(
               "util.concurrent.ArrayBlockingQueue.serialization.ArrayBlockingQueue_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/util/concurrent/ArrayBlockingQueue/serialization/ArrayBlockingQueue_serialization_A01.golden.0.ser
-
-          .put("lang.System.arraycopyLjava_lang_ObjectILjava_lang_ObjectII.System_arraycopy_A04",
+          .put(
+              "lang.System.arraycopyLjava_lang_ObjectILjava_lang_ObjectII.System_arraycopy_A04",
               any())
-          // 1) t05
-          // java.lang.ArrayIndexOutOfBoundsException: src.length=3 srcPos=0 dst.length=1 dstPos=1 length=2
-          // 2) t06
-          // java.lang.ArrayIndexOutOfBoundsException: src.length=1 srcPos=0 dst.length=3 dstPos=1 length=2
-          // 3) t07
-          // java.lang.ArrayIndexOutOfBoundsException: src.length=1 srcPos=0 dst.length=1 dstPos=1 length=100
-
           .put("lang.System.setPropertiesLjava_util_Properties.System_setProperties_A02", any())
-          // 1) t01
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.System.setPropertiesLjava_util_Properties.System_setProperties_A02
-          // expected:<0> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError: Bad exit code of spawned java proccess, err=Error: Could not find or load main class com.google.jctf.test.lib.java.lang.System.setPropertiesLjava_util_Properties.System_setProperties_A02
-          // expected:<0> but was:<1>
-
           .put("lang.System.clearPropertyLjava_lang_String.System_clearProperty_A02", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put("lang.System.getPropertyLjava_lang_String.System_getProperty_A01", any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put(
               "util.concurrent.LinkedBlockingQueue.serialization.LinkedBlockingQueue_serialization_A01",
               any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/util/concurrent/LinkedBlockingQueue/serialization/LinkedBlockingQueue_serialization_A01.golden.0.ser
-
           .put(
               "util.concurrent.LinkedBlockingDeque.serialization.LinkedBlockingDeque_serialization_A01",
               any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/util/concurrent/LinkedBlockingDeque/serialization/LinkedBlockingDeque_serialization_A01.golden.0.ser
-
           .put(
               "util.concurrent.ConcurrentLinkedQueue.serialization.ConcurrentLinkedQueue_serialization_A01",
               any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/util/concurrent/ConcurrentLinkedQueue/serialization/ConcurrentLinkedQueue_serialization_A01.golden.0.ser
-
-          .put("util.concurrent.SynchronousQueue.serialization.SynchronousQueue_serialization_A01",
+          .put(
+              "util.concurrent.SynchronousQueue.serialization.SynchronousQueue_serialization_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-          // 2) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/util/concurrent/SynchronousQueue/serialization/SynchronousQueue_serialization_A01.golden.0.ser
-
           .put(
               "util.concurrent.CopyOnWriteArrayList.serialization.CopyOnWriteArrayList_serialization_A01",
               any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/util/concurrent/CopyOnWriteArrayList/serialization/CopyOnWriteArrayList_serialization_A01.golden.0.ser
-
-          .put("util.concurrent.CopyOnWriteArrayList.subListII.CopyOnWriteArrayList_subList_A01",
+          .put(
+              "util.concurrent.CopyOnWriteArrayList.subListII.CopyOnWriteArrayList_subList_A01",
               any())
-          // 1) t03
-          // java.util.ConcurrentModificationException
-
           .put(
               "util.concurrent.ConcurrentHashMap.serialization.ConcurrentHashMap_serialization_A01",
               match(runtimesFrom(Version.V5_1_1)))
-          // 1) t01
-          // java.lang.AssertionError: Unable to configure default providers
-
           .put("util.concurrent.ConcurrentHashMap.keySet.ConcurrentHashMap_keySet_A01", any())
-          // 1) t01
-          // java.lang.NoSuchMethodError: No virtual method keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView; in class Ljava/util/concurrent/ConcurrentHashMap; or its super classes (declaration of 'java.util.concurrent.ConcurrentHashMap' appears in r8/tools/linux/art/framework/core-oj-hostdex.jar)
-          // 2) t02
-          // java.lang.NoSuchMethodError: No virtual method keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView; in class Ljava/util/concurrent/ConcurrentHashMap; or its super classes (declaration of 'java.util.concurrent.ConcurrentHashMap' appears in r8/tools/linux/art/framework/core-oj-hostdex.jar)
-
           .put(
               "util.concurrent.Executors.privilegedThreadFactory.Executors_privilegedThreadFactory_A01",
               any())
-          // 1) t02
-          // java.lang.AssertionError: Unexpected exception: java.lang.AssertionError: no AccessControlException
-          // 2) t02
-          // java.lang.AssertionError: java.lang.AssertionError: no AccessControlException
-          // Caused by: java.lang.AssertionError: no AccessControlException
-          // 3) t03
-          // java.lang.AssertionError: Unexpected exception: java.lang.AssertionError: no AccessControlException
-          // 4) t03
-          // java.lang.AssertionError: java.lang.AssertionError: no AccessControlException
-          // Caused by: java.lang.AssertionError: no AccessControlException
-
           .put(
               "util.concurrent.Executors.privilegedCallableLjava_util_concurrent_Callable.Executors_privilegedCallable_A01",
               any())
-          // 1) t01
-          // java.lang.SecurityException
-
           .put(
               "util.concurrent.CopyOnWriteArraySet.serialization.CopyOnWriteArraySet_serialization_A01",
               any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/util/concurrent/CopyOnWriteArraySet/serialization/CopyOnWriteArraySet_serialization_A01.golden.0.ser
-
           .put(
               "util.concurrent.Executors.privilegedCallableUsingCurrentClassLoaderLjava_util_concurrent_Callable.Executors_privilegedCallableUsingCurrentClassLoader_A01",
               any())
-          // 1) t02
-          // java.lang.SecurityException
-
           .put(
               "util.concurrent.PriorityBlockingQueue.ConstructorLjava_util_Collection.PriorityBlockingQueue_Constructor_A01",
               any())
-          // 1) t03
-          // java.lang.AssertionError: expected same:<com.google.jctf.test.lib.java.util.concurrent.PriorityBlockingQueue.MyReverseComparator@735f1e1> was not:<null>
-
           .put(
               "util.concurrent.PriorityBlockingQueue.serialization.PriorityBlockingQueue_serialization_A01",
               any())
-          // 1) t02
-          // java.lang.AssertionError: Failed to load serialization resource file: serialization/com/google/jctf/test/lib/java/util/concurrent/PriorityBlockingQueue/serialization/PriorityBlockingQueue_serialization_A01.golden.0.ser
-
-          .put("lang.ThreadGroup.destroy.ThreadGroup_destroy_A01",
+          .put(
+              "lang.ThreadGroup.destroy.ThreadGroup_destroy_A01",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t02
-          // java.lang.IllegalThreadStateException: Thread group still contains threads: Test group
-          // 2) t04
-          // java.lang.IllegalThreadStateException: Thread group still contains threads:  Depth = 2, N = 0
-          // 3) t05
-          // java.lang.AssertionError: Destroyed thread group was not finalized
-
-          .put("lang.Thread.start.Thread_start_A01",
-              match(runtimes(Version.V7_0_0)))
-          // 1) t01(com.google.jctf.test.lib.java.lang.Thread.start.Thread_start_A01)
-          // java.lang.AssertionError: no IllegalThreadStateException 1
-
-          .put("lang.String.getBytesLjava_lang_String.String_getBytes_A02",
+          .put("lang.Thread.start.Thread_start_A01", match(runtimes(Version.V7_0_0)))
+          .put(
+              "lang.String.getBytesLjava_lang_String.String_getBytes_A02",
               match(runtimesUpTo(Version.V7_0_0)))
-          // 1) t01(com.google.jctf.test.lib.java.lang.String.getBytesLjava_lang_String.String_getBytes_A02)
-          // java.lang.Exception: Unexpected exception, expected<java.lang.NullPointerException> but was<java.io.UnsupportedEncodingException>
-
           .put(
               "util.concurrent.CopyOnWriteArrayList.lastIndexOfLjava_lang_ObjectI.CopyOnWriteArrayList_lastIndexOf_A02",
               match(runtimesUpTo(Version.V7_0_0)))
-          // java.lang.AssertionError: Expected exception: java.lang.IndexOutOfBoundsException
-
           .put(
               "util.concurrent.CopyOnWriteArrayList.lastIndexOfLjava_lang_ObjectI.CopyOnWriteArrayList_lastIndexOf_A01",
               match(runtimesUpTo(Version.V7_0_0)))
-          // 1) t01(com.google.jctf.test.lib.java.util.concurrent.CopyOnWriteArrayList.lastIndexOfLjava_lang_ObjectI.CopyOnWriteArrayList_lastIndexOf_A01)
-          // java.lang.AssertionError: expected:<3> but was:<1>
-          // 2) t02(com.google.jctf.test.lib.java.util.concurrent.CopyOnWriteArrayList.lastIndexOfLjava_lang_ObjectI.CopyOnWriteArrayList_lastIndexOf_A01)
-          // java.lang.ArrayIndexOutOfBoundsException: length=3; index=2147483647
-
-          .put("lang.StringBuffer.getCharsII_CI.StringBuffer_getChars_A03",
+          .put(
+              "lang.StringBuffer.getCharsII_CI.StringBuffer_getChars_A03",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t03
-          // java.lang.NullPointerException: dst == null
-
-          .put("lang.StringBuffer.appendF.StringBuffer_append_A01",
+          .put(
+              "lang.StringBuffer.appendF.StringBuffer_append_A01",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t02
-          // java.lang.AssertionError: Buffer is invalid length after append expected:<26> but was:<25>
-
-          .put("lang.StringBuffer.insertI_CII.StringBuffer_insert_A02",
+          .put(
+              "lang.StringBuffer.insertI_CII.StringBuffer_insert_A02",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.NullPointerException: Attempt to get length of null array
-
-          .put("lang.StrictMath.scalbDI.StrictMath_scalb_A03",
-              match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.AssertionError: Wrong result provided for argument: -1.7976931348623157E308 scaleFactor: 2147483647 expected:<-Infinity> but was:<-0.0>
-
-          .put("lang.StrictMath.scalbDI.StrictMath_scalb_A01",
-              match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t03
-          // java.lang.AssertionError: Wrong result provided for argument: -2.2250738585072014E-308 scaleFactor: -2147483647 expected:<-0.0> but was:<-Infinity>
-          // 2) t04
-          // java.lang.AssertionError: Wrong result provided for argument: 1.7976931348623157E308 scaleFactor: -2046 expected:<2.2250738585072014E-308> but was:<2.225073858507201E-308>
-
-          .put("lang.StrictMath.scalbFI.StrictMath_scalb_A03",
-              match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.AssertionError: Wrong result provided for argument: -3.4028235E38 scaleFactor: 2147483647 expected:<-Infinity> but was:<-0.0>
-
-          .put("lang.StrictMath.scalbFI.StrictMath_scalb_A01",
-              match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t02
-          // java.lang.AssertionError: Wrong result provided for argument: 3.4028235E38 scaleFactor: -254 expected:<1.1754943508222875E-38> but was:<1.1754942106924411E-38>
-          // 2) t03
-          // java.lang.AssertionError: Wrong result provided for argument: -1.1754944E-38 scaleFactor: -2147483647 expected:<-0.0> but was:<-Infinity>
-
+          .put("lang.StrictMath.scalbDI.StrictMath_scalb_A03", match(runtimesUpTo(Version.V6_0_1)))
+          .put("lang.StrictMath.scalbDI.StrictMath_scalb_A01", match(runtimesUpTo(Version.V6_0_1)))
+          .put("lang.StrictMath.scalbFI.StrictMath_scalb_A03", match(runtimesUpTo(Version.V6_0_1)))
+          .put("lang.StrictMath.scalbFI.StrictMath_scalb_A01", match(runtimesUpTo(Version.V6_0_1)))
           .put(
               "lang.Thread.ConstructorLjava_lang_ThreadGroupLjava_lang_RunnableLjava_lang_StringJ.Thread_Constructor_A07",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t02
-          // java.lang.AssertionError: wrong daemonism expected:<true> but was:<false>
-
           .put(
               "lang.Thread.ConstructorLjava_lang_ThreadGroupLjava_lang_RunnableLjava_lang_String.Thread_Constructor_A07",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t02
-          // java.lang.AssertionError: wrong daemonism expected:<true> but was:<false>
-
-          .put("lang.Thread.toString.Thread_toString_A01",
+          .put("lang.Thread.toString.Thread_toString_A01", match(runtimesUpTo(Version.V6_0_1)))
+          .put("lang.Thread.start.Thread_start_A02", match(runtimesUpTo(Version.V6_0_1)))
+          .put(
+              "lang.Thread.setPriorityI.Thread_setPriority_A01",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t02
-          // java.lang.AssertionError
-
-          .put("lang.Thread.start.Thread_start_A02",
+          .put(
+              "lang.ClassLoader.ConstructorLjava_lang_ClassLoader.ClassLoader_Constructor_A01",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.IllegalThreadStateException: Thread group still contains threads: start
-
-          .put("lang.Thread.setPriorityI.Thread_setPriority_A01",
+          .put(
+              "lang.Enum.compareToLjava_lang_Enum.Enum_compareTo_A03",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t02
-          // java.lang.AssertionError: expected:<5> but was:<10>
-
-          .put("lang.ClassLoader.ConstructorLjava_lang_ClassLoader.ClassLoader_Constructor_A01",
+          .put("lang.Enum.hashCode.Enum_hashCode_A01", match(runtimesUpTo(Version.V6_0_1)))
+          .put(
+              "lang.StackTraceElement.hashCode.StackTraceElement_hashCode_A01",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.NullPointerException: parentLoader == null && !nullAllowed
-          // 2) t03
-          // java.lang.NullPointerException: parentLoader == null && !nullAllowed
-
-          .put("lang.Enum.compareToLjava_lang_Enum.Enum_compareTo_A03",
+          .put(
+              "lang.ProcessBuilder.environment.ProcessBuilder_environment_A01",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.ClassCastException
-
-          .put("lang.Enum.hashCode.Enum_hashCode_A01",
+          .put(
+              "lang.ProcessBuilder.environment.ProcessBuilder_environment_A03",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t02
-          // java.lang.AssertionError
-
-          .put("lang.StackTraceElement.hashCode.StackTraceElement_hashCode_A01",
+          .put("lang.Float.toStringF.Float_toString_A04", match(runtimesUpTo(Version.V6_0_1)))
+          .put("lang.Float.toStringF.Float_toString_A03", match(runtimesUpTo(Version.V6_0_1)))
+          .put(
+              "lang.ThreadGroup.getMaxPriority.ThreadGroup_getMaxPriority_A01",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t02
-          // java.lang.AssertionError
-
-          .put("lang.ProcessBuilder.environment.ProcessBuilder_environment_A01",
-              match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.AssertionError: should throw ClassCastException.
-
-          .put("lang.ProcessBuilder.environment.ProcessBuilder_environment_A03",
-              match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.AssertionError: should throw ClassCastException.
-
-          .put("lang.Float.toStringF.Float_toString_A04",
-              match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t02
-          // org.junit.ComparisonFailure: Invalid string produced for bits: 4efffffa expected:<2.147482[88]E9> but was:<2.147482[9]E9>
-
-          .put("lang.Float.toStringF.Float_toString_A03",
-              match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t02
-          // org.junit.ComparisonFailure: expected:<-1.175494[35]E-38> but was:<-1.175494[4]E-38>
-
-          .put("lang.ThreadGroup.getMaxPriority.ThreadGroup_getMaxPriority_A01",
-              match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.AssertionError: New value should be the same as we set expected:<2> but was:<1>
-
           .put(
               "lang.ThreadGroup.uncaughtExceptionLjava_lang_ThreadLjava_lang_Throwable.ThreadGroup_uncaughtException_A02",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t05
-          // java.lang.AssertionError: Non-informative exception info: java.lang.RuntimeException
-
-          .put("lang.ThreadGroup.list.ThreadGroup_list_A01",
+          .put("lang.ThreadGroup.list.ThreadGroup_list_A01", match(runtimesUpTo(Version.V6_0_1)))
+          .put(
+              "lang.ThreadGroup.setMaxPriorityI.ThreadGroup_setMaxPriority_A01",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t04
-          // java.lang.IllegalThreadStateException: Thread group still contains threads: Test group(list)
-
-          .put("lang.ThreadGroup.setMaxPriorityI.ThreadGroup_setMaxPriority_A01",
+          .put(
+              "lang.ThreadGroup.setMaxPriorityI.ThreadGroup_setMaxPriority_A04",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.IllegalThreadStateException: Thread group still contains threads: Test root(setMaxPriority)
-
-          .put("lang.ThreadGroup.setMaxPriorityI.ThreadGroup_setMaxPriority_A04",
+          .put(
+              "lang.ThreadGroup.toString.ThreadGroup_toString_A01",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.AssertionError: New value should be the same as we set expected:<2> but was:<1>
-          // 2) t02
-          // java.lang.AssertionError: expected:<4> but was:<1>
-          // 3) t03
-          // java.lang.AssertionError: expected:<7> but was:<1>
-
-          .put("lang.ThreadGroup.toString.ThreadGroup_toString_A01",
+          .put(
+              "lang.Class.getFieldLjava_lang_String.Class_getField_A01",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // org.junit.ComparisonFailure: toString does not follow the RI expected:<... group(toString),max[pri]=10]> but was:<... group(toString),max[Priority]=10]>
-
-          .put("lang.Class.getFieldLjava_lang_String.Class_getField_A01",
+          .put("lang.String.replaceCC.String_replace_A01", match(runtimesUpTo(Version.V6_0_1)))
+          .put(
+              "lang.Package.isCompatibleWithLjava_lang_String.Package_isCompatibleWith_A02",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t04
-          // java.lang.AssertionError: expected:<interface com.google.jctf.test.lib.java.lang.Class.getFieldLjava_lang_String.Class_getField_A01$I1> but was:<class com.google.jctf.test.lib.java.lang.Class.getFieldLjava_lang_String.Class_getField_A01$S1>
-
-          .put("lang.String.replaceCC.String_replace_A01",
+          .put(
+              "lang.StringBuilder.appendF.StringBuilder_append_A01",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t04
-          // java.lang.AssertionError: expected same:<aaaaaa> was not:<aaaaaa>
-
-          .put("lang.Package.isCompatibleWithLjava_lang_String.Package_isCompatibleWith_A02",
+          .put(
+              "lang.StringBuilder.insertIF.StringBuilder_insert_A01",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.AssertionError: NumberFormatException isn't thrown for desired . and current 1.0
-          // 2) t03
-          // java.lang.AssertionError: NumberFormatException isn't thrown for desired 1.0 and current .
-
-          .put("lang.StringBuilder.appendF.StringBuilder_append_A01",
-              match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.AssertionError: Invalid length of created builder expected:<14> but was:<13>
-
-          .put("lang.StringBuilder.insertIF.StringBuilder_insert_A01",
-              match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.AssertionError: Invalid length of created builder expected:<14> but was:<13>
-
           .put(
               "lang.reflect.AccessibleObject.setAccessibleZ.AccessibleObject_setAccessible_A04",
               match(runtimesUpTo(Version.V4_4_4)))
-          // 1) t01
-          // java.lang.AssertionError: SecurityException expected.
-
           .put(
               "lang.reflect.AccessibleObject.setAccessible_Ljava_lang_reflect_AccessibleObjectZ.AccessibleObject_setAccessible_A04",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.AssertionError: SecurityException expected.
-          // 2) t02
-          // java.lang.AssertionError: SecurityException expected.
-          // 3) t03
-          // java.lang.AssertionError: SecurityException expected.
-          // 4) t04
-          // java.lang.AssertionError: SecurityException expected.
-
-          .put("lang.Character.UnicodeBlock.forName_java_lang_String.UnicodeBlock_forName_A03",
+          .put(
+              "lang.Character.UnicodeBlock.forName_java_lang_String.UnicodeBlock_forName_A03",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t01
-          // java.lang.AssertionError: Expected exception: java.lang.IllegalArgumentException
-
-          .put("lang.System.loadLjava_lang_String.System_load_A02",
+          .put(
+              "lang.System.loadLjava_lang_String.System_load_A02",
               match(runtimesUpTo(Version.V6_0_1)))
-          // 1) t03
-          // java.lang.AssertionError: Expected exception: java.lang.UnsatisfiedLinkError
-
           .put("lang.Math.hypotDD.Math_hypot_A04", match(runtimesUpTo(Version.V5_1_1)))
-          // 1) t04
-          // java.lang.AssertionError
-
-          .put("math.BigInteger.probablePrimeIjava_util_Random.BigInteger_probablePrime_A01",
+          .put(
+              "math.BigInteger.probablePrimeIjava_util_Random.BigInteger_probablePrime_A01",
               match(runtimes(Version.V4_0_4)))
-          // 1) t01(com.google.jctf.test.lib.java.math.BigInteger.probablePrimeIjava_util_Random.BigInteger_probablePrime_A01)
-          // java.lang.AssertionError: expected:<2> but was:<16>
-
-          .put("lang.Math.sqrtD.Math_sqrt_A01",
+          .put("lang.Math.sqrtD.Math_sqrt_A01", match(runtimes(Version.V4_0_4)))
+          .put("lang.StrictMath.cbrtD.StrictMath_cbrt_A01", match(runtimes(Version.V4_0_4)))
+          .put("lang.StrictMath.log10D.StrictMath_log10_A01", match(runtimes(Version.V4_0_4)))
+          .put("lang.StrictMath.powDD.StrictMath_pow_A01", match(runtimes(Version.V4_0_4)))
+          .put("lang.String.indexOfII.String_indexOf_A01", match(runtimes(Version.V4_0_4)))
+          .put(
+              "lang.String.indexOfLjava_lang_StringI.String_indexOf_A01",
               match(runtimes(Version.V4_0_4)))
-          // 1) t03(com.google.jctf.test.lib.java.lang.Math.sqrtD.Math_sqrt_A01)
-          // java.lang.AssertionError: expected:<1.3407807929942596E154> but was:<1.3407807929942597E154>
-
-          .put("lang.StrictMath.cbrtD.StrictMath_cbrt_A01",
+          .put(
+              "lang.reflect.Array.getByteLjava_lang_ObjectI.Array_getByte_A03",
               match(runtimes(Version.V4_0_4)))
-          // 1) t03(com.google.jctf.test.lib.java.lang.StrictMath.cbrtD.StrictMath_cbrt_A01)
-          // java.lang.AssertionError: Bad value returned for argument: 4.459999999999949 expected:<1.6460573143158361> but was:<1.6460573143158364>
-
-          .put("lang.StrictMath.log10D.StrictMath_log10_A01",
+          .put(
+              "lang.reflect.Array.getDoubleLjava_lang_ObjectI.Array_getDouble_A01",
               match(runtimes(Version.V4_0_4)))
-          // 1) t04(com.google.jctf.test.lib.java.lang.StrictMath.log10D.StrictMath_log10_A01)
-          // java.lang.AssertionError: Bad value returned for argument: 3.5799999999999677 expected:<0.5538830266438705> but was:<0.5538830266438703>
-
-          .put("lang.StrictMath.powDD.StrictMath_pow_A01",
+          .put(
+              "lang.reflect.Array.getDoubleLjava_lang_ObjectI.Array_getDouble_A03",
               match(runtimes(Version.V4_0_4)))
-          // t01(com.google.jctf.test.lib.java.lang.StrictMath.powDD.StrictMath_pow_A01)
-          // java.lang.AssertionError: Bad value returned for arguments: 2.225073858507201E-308 -0.5 expected:<6.7039039649713E153> but was:<6.703903964971299E153>
-
-          .put("lang.String.indexOfII.String_indexOf_A01",
+          .put(
+              "lang.reflect.Array.getFloatLjava_lang_ObjectI.Array_getFloat_A01",
               match(runtimes(Version.V4_0_4)))
-          // 1) t03(com.google.jctf.test.lib.java.lang.String.indexOfII.String_indexOf_A01)
-          // java.lang.AssertionError: expected:<-1> but was:<0>
-
-          .put("lang.String.indexOfLjava_lang_StringI.String_indexOf_A01",
+          .put(
+              "lang.reflect.Array.getFloatLjava_lang_ObjectI.Array_getFloat_A03",
               match(runtimes(Version.V4_0_4)))
-          // 1) t03(com.google.jctf.test.lib.lang.String.indexOfLjava_lang_StringI.String_indexOf_A01)
-          // java.lang.AssertionError: expected:<-1> but was:<0>
-
-          .put("lang.reflect.Array.getByteLjava_lang_ObjectI.Array_getByte_A03",
+          .put(
+              "lang.reflect.Array.getIntLjava_lang_ObjectI.Array_getInt_A01",
               match(runtimes(Version.V4_0_4)))
-          // 1) t02(com.google.jctf.test.lib.java.lang.reflect.Array.getByteLjava_lang_ObjectI.Array_getByte_A03)
-          // java.lang.AssertionError: Exception is not thrown: [Z@f5e586b8, 0
-
-          .put("lang.reflect.Array.getDoubleLjava_lang_ObjectI.Array_getDouble_A01",
+          .put(
+              "lang.reflect.Array.getIntLjava_lang_ObjectI.Array_getInt_A03",
               match(runtimes(Version.V4_0_4)))
-          // 1) t02(com.google.jctf.test.lib.java.lang.reflect.Array.getDoubleLjava_lang_ObjectI.Array_getDouble_A01)
-          // java.lang.IllegalArgumentException: Wrong array type
-
-          .put("lang.reflect.Array.getDoubleLjava_lang_ObjectI.Array_getDouble_A03",
+          .put(
+              "lang.reflect.Array.getLongLjava_lang_ObjectI.Array_getLong_A01",
               match(runtimes(Version.V4_0_4)))
-          // 1) t02(com.google.jctf.test.lib.java.lang.reflect.Array.getDoubleLjava_lang_ObjectI.Array_getDouble_A03)
-          // java.lang.AssertionError: Exception is not thrown: [Z@f5e31930, 0
-
-          .put("lang.reflect.Array.getFloatLjava_lang_ObjectI.Array_getFloat_A01",
+          .put(
+              "lang.reflect.Array.getLongLjava_lang_ObjectI.Array_getLong_A03",
               match(runtimes(Version.V4_0_4)))
-          // 1) t02(com.google.jctf.test.lib.java.lang.reflect.Array.getFloatLjava_lang_ObjectI.Array_getFloat_A01)
-          // java.lang.IllegalArgumentException: Wrong array type
-
-          .put("lang.reflect.Array.getFloatLjava_lang_ObjectI.Array_getFloat_A03",
+          .put(
+              "lang.reflect.Array.getShortLjava_lang_ObjectI.Array_getShort_A03",
               match(runtimes(Version.V4_0_4)))
-          // 1) t02(com.google.jctf.test.lib.java.lang.reflect.Array.getFloatLjava_lang_ObjectI.Array_getFloat_A03)
-          // java.lang.AssertionError: Exception is not thrown: [Z@f5db78f0, 0
-
-          .put("lang.reflect.Array.getIntLjava_lang_ObjectI.Array_getInt_A01",
+          .put(
+              "lang.reflect.Array.setBooleanLjava_lang_ObjectIZ.Array_setBoolean_A03",
               match(runtimes(Version.V4_0_4)))
-          // 1) t02(com.google.jctf.test.lib.java.lang.reflect.Array.getIntLjava_lang_ObjectI.Array_getInt_A01)
-          // java.lang.IllegalArgumentException: Wrong array type
-
-          .put("lang.reflect.Array.getIntLjava_lang_ObjectI.Array_getInt_A03",
+          .put(
+              "lang.reflect.Array.setCharLjava_lang_ObjectIC.Array_setChar_A01",
               match(runtimes(Version.V4_0_4)))
-          // 1) t02(com.google.jctf.test.lib.java.lang.reflect.Array.getIntLjava_lang_ObjectI.Array_getInt_A03)
-          // java.lang.AssertionError: Exception is not thrown: [Z@f5dbb628, 0
-
-          .put("lang.reflect.Array.getLongLjava_lang_ObjectI.Array_getLong_A01",
+          .put(
+              "lang.reflect.Array.setLjava_lang_ObjectILjava_lang_Object.Array_set_A01",
               match(runtimes(Version.V4_0_4)))
-          // 1) t02(com.google.jctf.test.lib.java.lang.reflect.Array.getLongLjava_lang_ObjectI.Array_getLong_A01)
-          // java.lang.IllegalArgumentException: Wrong array type
-
-          .put("lang.reflect.Array.getLongLjava_lang_ObjectI.Array_getLong_A03",
+          .put(
+              "lang.reflect.Array.setLjava_lang_ObjectILjava_lang_Object.Array_set_A03",
               match(runtimes(Version.V4_0_4)))
-          // 1) t02(com.google.jctf.test.lib.java.lang.reflect.Array.getLongLjava_lang_ObjectI.Array_getLong_A03)
-          // java.lang.AssertionError: Exception is not thrown: [Z@f5dc0720, 0
-
-          .put("lang.reflect.Array.getShortLjava_lang_ObjectI.Array_getShort_A03",
+          .put(
+              "lang.reflect.Constructor.toString.Constructor_toString_A01",
               match(runtimes(Version.V4_0_4)))
-          // 1) t02(com.google.jctf.test.lib.java.lang.reflect.Array.getShortLjava_lang_ObjectI.Array_getShort_A03)
-          // java.lang.AssertionError: Exception is not thrown: [Z@f5e827d8, 0
-
-          .put("lang.reflect.Array.setBooleanLjava_lang_ObjectIZ.Array_setBoolean_A03",
-              match(runtimes(Version.V4_0_4)))
-          // 1) t02(com.google.jctf.test.lib.java.lang.reflect.Array.setBooleanLjava_lang_ObjectIZ.Array_setBoolean_A03)
-          // java.lang.AssertionError: Exception is not thrown: [B@f5e8d9c8, 0, true
-
-          .put("lang.reflect.Array.setCharLjava_lang_ObjectIC.Array_setChar_A01",
-              match(runtimes(Version.V4_0_4)))
-          // 1) t02(com.google.jctf.test.lib.java.lang.reflect.Array.setCharLjava_lang_ObjectIC.Array_setChar_A01)
-          // java.lang.IllegalArgumentException: Wrong array type
-
-          .put("lang.reflect.Array.setLjava_lang_ObjectILjava_lang_Object.Array_set_A01",
-              match(runtimes(Version.V4_0_4)))
-          // 1) t26(com.google.jctf.test.lib.java.lang.reflect.Array.setLjava_lang_ObjectILjava_lang_Object.Array_set_A01)
-          // java.lang.IllegalArgumentException: Wrong array type
-
-          .put("lang.reflect.Array.setLjava_lang_ObjectILjava_lang_Object.Array_set_A03",
-              match(runtimes(Version.V4_0_4)))
-          // 1) t21(com.google.jctf.test.lib.java.lang.reflect.Array.setLjava_lang_ObjectILjava_lang_Object.Array_set_A03)
-          // java.lang.AssertionError: Exception is not thrown: [B@f5e73db8, 0, false
-
-          .put("lang.reflect.Constructor.toString.Constructor_toString_A01",
-              match(runtimes(Version.V4_0_4)))
-          // 1) t05(com.google.jctf.test.lib.java.lang.reflect.Constructor.toString.Constructor_toString_A01)
-          // org.junit.ComparisonFailure: expected:<...le,java.lang.String,[int[][][][][][][][][][][][][]])> but was:<...le,java.lang.String,[[[[[[[[[[[[[[I])>
-
           .put(
               "math.BigInteger.modPowLjava_math_BigIntegerLjava_math_Integer.BigInteger_modPow_A01",
               match(runtimes(Version.V4_0_4)))
-          // ) t01(com.google.jctf.test.lib.java.math.BigInteger.modPowLjava_math_BigIntegerLjava_math_Integer.BigInteger_modPow_A01)
-          // java.lang.AssertionError: Improper exception message
-
           .put(
               "util.concurrent.LinkedBlockingDeque.drainToLjava_util_CollectionI.LinkedBlockingDeque_drainTo_A01",
               match(runtimes(Version.V4_0_4)))
-          // 1) t03(com.google.jctf.test.lib.java.util.concurrent.LinkedBlockingDeque.drainToLjava_util_CollectionI.LinkedBlockingDeque_drainTo_A01)
-          //  java.lang.AssertionError: expected:<0> but was:<-1>
-
           .put(
               "util.concurrent.LinkedBlockingQueue.drainToLjava_util_CollectionI.LinkedBlockingQueue_drainTo_A01",
               match(runtimes(Version.V4_0_4)))
-          //1) t03(com.google.jctf.test.lib.java.util.concurrent.LinkedBlockingQueue.drainToLjava_util_CollectionI.LinkedBlockingQueue_drainTo_A01)
-          // java.lang.AssertionError: expected:<0> but was:<-1>
           .build(); // end of failuresToTriage
 
   public static final Multimap<String, TestCondition> flakyWithArt =
       new ImmutableListMultimap.Builder<String, TestCondition>()
 
           .put("lang.Object.notifyAll.Object_notifyAll_A03", any())
-          // AssertionError: Unexpected art failure: '+ invoke_with=
-          // AssertionError: expected:<BLOCKED> but was:<WAITING>
+
+
 
           .put("lang.Object.notify.Object_notify_A03", any())
-          // AssertionError: Unexpected art failure: '+ invoke_with=
-          // AssertionError: expected:<BLOCKED> but was:<WAITING>
+
+
 
           .put(
               "util.concurrent.ConcurrentSkipListSet.addLjava_lang_Object.ConcurrentSkipListSet_add_A01",
               any())
-          // AssertionError: Unexpected art failure: '+ invoke_with=
-          // AssertionError: Expected exception: java.lang.ClassCastException
+
+
 
           .put("util.concurrent.SynchronousQueue.ConstructorZ", any())
-          // Only on bots:
-          // 1) t02
-          // java.lang.AssertionError: java.lang.AssertionError: expected:<5> but was:<4>
+
+
+
 
           .put("lang.Thread.interrupt.Thread_interrupt_A04", any())
-          // Been running fine for a while then this happened on a bot:
-          // 1) t01
-          // java.lang.AssertionError: expected:<BLOCKED> but was:<RUNNABLE>
+
+
+
 
           .put("util.concurrent.SynchronousQueue.ConstructorZ.SynchronousQueue_Constructor_A01",
               any())
-          // Failed on bot only:
-          // 1) t02
-          // java.lang.AssertionError: java.lang.AssertionError: expected:<7> but was:<6>
+
+
+
 
           .put("lang.Thread.getState.Thread_getState_A01", any())
-          // Failed on bot only (R8):
-          // 1) t02
-          // java.lang.AssertionError: java.lang.AssertionError: expected:<7> but was:<6>
+
+
+
 
           .put(
               "util.concurrent.ScheduledThreadPoolExecutor.getTaskCount.ScheduledThreadPoolExecutor_getTaskCount_A01",
               any())
-          // 1) t01
-          // java.lang.AssertionError: expected:<1> but was:<2>
+
+
 
           .put("lang.ref.PhantomReference.clear.PhantomReference_clear_A01",
               match(runtimesUpTo(Version.V4_4_4)))
@@ -4949,38 +1453,38 @@
               match(runtimesUpTo(Version.V4_4_4)))
           .put("lang.ref.WeakReference.clear.WeakReference_clear_A01",
               match(runtimesUpTo(Version.V4_4_4)))
-          // Passes or fails randomly. Have seen out of memory and assertion errors.
+
 
           .put("lang.ref.PhantomReference.isEnqueued.PhantomReference_isEnqueued_A01",
               match(runtimesUpTo(Version.V4_4_4)))
 
           .put("lang.ref.WeakReference.isEnqueued.WeakReference_isEnqueued_A01", any())
-          // 1) t03
-          // java.lang.AssertionError: reference is not enqueued after 2 sec
+
+
 
           .put("lang.ref.WeakReference.enqueue.WeakReference_enqueue_A01",
               match(runtimesUpTo(Version.V4_4_4)))
-          // 1) t03
-          // java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
+
+
 
           .put("lang.ref.SoftReference.isEnqueued.SoftReference_isEnqueued_A01",
               match(runtimesUpTo(Version.V4_4_4)))
-          // Passes or fails randomly. Check that something is enqueued after 2 seconds.
+
 
           .put("lang.ref.SoftReference.enqueue.SoftReference_enqueue_A01",
               match(runtimesUpTo(Version.V4_4_4)))
-          // 1) t03(com.google.jctf.test.lib.java.lang.ref.SoftReference.enqueue.SoftReference_enqueue_A01)
-          // java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
+
+
 
           .put("lang.ref.ReferenceQueue.poll.ReferenceQueue_poll_A01",
               match(runtimesUpTo(Version.V4_4_4)))
-          // Passes or fails randomly.
+
 
           .put("lang.AssertionError.ConstructorLjava_lang_Object.AssertionError_Constructor_A01",
               match(runtimes(Version.V4_0_4)))
-          // Sometimes fails with
-          // 1) t04(com.google.jctf.test.lib.java.lang.AssertionError.ConstructorLjava_lang_Object.AssertionError_Constructor_A01)
-          // java.lang.IllegalStateException: Cause already initialized
+
+
+
 
           .build(); // end of flakyWithArt
 
diff --git a/src/test/java/com/android/tools/r8/R8RunExamplesAndroidOTest.java b/src/test/java/com/android/tools/r8/R8RunExamplesAndroidOTest.java
index 15dc55a..101fbb8 100644
--- a/src/test/java/com/android/tools/r8/R8RunExamplesAndroidOTest.java
+++ b/src/test/java/com/android/tools/r8/R8RunExamplesAndroidOTest.java
@@ -37,7 +37,6 @@
       "-allowaccessmodification"
   );
 
-
   private static final ArrayList<String> PROGUARD_OPTIONS_N_PLUS = Lists.newArrayList(
       "-keepclasseswithmembers public class * {",
       "    public static void main(java.lang.String[]);",
@@ -101,7 +100,7 @@
         .withOptionConsumer(opts -> opts.enableClassInlining = false)
         .withBuilderTransformation(
             b -> b.addProguardConfiguration(PROGUARD_OPTIONS, Origin.unknown()))
-        .withDexCheck(inspector -> checkLambdaCount(inspector, 179, "lambdadesugaring"))
+        .withDexCheck(inspector -> checkLambdaCount(inspector, 180, "lambdadesugaring"))
         .run();
 
     test("lambdadesugaring", "lambdadesugaring", "LambdaDesugaring")
@@ -109,7 +108,7 @@
         .withOptionConsumer(opts -> opts.enableClassInlining = true)
         .withBuilderTransformation(
             b -> b.addProguardConfiguration(PROGUARD_OPTIONS, Origin.unknown()))
-        .withDexCheck(inspector -> checkLambdaCount(inspector, 23, "lambdadesugaring"))
+        .withDexCheck(inspector -> checkLambdaCount(inspector, 24, "lambdadesugaring"))
         .run();
   }
 
@@ -121,7 +120,7 @@
         .withOptionConsumer(opts -> opts.enableClassInlining = false)
         .withBuilderTransformation(
             b -> b.addProguardConfiguration(PROGUARD_OPTIONS, Origin.unknown()))
-        .withDexCheck(inspector -> checkLambdaCount(inspector, 179, "lambdadesugaring"))
+        .withDexCheck(inspector -> checkLambdaCount(inspector, 180, "lambdadesugaring"))
         .run();
 
     test("lambdadesugaring", "lambdadesugaring", "LambdaDesugaring")
@@ -129,7 +128,7 @@
         .withOptionConsumer(opts -> opts.enableClassInlining = true)
         .withBuilderTransformation(
             b -> b.addProguardConfiguration(PROGUARD_OPTIONS, Origin.unknown()))
-        .withDexCheck(inspector -> checkLambdaCount(inspector, 23, "lambdadesugaring"))
+        .withDexCheck(inspector -> checkLambdaCount(inspector, 24, "lambdadesugaring"))
         .run();
   }
 
diff --git a/src/test/java/com/android/tools/r8/compatproguard/reflection/ReflectionTest.java b/src/test/java/com/android/tools/r8/compatproguard/reflection/ReflectionTest.java
index c90e0fb..c86711f 100644
--- a/src/test/java/com/android/tools/r8/compatproguard/reflection/ReflectionTest.java
+++ b/src/test/java/com/android/tools/r8/compatproguard/reflection/ReflectionTest.java
@@ -8,7 +8,11 @@
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
 
+import com.android.tools.r8.NeverInline;
+import com.android.tools.r8.R8Command;
 import com.android.tools.r8.TestBase;
+import com.android.tools.r8.ToolHelper;
+import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.utils.AndroidApp;
 import com.android.tools.r8.utils.codeinspector.CodeInspector;
 import com.google.common.collect.ImmutableList;
@@ -38,13 +42,22 @@
   }
 }
 
-class Main {
+class MainTest {
+  @SuppressWarnings("warning")
   public static void main(String[] args) throws Exception {
     A a = new A();
 
     Method m;
     m = A.class.getMethod("method0");
     m.invoke(a);
+    m = A.class.getMethod("method0", null);
+    m.invoke(a);
+    m = A.class.getMethod("method0", (Class<?>[]) null);
+    m.invoke(a);
+    m = A.class.getMethod("method0", (Class<?>[]) (Class<?>[]) null);
+    m.invoke(a);
+    m = A.class.getMethod("method0", (Class<?>[]) (Object[]) (Class<?>[]) null);
+    m.invoke(a);
     m = A.class.getMethod("method1", String.class);
     m.invoke(a, "1");
     m = A.class.getMethod("method2", String.class, String.class);
@@ -74,34 +87,49 @@
       m = A.class.getDeclaredMethod("method3", int.class, int.class);
       m.invoke(a, 2, 2);
     } catch (Exception e) {
+      System.out.println("Unexpected: " + e);
     }
 
-    Class[] argumentTypes;
-    argumentTypes = new Class[2];
+    Class<?>[] argumentTypes;
+    argumentTypes = new Class<?>[2];
     argumentTypes[1] = int.class;
     argumentTypes[0] = int.class;
     argumentTypes[0] = String.class;
     argumentTypes[1] = String.class;
     m = A.class.getDeclaredMethod("method2", argumentTypes);
     m.invoke(a, "2", "3");
+    argumentTypes[0] = String.class;
+    argumentTypes[1] = String.class;
     m = A.class.getDeclaredMethod("method2", argumentTypes);
     m.invoke(a, "4", "5");
+    argumentTypes[0] = String.class;
+    argumentTypes[1] = String.class;
+    m = A.class.getDeclaredMethod("method2", (Class<?>[]) argumentTypes);
+    m.invoke(a, "5", "4");
+    argumentTypes[0] = String.class;
+    argumentTypes[1] = String.class;
+    m = A.class.getDeclaredMethod("method2", (Class<?>[]) (Object[]) argumentTypes);
+    m.invoke(a, "5", "4");
 
     argumentTypes[1] = int.class;
     argumentTypes[0] = int.class;
     m = A.class.getDeclaredMethod("method3", argumentTypes);
     m.invoke(a, 3, 3);
+    argumentTypes[1] = int.class;
+    argumentTypes[0] = int.class;
     m = A.class.getDeclaredMethod("method3", argumentTypes);
     m.invoke(a, 3, 4);
 
     try {
-      argumentTypes = new Class[2];
+      argumentTypes = new Class<?>[2];
       argumentTypes[1] = int.class;
       argumentTypes[0] = int.class;
       argumentTypes[0] = String.class;
       argumentTypes[1] = String.class;
       m = A.class.getDeclaredMethod("method2", argumentTypes);
       m.invoke(a, "2", "3");
+      argumentTypes[0] = String.class;
+      argumentTypes[1] = String.class;
       m = A.class.getDeclaredMethod("method2", argumentTypes);
       m.invoke(a, "4", "7");
 
@@ -109,9 +137,311 @@
       argumentTypes[0] = int.class;
       m = A.class.getDeclaredMethod("method3", argumentTypes);
       m.invoke(a, 3, 3);
+      argumentTypes[1] = int.class;
+      argumentTypes[0] = int.class;
       m = A.class.getDeclaredMethod("method3", argumentTypes);
       m.invoke(a, 3, 4);
     } catch (Exception e) {
+      System.out.println("Unexpected: " + e);
+    }
+  }
+}
+
+class MainNonConstArraySize {
+  public static void main(String[] args) throws Exception {
+    Method m;
+    m = A.class.getMethod("method0");
+    m.invoke(new A());
+
+    nonConstArraySize(0);
+  }
+
+  @NeverInline
+  static void nonConstArraySize(int argumentTypesSize) {
+    try {
+      A a = new A();
+
+      Method m;
+      Class<?>[] argumentTypes;
+      argumentTypes = new Class<?>[argumentTypesSize];
+      m = A.class.getDeclaredMethod("method0", argumentTypes);
+      m.invoke(a);
+    } catch (Exception e) {
+      // Prepend the 0 output to the exception name to make it easier to compare the result with
+      // the reference run.
+      System.out.print("0" + e.getClass().getCanonicalName());
+    }
+  }
+}
+
+class MainPhiValue {
+  public static void main(String[] args) throws Exception {
+    Method m;
+    m = A.class.getMethod("method0");
+    m.invoke(new A());
+    m = A.class.getMethod("method1", String.class);
+    m.invoke(new A(), "1");
+
+    try {
+      arrayIsPhi(true);
+      throw new Exception("Unexpected");
+    } catch (NoSuchMethodException e) {
+      // Expected.
+    }
+
+    try {
+      elementIsPhi(true);
+      throw new Exception("Unexpected");
+    } catch (NoSuchMethodException e) {
+      // Expected.
+    }
+
+    try {
+      elementIsPhiButDeterministic(true, "");
+      throw new Exception("Unexpected");
+    } catch (NoSuchMethodException e) {
+      // Expected.
+    }
+  }
+
+  @NeverInline
+  static void arrayIsPhi(boolean b) throws Exception {
+    A a = new A();
+
+    Method m;
+    Class<?>[] argumentTypes;
+    if (b) {
+      argumentTypes = new Class<?>[1];
+      argumentTypes[0] = String.class;
+    } else {
+      argumentTypes = new Class<?>[1];
+      argumentTypes[0] = int.class;
+    }
+    m = A.class.getDeclaredMethod("method1", argumentTypes);
+    m.invoke(a, "0");
+  }
+
+  @NeverInline
+  static void elementIsPhi(boolean b) throws Exception {
+    A a = new A();
+
+    Class<?> x;
+    x = b ? String.class : int.class;
+    Method m;
+    Class<?>[] argumentTypes = new Class<?>[1];
+    argumentTypes[0] = x;
+    m = A.class.getDeclaredMethod("method1", argumentTypes);
+    m.invoke(a, "0");
+  }
+
+  @NeverInline
+  static void elementIsPhiButDeterministic(boolean b, String arg) throws Exception {
+    A a = new A();
+
+    Class<?> x;
+    x = b ? String.class : arg.getClass();
+    Method m;
+    Class<?>[] argumentTypes = new Class<?>[1];
+    argumentTypes[0] = x;
+    m = A.class.getDeclaredMethod("method1", argumentTypes);
+    m.invoke(a, "0");
+  }
+}
+
+class AllPrimitiveTypes {
+  public void method(boolean b) {
+    System.out.print(b);
+  }
+
+  public void method(byte b) {
+    System.out.print(b);
+  }
+
+  public void method(char c) {
+    System.out.print(c);
+  }
+
+  public void method(short s) {
+    System.out.print(s);
+  }
+
+  public void method(int i) {
+    System.out.print(i);
+  }
+
+  public void method(long l) {
+    System.out.print(l);
+  }
+
+  public void method(float f) {
+    System.out.print(f);
+  }
+
+  public void method(double d) {
+    System.out.print(d);
+  }
+}
+
+class MainAllPrimitiveTypes {
+
+  public static void main(String[] args) throws Exception {
+    AllPrimitiveTypes a = new AllPrimitiveTypes();
+
+    Method m;
+    Class<?>[] argumentTypes;
+    argumentTypes = new Class<?>[1];
+    argumentTypes[0] = boolean.class;
+    m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, true);
+    argumentTypes[0] = byte.class;
+    m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, (byte) 0);
+    argumentTypes[0] = char.class;
+    m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, 'a');
+    argumentTypes[0] = short.class;
+    m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, (short) 1);
+    argumentTypes[0] = int.class;
+    m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, 2);
+    argumentTypes[0] = long.class;
+    m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, 3L);
+    argumentTypes[0] = float.class;
+    m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, 4.4f);
+    argumentTypes[0] = double.class;
+    m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, 5.5d);
+
+    try {
+      argumentTypes = new Class<?>[1];
+      argumentTypes[0] = boolean.class;
+      m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, true);
+      argumentTypes[0] = byte.class;
+      m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, (byte) 0);
+      argumentTypes[0] = char.class;
+      m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, 'a');
+      argumentTypes[0] = short.class;
+      m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, (short) 1);
+      argumentTypes[0] = int.class;
+      m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, 2);
+      argumentTypes[0] = long.class;
+      m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, 3L);
+      argumentTypes[0] = float.class;
+      m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, 4.4f);
+      argumentTypes[0] = double.class;
+      m = AllPrimitiveTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, 5.5d);
+    } catch (Exception e) {
+      System.out.println("Unexpected: " + e);
+    }
+  }
+}
+
+class AllBoxedTypes {
+  public void method(Boolean b) {
+    System.out.print(b);
+  }
+
+  public void method(Byte b) {
+    System.out.print(b);
+  }
+
+  public void method(Character c) {
+    System.out.print(c);
+  }
+
+  public void method(Short s) {
+    System.out.print(s);
+  }
+
+  public void method(Integer i) {
+    System.out.print(i);
+  }
+
+  public void method(Long l) {
+    System.out.print(l);
+  }
+
+  public void method(Float f) {
+    System.out.print(f);
+  }
+
+  public void method(Double d) {
+    System.out.print(d);
+  }
+}
+
+class MainAllBoxedTypes {
+
+  public static void main(String[] args) throws Exception {
+    AllBoxedTypes a = new AllBoxedTypes();
+
+    Method m;
+    Class<?>[] argumentTypes;
+    argumentTypes = new Class<?>[1];
+    argumentTypes[0] = Boolean.class;
+    m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, true);
+    argumentTypes[0] = Byte.class;
+    m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, (byte) 0);
+    argumentTypes[0] = Character.class;
+    m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, 'a');
+    argumentTypes[0] = Short.class;
+    m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, (short) 1);
+    argumentTypes[0] = Integer.class;
+    m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, 2);
+    argumentTypes[0] = Long.class;
+    m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, 3L);
+    argumentTypes[0] = Float.class;
+    m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, 4.4f);
+    argumentTypes[0] = Double.class;
+    m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+    m.invoke(a, 5.5d);
+
+    try {
+      argumentTypes = new Class<?>[1];
+      argumentTypes[0] = Boolean.class;
+      m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, true);
+      argumentTypes[0] = Byte.class;
+      m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, (byte) 0);
+      argumentTypes[0] = Character.class;
+      m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, 'a');
+      argumentTypes[0] = Short.class;
+      m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, (short) 1);
+      argumentTypes[0] = Integer.class;
+      m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, 2);
+      argumentTypes[0] = Long.class;
+      m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, 3L);
+      argumentTypes[0] = Float.class;
+      m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, 4.4f);
+      argumentTypes[0] = Double.class;
+      m = AllBoxedTypes.class.getDeclaredMethod("method", argumentTypes);
+      m.invoke(a, 5.5d);
+    } catch (Exception e) {
+      System.out.println("Unexpected: " + e);
     }
   }
 }
@@ -132,10 +462,12 @@
 
   @Test
   public void test() throws Exception {
+    Class<?> mainClass = MainTest.class;
     AndroidApp output =
         compileWithR8(
-            readClasses(A.class, Main.class), keepMainProguardConfiguration(Main.class), backend);
+            readClasses(A.class, mainClass), keepMainProguardConfiguration(mainClass), backend);
     CodeInspector inspector = new CodeInspector(output);
+
     assertThat(inspector.clazz(A.class).method("void", "method0", ImmutableList.of()), isRenamed());
     assertThat(
         inspector.clazz(A.class).method("void", "method1", ImmutableList.of("java.lang.String")),
@@ -146,6 +478,88 @@
             .method("void", "method2", ImmutableList.of("java.lang.String", "java.lang.String")),
         isRenamed());
 
-    assertEquals(runOnJava(Main.class), runOnVM(output, Main.class, backend));
+    assertEquals(runOnJava(mainClass), runOnVM(output, mainClass, backend));
+  }
+
+  @Test
+  public void testNonConstArraySize() throws Exception {
+    Class<?> mainClass = MainNonConstArraySize.class;
+    R8Command.Builder builder =
+        ToolHelper.prepareR8CommandBuilder(
+                readClasses(A.class, mainClass, NeverInline.class), emptyConsumer(backend))
+            .addLibraryFiles(runtimeJar(backend));
+    builder.addProguardConfiguration(
+        ImmutableList.of(keepMainProguardConfigurationWithInliningAnnotation(mainClass)),
+        Origin.unknown());
+    ToolHelper.allowTestProguardOptions(builder);
+    AndroidApp output = ToolHelper.runR8(builder.build());
+    CodeInspector inspector = new CodeInspector(output);
+
+    assertThat(inspector.clazz(A.class).method("void", "method0", ImmutableList.of()), isRenamed());
+
+    // The reference run on the Java VM will succeed, whereas the run on the R8 output will fail
+    // as in this test we fail to recognize the reflective call. To compare the output of the
+    // successful reference run append "java.lang.NoSuchMethodException" to it.
+    assertEquals(
+        runOnJava(mainClass) + "java.lang.NoSuchMethodException",
+        runOnVM(output, mainClass, backend));
+  }
+
+  @Test
+  public void testPhiValue() throws Exception {
+    Class<?> mainClass = MainPhiValue.class;
+    R8Command.Builder builder =
+        ToolHelper.prepareR8CommandBuilder(
+                readClasses(A.class, mainClass, NeverInline.class), emptyConsumer(backend))
+            .addLibraryFiles(runtimeJar(backend));
+    builder.addProguardConfiguration(
+        ImmutableList.of(keepMainProguardConfigurationWithInliningAnnotation(mainClass)),
+        Origin.unknown());
+    ToolHelper.allowTestProguardOptions(builder);
+    AndroidApp output = ToolHelper.runR8(builder.build(), o -> o.enableInlining = false);
+
+    runOnVM(output, mainClass, backend);
+  }
+
+  @Test
+  public void testAllPrimitiveTypes() throws Exception {
+    Class<?> mainClass = MainAllPrimitiveTypes.class;
+    AndroidApp output =
+        compileWithR8(
+            readClasses(AllPrimitiveTypes.class, mainClass),
+            keepMainProguardConfiguration(mainClass),
+            backend);
+
+    new CodeInspector(output)
+        .clazz(AllPrimitiveTypes.class)
+        .forAllMethods(
+            m -> {
+              if (!m.isInstanceInitializer()) {
+                assertThat(m, isRenamed());
+              }
+            });
+
+    assertEquals(runOnJava(mainClass), runOnVM(output, mainClass, backend));
+  }
+
+  @Test
+  public void testAllBoxedTypes() throws Exception {
+    Class<?> mainClass = MainAllBoxedTypes.class;
+    AndroidApp output =
+        compileWithR8(
+            readClasses(AllBoxedTypes.class, mainClass),
+            keepMainProguardConfiguration(mainClass),
+            backend);
+
+    new CodeInspector(output)
+        .clazz(AllBoxedTypes.class)
+        .forAllMethods(
+            m -> {
+              if (!m.isInstanceInitializer()) {
+                assertThat(m, isRenamed());
+              }
+            });
+
+    assertEquals(runOnJava(mainClass), runOnVM(output, mainClass, backend));
   }
 }
diff --git a/src/test/java/com/android/tools/r8/debug/ArraySimplificationLineNumberTest.java b/src/test/java/com/android/tools/r8/debug/ArraySimplificationLineNumberTest.java
new file mode 100644
index 0000000..c3aa498
--- /dev/null
+++ b/src/test/java/com/android/tools/r8/debug/ArraySimplificationLineNumberTest.java
@@ -0,0 +1,23 @@
+// Copyright (c) 2018, 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.debug;
+
+public class ArraySimplificationLineNumberTest {
+
+  public String[] foo(boolean argument) {
+    String[] result;
+    if (argument) {
+      result = new String[2]; result[0] = "abc";
+      result[1] = "xyz";
+    } else {
+      result = new String[2]; result[0] = "abc";
+      result[1] = "xyz";
+    }
+    return result;
+  }
+
+  public static void main(String[] args) {
+    new ArraySimplificationLineNumberTest().foo(true);
+  }
+}
diff --git a/src/test/java/com/android/tools/r8/debug/ArraySimplificationLineNumberTestRunner.java b/src/test/java/com/android/tools/r8/debug/ArraySimplificationLineNumberTestRunner.java
new file mode 100644
index 0000000..308e8d7
--- /dev/null
+++ b/src/test/java/com/android/tools/r8/debug/ArraySimplificationLineNumberTestRunner.java
@@ -0,0 +1,40 @@
+// Copyright (c) 2018, 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.debug;
+
+import com.android.tools.r8.ToolHelper;
+import com.android.tools.r8.ToolHelper.DexVm.Version;
+import com.android.tools.r8.VmTestRunner;
+import com.android.tools.r8.VmTestRunner.IgnoreIfVmOlderThan;
+import java.util.Collections;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(VmTestRunner.class)
+public class ArraySimplificationLineNumberTestRunner extends DebugTestBase {
+
+  private static final Class CLASS = ArraySimplificationLineNumberTest.class;
+  private static final String FILE = CLASS.getSimpleName() + ".java";
+  private static final String NAME = CLASS.getCanonicalName();
+
+  @Test
+  @IgnoreIfVmOlderThan(Version.V6_0_1)
+  public void testHitOnEntryOnly() throws Throwable {
+    DebugTestConfig cf = new CfDebugTestConfig().addPaths(ToolHelper.getClassPathForTests());
+    DebugTestConfig d8 = new D8DebugTestConfig().compileAndAdd(
+        temp, Collections.singletonList(ToolHelper.getClassFileForTestClass(CLASS)));
+    DebugTestConfig d8NoLocals = new D8DebugTestConfig().compileAndAdd(
+        temp,
+        Collections.singletonList(ToolHelper.getClassFileForTestClass(CLASS)),
+        options -> options.testing.removeLocalsTable = true);
+
+    new DebugStreamComparator()
+        .add("CF", streamDebugTest(cf, NAME, NO_FILTER))
+        .add("D8", streamDebugTest(d8, NAME, ANDROID_FILTER))
+        .add("D8/nolocals", streamDebugTest(d8NoLocals, NAME, ANDROID_FILTER))
+        .setFilter(s -> s.getSourceFile().equals(FILE))
+        .setVerifyVariables(false)
+        .compare();
+  }
+}
diff --git a/src/test/java/com/android/tools/r8/debug/DebugTestBase.java b/src/test/java/com/android/tools/r8/debug/DebugTestBase.java
index 8af8922..17e49a5 100644
--- a/src/test/java/com/android/tools/r8/debug/DebugTestBase.java
+++ b/src/test/java/com/android/tools/r8/debug/DebugTestBase.java
@@ -32,6 +32,7 @@
 import java.util.Deque;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Optional;
 import java.util.TreeMap;
 import java.util.function.Consumer;
@@ -442,10 +443,7 @@
   }
 
   protected final JUnit3Wrapper.Command checkLine(String sourceFile, int line) {
-    return inspect(t -> {
-      Assert.assertEquals(sourceFile, t.getSourceFile());
-      Assert.assertEquals(line, t.getLineNumber());
-    });
+    return inspect(t -> t.checkLine(sourceFile, line));
   }
 
   protected final JUnit3Wrapper.Command checkInlineFrames(List<SignatureAndLine> expectedFrames) {
@@ -1043,6 +1041,8 @@
       void checkNoLocal(String localName);
       void checkLocal(String localName);
       void checkLocal(String localName, Value expectedValue);
+
+      void checkLine(String sourceFile, int line);
     }
 
     public static class DebuggeeState implements FrameInspector {
@@ -1226,6 +1226,15 @@
           checkIncorrectLocal(localName, expectedValue, localValue);
         }
 
+        @Override
+        public void checkLine(String sourceFile, int line) {
+          if (!Objects.equals(sourceFile, getSourceFile()) || line != getLineNumber()) {
+            String locationString = convertCurrentLocationToString();
+            Assert.fail(
+                "Incorrect line at " + locationString + ", expected " + sourceFile + ":" + line);
+          }
+        }
+
         /**
          * Return class name, as found in the binary. If it has not been obfuscated (minified) it's
          * identical to the original class name. Otherwise, it's the obfuscated one.
@@ -1355,6 +1364,11 @@
       }
 
       @Override
+      public void checkLine(String sourceFile, int line) {
+        getTopFrame().checkLine(sourceFile, line);
+      }
+
+      @Override
       public int getLineNumber() {
         return getTopFrame().getLineNumber();
       }
diff --git a/src/test/java/com/android/tools/r8/debug/EmptyLineAfterJoinTestRunner.java b/src/test/java/com/android/tools/r8/debug/EmptyLineAfterJoinTestRunner.java
index 5e20a21..37782dd 100644
--- a/src/test/java/com/android/tools/r8/debug/EmptyLineAfterJoinTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/EmptyLineAfterJoinTestRunner.java
@@ -10,7 +10,6 @@
 import com.google.common.collect.ImmutableList;
 import java.nio.file.Path;
 import java.util.Collection;
-import org.junit.Assume;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 import org.junit.runner.RunWith;
@@ -59,8 +58,6 @@
 
   @Test
   public void test() throws Throwable {
-    Assume.assumeFalse(
-        "b/110873173 Fails because of missing line 16", (config instanceof D8DebugTestConfig));
     runDebugTest(
         config,
         NAME,
diff --git a/src/test/java/com/android/tools/r8/debug/LocalEndTest.java b/src/test/java/com/android/tools/r8/debug/LocalEndTest.java
index 036e590..f4a3413 100644
--- a/src/test/java/com/android/tools/r8/debug/LocalEndTest.java
+++ b/src/test/java/com/android/tools/r8/debug/LocalEndTest.java
@@ -17,11 +17,22 @@
     System.out.println(y);
   }
 
-  private void bar() {
-    // nothing to do
+  public void bar() {
+    if (raise) {
+      System.out.print("throwing ");
+      throw new RuntimeException();
+    }
+    System.out.print("not-throwing ");
+  }
+
+  public final boolean raise;
+
+  public LocalEndTest(boolean raise) {
+    this.raise = raise;
   }
 
   public static void main(String[] args) {
-    new LocalEndTest().foo();
+    new LocalEndTest(false).foo();
+    new LocalEndTest(true).foo();
   }
 }
diff --git a/src/test/java/com/android/tools/r8/debug/LocalEndTestDump.java b/src/test/java/com/android/tools/r8/debug/LocalEndTestDump.java
index ad6737c..3111779 100644
--- a/src/test/java/com/android/tools/r8/debug/LocalEndTestDump.java
+++ b/src/test/java/com/android/tools/r8/debug/LocalEndTestDump.java
@@ -4,6 +4,7 @@
 package com.android.tools.r8.debug;
 
 import org.objectweb.asm.ClassWriter;
+import org.objectweb.asm.FieldVisitor;
 import org.objectweb.asm.Label;
 import org.objectweb.asm.MethodVisitor;
 import org.objectweb.asm.Opcodes;
@@ -13,6 +14,7 @@
   public static byte[] dump() {
 
     ClassWriter cw = new ClassWriter(0);
+    FieldVisitor fv;
     MethodVisitor mv;
 
     cw.visit(
@@ -26,19 +28,8 @@
     cw.visitSource("LocalEndTest.java", null);
 
     {
-      mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
-      mv.visitCode();
-      Label l0 = new Label();
-      mv.visitLabel(l0);
-      mv.visitLineNumber(6, l0);
-      mv.visitVarInsn(ALOAD, 0);
-      mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V", false);
-      mv.visitInsn(RETURN);
-      Label l1 = new Label();
-      mv.visitLabel(l1);
-      mv.visitLocalVariable("this", "Lcom/android/tools/r8/debug/LocalEndTest;", null, l0, l1, 0);
-      mv.visitMaxs(1, 1);
-      mv.visitEnd();
+      fv = cw.visitField(ACC_PUBLIC + ACC_FINAL, "raise", "Z", null, null);
+      fv.visitEnd();
     }
     {
       mv = cw.visitMethod(ACC_PUBLIC, "foo", "()V", null, null);
@@ -57,7 +48,7 @@
       mv.visitVarInsn(ILOAD, 1); // push x on the stack for later use in the join block.
       mv.visitVarInsn(ALOAD, 0);
       mv.visitMethodInsn(
-          INVOKESPECIAL, "com/android/tools/r8/debug/LocalEndTest", "bar", "()V", false);
+          INVOKEVIRTUAL, "com/android/tools/r8/debug/LocalEndTest", "bar", "()V", false);
       Label l4 = new Label();
       mv.visitLabel(l4);
       mv.visitLineNumber(13, l4);
@@ -76,10 +67,8 @@
           new Object[] {"java/lang/Throwable"});
       mv.visitVarInsn(ASTORE, 2);
       mv.visitVarInsn(ILOAD, 1); // push x on the stack again (should be same as above).
-      // mv.visitInsn(ICONST_0);
       mv.visitLabel(l5);
       mv.visitLineNumber(16, l5);
-      // mv.visitFrame(Opcodes.F_CHOP, 1, null, 0, null);
       mv.visitFrame(
           Opcodes.F_FULL,
           1,
@@ -107,38 +96,61 @@
       mv.visitEnd();
     }
     {
-      mv = cw.visitMethod(ACC_PRIVATE, "bar", "()V", null, null);
+      mv = cw.visitMethod(ACC_PUBLIC, "bar", "()V", null, null);
       mv.visitCode();
+      mv.visitVarInsn(ALOAD, 0);
+      mv.visitFieldInsn(GETFIELD, "com/android/tools/r8/debug/LocalEndTest", "raise", "Z");
       Label l0 = new Label();
+      mv.visitJumpInsn(IFEQ, l0);
+      mv.visitFieldInsn(GETSTATIC, "java/lang/System", "out", "Ljava/io/PrintStream;");
+      mv.visitLdcInsn("throwing ");
+      mv.visitMethodInsn(
+          INVOKEVIRTUAL, "java/io/PrintStream", "print", "(Ljava/lang/String;)V", false);
+      mv.visitTypeInsn(NEW, "java/lang/RuntimeException");
+      mv.visitInsn(DUP);
+      mv.visitMethodInsn(INVOKESPECIAL, "java/lang/RuntimeException", "<init>", "()V", false);
+      mv.visitInsn(ATHROW);
       mv.visitLabel(l0);
-      mv.visitLineNumber(22, l0);
+      mv.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
+      mv.visitFieldInsn(GETSTATIC, "java/lang/System", "out", "Ljava/io/PrintStream;");
+      mv.visitLdcInsn("not-throwing ");
+      mv.visitMethodInsn(
+          INVOKEVIRTUAL, "java/io/PrintStream", "print", "(Ljava/lang/String;)V", false);
       mv.visitInsn(RETURN);
-      Label l1 = new Label();
-      mv.visitLabel(l1);
-      mv.visitLocalVariable("this", "Lcom/android/tools/r8/debug/LocalEndTest;", null, l0, l1, 0);
-      mv.visitMaxs(0, 1);
+      mv.visitMaxs(2, 1);
+      mv.visitEnd();
+    }
+    {
+      mv = cw.visitMethod(ACC_PUBLIC, "<init>", "(Z)V", null, null);
+      mv.visitCode();
+      mv.visitVarInsn(ALOAD, 0);
+      mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V", false);
+      mv.visitVarInsn(ALOAD, 0);
+      mv.visitVarInsn(ILOAD, 1);
+      mv.visitFieldInsn(PUTFIELD, "com/android/tools/r8/debug/LocalEndTest", "raise", "Z");
+      mv.visitInsn(RETURN);
+      mv.visitMaxs(2, 2);
       mv.visitEnd();
     }
     {
       mv = cw.visitMethod(ACC_PUBLIC + ACC_STATIC, "main", "([Ljava/lang/String;)V", null, null);
       mv.visitCode();
-      Label l0 = new Label();
-      mv.visitLabel(l0);
-      mv.visitLineNumber(25, l0);
       mv.visitTypeInsn(NEW, "com/android/tools/r8/debug/LocalEndTest");
       mv.visitInsn(DUP);
+      mv.visitInsn(ICONST_0);
       mv.visitMethodInsn(
-          INVOKESPECIAL, "com/android/tools/r8/debug/LocalEndTest", "<init>", "()V", false);
+          INVOKESPECIAL, "com/android/tools/r8/debug/LocalEndTest", "<init>", "(Z)V", false);
       mv.visitMethodInsn(
           INVOKEVIRTUAL, "com/android/tools/r8/debug/LocalEndTest", "foo", "()V", false);
-      Label l1 = new Label();
-      mv.visitLabel(l1);
-      mv.visitLineNumber(26, l1);
+      mv.visitTypeInsn(NEW, "com/android/tools/r8/debug/LocalEndTest");
+      mv.visitInsn(DUP);
+      mv.visitInsn(ICONST_1);
+      mv.visitMethodInsn(
+          INVOKESPECIAL, "com/android/tools/r8/debug/LocalEndTest", "<init>", "(Z)V", false);
+      mv.visitMethodInsn(
+          INVOKEVIRTUAL, "com/android/tools/r8/debug/LocalEndTest", "foo", "()V", false);
       mv.visitInsn(RETURN);
-      Label l2 = new Label();
-      mv.visitLabel(l2);
-      mv.visitLocalVariable("args", "[Ljava/lang/String;", null, l0, l2, 0);
-      mv.visitMaxs(2, 1);
+      mv.visitMaxs(3, 1);
       mv.visitEnd();
     }
     cw.visitEnd();
diff --git a/src/test/java/com/android/tools/r8/debug/LocalEndTestRunner.java b/src/test/java/com/android/tools/r8/debug/LocalEndTestRunner.java
index 3f86969..af89b16 100644
--- a/src/test/java/com/android/tools/r8/debug/LocalEndTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/LocalEndTestRunner.java
@@ -10,6 +10,7 @@
 import com.google.common.collect.ImmutableList;
 import java.nio.file.Path;
 import java.util.Collection;
+import org.apache.harmony.jpda.tests.framework.jdwp.Value;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 import org.junit.runner.RunWith;
@@ -54,16 +55,33 @@
 
   @Test
   public void test() throws Throwable {
+    Value xInitial = Value.createInt(42);
+    Value xNormal = Value.createInt(7);
+    Value xExceptional = xInitial;
     runDebugTest(
         config,
         NAME,
-        breakpoint(NAME, "foo", 13),
+        breakpoint(NAME, "foo", 12),
+        // Run to breakpoint for the non-throwing case.
         run(),
+        checkLine(FILE, 12),
+        checkLocal("x", xInitial),
+        stepOver(),
         checkLine(FILE, 13),
-        checkLocal("x"),
+        checkLocal("x", xInitial),
         stepOver(),
         checkLine(FILE, 14),
-        checkLocal("x"),
+        checkLocal("x", xNormal),
+        stepOver(),
+        checkLine(FILE, 16),
+        checkNoLocal("x"),
+        // Run to breakpoint for the throwing case.
+        run(),
+        checkLine(FILE, 12),
+        checkLocal("x", xInitial),
+        stepOver(),
+        checkLine(FILE, 14),
+        checkLocal("x", xExceptional),
         stepOver(),
         checkLine(FILE, 16),
         checkNoLocal("x"),
diff --git a/src/test/java/com/android/tools/r8/debuginfo/SynchronizedMethodTestRunner.java b/src/test/java/com/android/tools/r8/debuginfo/SynchronizedMethodTestRunner.java
index c8e6e41..cd9e19d 100644
--- a/src/test/java/com/android/tools/r8/debuginfo/SynchronizedMethodTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debuginfo/SynchronizedMethodTestRunner.java
@@ -103,5 +103,7 @@
     // have an associated line.
     inspector.checkStartLine(9);
     inspector.checkNoLine(8);
+    // Also ensure we did not emit a preamble position at line zero.
+    inspector.checkNoLine(0);
   }
 }
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/ConstantRemovalTest.java b/src/test/java/com/android/tools/r8/ir/optimize/ConstantRemovalTest.java
index 9fb4702..2b92ab1 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/ConstantRemovalTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/ConstantRemovalTest.java
@@ -67,56 +67,57 @@
     // is needed and the value 10 is *not* still in register 0 at that point.
     BasicBlock block = new BasicBlock();
     block.setNumber(0);
+    Position position = Position.testingPosition();
 
     Value v3 = new Value(3, ValueType.LONG, null);
     v3.setNeedsRegister(true);
     new MockLiveIntervals(v3);
     Instruction instruction = new ConstNumber(v3, 0);
-    instruction.setPosition(Position.none());
+    instruction.setPosition(position);
     block.add(instruction);
 
     Value v0 = new Value(0, ValueType.LONG, null);
     v0.setNeedsRegister(true);
     new MockLiveIntervals(v0);
     instruction = new ConstNumber(v0, 10);
-    instruction.setPosition(Position.none());
+    instruction.setPosition(position);
     block.add(instruction);
 
     instruction = new Div(NumericType.LONG, v3, v3, v0);
-    instruction.setPosition(Position.none());
+    instruction.setPosition(position);
     block.add(instruction);
 
     Value v2 = new Value(2, ValueType.INT, null);
     v2.setNeedsRegister(true);
     new MockLiveIntervals(v2);
     instruction = new ConstNumber(v2, 10);
-    instruction.setPosition(Position.none());
+    instruction.setPosition(position);
     block.add(instruction);
 
     Value v1 = new Value(1, ValueType.INT, null);
     v1.setNeedsRegister(true);
     new MockLiveIntervals(v1);
     instruction = new Move(v1 ,v2);
-    instruction.setPosition(Position.none());
+    instruction.setPosition(position);
     block.add(instruction);
 
     instruction = new Div(NumericType.INT, v1, v1, v1);
-    instruction.setPosition(Position.none());
+    instruction.setPosition(position);
     block.add(instruction);
 
     Value v0_2 = new Value(0, ValueType.LONG, null);
     v0_2.setNeedsRegister(true);
     new MockLiveIntervals(v0_2);
     instruction = new ConstNumber(v0_2, 10);
-    instruction.setPosition(Position.none());
+    instruction.setPosition(position);
     block.add(instruction);
 
     instruction = new Div(NumericType.LONG, v3, v3, v0_2);
-    instruction.setPosition(Position.none());
+    instruction.setPosition(position);
     block.add(instruction);
 
     Instruction ret = new Return();
-    ret.setPosition(Position.none());
+    ret.setPosition(position);
     block.add(ret);
     block.setFilledForTesting();
 
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/TrivialGotoEliminationTest.java b/src/test/java/com/android/tools/r8/ir/optimize/TrivialGotoEliminationTest.java
index a095615..6470876 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/TrivialGotoEliminationTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/TrivialGotoEliminationTest.java
@@ -20,6 +20,7 @@
 import com.android.tools.r8.ir.code.Value;
 import com.android.tools.r8.ir.code.ValueNumberGenerator;
 import com.android.tools.r8.ir.code.ValueType;
+import com.android.tools.r8.utils.InternalOptions;
 import com.google.common.collect.ImmutableList;
 import java.util.LinkedList;
 import org.junit.Test;
@@ -36,23 +37,24 @@
     //   throw v0
     // block2:
     //   return
+    Position position = Position.testingPosition();
     BasicBlock block2 = new BasicBlock();
     block2.setNumber(2);
-    BasicBlock block0 = BasicBlock.createGotoBlock(0, block2);
+    BasicBlock block0 = BasicBlock.createGotoBlock(0, position, block2);
     block0.setFilledForTesting();
     block2.getPredecessors().add(block0);
     Instruction ret = new Return();
-    ret.setPosition(Position.none());
+    ret.setPosition(position);
     block2.add(ret);
     block2.setFilledForTesting();
     BasicBlock block1 = new BasicBlock();
     block1.setNumber(1);
     Value value = new Value(0, ValueType.INT, null);
     Instruction number = new ConstNumber(value, 0);
-    number.setPosition(Position.none());
+    number.setPosition(position);
     block1.add(number);
     Instruction throwing = new Throw(value);
-    throwing.setPosition(Position.none());
+    throwing.setPosition(position);
     block1.add(throwing);
     block1.setFilledForTesting();
     LinkedList<BasicBlock> blocks = new LinkedList<>();
@@ -62,7 +64,8 @@
     // Check that the goto in block0 remains. There was a bug in the trivial goto elimination
     // that ended up removing that goto changing the code to start with the unreachable
     // throw.
-    IRCode code = new IRCode(null, null, blocks, new ValueNumberGenerator(), false, false);
+    IRCode code =
+        new IRCode(new InternalOptions(), null, blocks, new ValueNumberGenerator(), false, false);
     CodeRewriter.collapsTrivialGotos(null, code);
     assertTrue(code.blocks.get(0).isTrivialGoto());
     assertTrue(blocks.contains(block0));
@@ -85,22 +88,23 @@
     //
     // block3:
     //   goto block3
+    Position position = Position.testingPosition();
     BasicBlock block2 = new BasicBlock();
     block2.setNumber(2);
     Instruction ret = new Return();
-    ret.setPosition(Position.none());
+    ret.setPosition(position);
     block2.add(ret);
     block2.setFilledForTesting();
 
     BasicBlock block3 = new BasicBlock();
     block3.setNumber(3);
     Instruction instruction = new Goto();
-    instruction.setPosition(Position.none());
+    instruction.setPosition(position);
     block3.add(instruction);
     block3.setFilledForTesting();
     block3.getSuccessors().add(block3);
 
-    BasicBlock block1 = BasicBlock.createGotoBlock(1);
+    BasicBlock block1 = BasicBlock.createGotoBlock(1, position);
     block1.getSuccessors().add(block3);
     block1.setFilledForTesting();
 
@@ -108,10 +112,10 @@
     block0.setNumber(0);
     Value value = new Value(0, ValueType.OBJECT, null);
     instruction = new Argument(value);
-    instruction.setPosition(Position.none());
+    instruction.setPosition(position);
     block0.add(instruction);
     instruction = new If(Type.EQ, value);
-    instruction.setPosition(Position.none());
+    instruction.setPosition(position);
     block0.add(instruction);
     block0.getSuccessors().add(block2);
     block0.getSuccessors().add(block1);
@@ -130,7 +134,8 @@
     // Check that the goto in block0 remains. There was a bug in the trivial goto elimination
     // that ended up removing that goto changing the code to start with the unreachable
     // throw.
-    IRCode code = new IRCode(null, null, blocks, new ValueNumberGenerator(), false, false);
+    IRCode code =
+        new IRCode(new InternalOptions(), null, blocks, new ValueNumberGenerator(), false, false);
     CodeRewriter.collapsTrivialGotos(null, code);
     assertTrue(block0.getInstructions().get(1).isIf());
     assertEquals(block1, block0.getInstructions().get(1).asIf().fallthroughBlock());
diff --git a/src/test/java/com/android/tools/r8/ir/regalloc/RegisterMoveSchedulerTest.java b/src/test/java/com/android/tools/r8/ir/regalloc/RegisterMoveSchedulerTest.java
index 3005c51..effd5a1 100644
--- a/src/test/java/com/android/tools/r8/ir/regalloc/RegisterMoveSchedulerTest.java
+++ b/src/test/java/com/android/tools/r8/ir/regalloc/RegisterMoveSchedulerTest.java
@@ -81,11 +81,6 @@
     }
 
     @Override
-    public void detach() {
-      remove();
-    }
-
-    @Override
     public void set(Instruction instruction) {
       it.set(instruction);
     }
diff --git a/tools/internal_test.py b/tools/internal_test.py
index c20cdf8..43785f7 100755
--- a/tools/internal_test.py
+++ b/tools/internal_test.py
@@ -65,13 +65,16 @@
 BOT_RUN_TIMEOUT = 4000 * len(TEST_COMMANDS)
 
 def log(str):
-  print("%s: %s" % (time.strftime("%c"), str)
+  print("%s: %s" % (time.strftime("%c"), str))
 
 def ParseOptions():
   result = optparse.OptionParser()
   result.add_option('--continuous',
       help='Continuously run internal tests and post results to GCS.',
       default=False, action='store_true')
+  result.add_option('--print_logs',
+      help='Fetch logs from gcs and print them, takes the commit to print for.',
+      default=None)
   result.add_option('--bot',
       help='Run in bot mode, i.e., scheduling runs.',
       default=False, action='store_true')
@@ -174,6 +177,16 @@
       content = get_magic_file_content(magic, ignore_errors=True)
       log('%s content: %s' % (magic, content))
 
+def fetch_and_print_logs(hash):
+  gs_base = 'gs://%s' % get_sha_destination(hash)
+  listing = utils.ls_files_on_cloud_storage(gs_base).strip().split('\n')
+  for entry in listing:
+    if not entry.endswith('/status'): # Ignore the overall status file
+      for to_print in [EXITCODE, TIMED_OUT, STDERR, STDOUT]:
+        gs_location = '%s%s' % (entry, to_print)
+        value = utils.cat_file_on_cloud_storage(gs_location)
+        print('\n\n%s had value:\n%s' % (to_print, value))
+
 def run_bot():
   print_magic_file_state()
   # Ensure that there is nothing currently scheduled (broken/stopped run)
@@ -205,6 +218,7 @@
   delete_magic_file(TESTING_COMPLETE)
   log('Test status is: %s' % test_status)
   if test_status != '0':
+    fetch_and_print_logs(git_hash)
     return 1
 
 def run_continuously():
@@ -296,6 +310,8 @@
     run_continuously()
   elif options.bot:
     return run_bot()
+  elif options.print_logs:
+    return fetch_and_print_logs(options.print_logs)
   else:
     return run_once(options.archive)
 
diff --git a/tools/test.py b/tools/test.py
index b92c8dc..6c15ea5 100755
--- a/tools/test.py
+++ b/tools/test.py
@@ -100,6 +100,8 @@
 
 def Main():
   (options, args) = ParseOptions()
+  if 'BUILDBOT_BUILDERNAME' in os.environ:
+    gradle.RunGradle(['clean'])
 
   gradle_args = ['--stacktrace']
   # Set all necessary Gradle properties and options first.
diff --git a/tools/utils.py b/tools/utils.py
index 20ba093..3b52e6a 100644
--- a/tools/utils.py
+++ b/tools/utils.py
@@ -111,6 +111,11 @@
   PrintCmd(cmd)
   subprocess.check_call(cmd)
 
+def ls_files_on_cloud_storage(destination):
+  cmd = ['gsutil.py', 'ls', destination]
+  PrintCmd(cmd)
+  return subprocess.check_output(cmd)
+
 def cat_file_on_cloud_storage(destination, ignore_errors=False):
   cmd = ['gsutil.py', 'cat', destination]
   PrintCmd(cmd)