Ensure that dex-runtimes are specified when setting apilevel

Change-Id: I3d4f8102fc260ed566001ca4f519663118171352
diff --git a/src/test/java/com/android/tools/r8/TestParametersBuilder.java b/src/test/java/com/android/tools/r8/TestParametersBuilder.java
index 6fbb80f..bbcfb65 100644
--- a/src/test/java/com/android/tools/r8/TestParametersBuilder.java
+++ b/src/test/java/com/android/tools/r8/TestParametersBuilder.java
@@ -25,6 +25,7 @@
   // Predicate describing which test parameters are applicable to the test.
   // Built via the methods found below. Defaults to no applicable parameters, i.e., the emtpy set.
   private Predicate<TestParameters> filter = param -> false;
+  private boolean hasDexRuntimeFilter = false;
 
   private TestParametersBuilder() {}
 
@@ -42,6 +43,7 @@
   }
 
   private TestParametersBuilder withDexRuntimeFilter(Predicate<DexVm.Version> predicate) {
+    hasDexRuntimeFilter = true;
     return withFilter(
         p -> p.isDexRuntime() && predicate.test(p.getRuntime().asDex().getVm().getVersion()));
   }
@@ -173,6 +175,7 @@
   }
 
   public TestParametersCollection build() {
+    assert !enableApiLevels || hasDexRuntimeFilter;
     return new TestParametersCollection(
         getAvailableRuntimes()
             .flatMap(this::createParameters)