Run test build: Rename 'experimental' to 'api_level'

The purpose of the 'experimental' flag is to provide named API level.
Allow the API level to be string or integer instead.

Test: Build artifacts are identical as before.
Change-Id: I15a78979783c1a9237ba9814a48171349e4e5a00
diff --git a/test/160-read-barrier-stress/build.py b/test/160-read-barrier-stress/build.py
index 04eed85..b65e088 100644
--- a/test/160-read-barrier-stress/build.py
+++ b/test/160-read-barrier-stress/build.py
@@ -17,4 +17,4 @@
 def build(ctx):
   if ctx.jvm:
     return  # The test does not build on JVM
-  ctx.default_build(experimental="var-handles")
+  ctx.default_build(api_level="var-handles")
diff --git a/test/181-default-methods/build.py b/test/181-default-methods/build.py
index fe1c916..3e0ecd5 100644
--- a/test/181-default-methods/build.py
+++ b/test/181-default-methods/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="default-methods")
+  ctx.default_build(api_level="default-methods")
diff --git a/test/1981-structural-redef-private-method-handles/build.py b/test/1981-structural-redef-private-method-handles/build.py
index 107499c..7ccbe96 100644
--- a/test/1981-structural-redef-private-method-handles/build.py
+++ b/test/1981-structural-redef-private-method-handles/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="var-handles")
+  ctx.default_build(api_level="var-handles")
diff --git a/test/1983-structural-redefinition-failures/build.py b/test/1983-structural-redefinition-failures/build.py
index 107499c..7ccbe96 100644
--- a/test/1983-structural-redefinition-failures/build.py
+++ b/test/1983-structural-redefinition-failures/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="var-handles")
+  ctx.default_build(api_level="var-handles")
diff --git a/test/2239-varhandle-perf/build.py b/test/2239-varhandle-perf/build.py
index 1165a99..3466dfe 100644
--- a/test/2239-varhandle-perf/build.py
+++ b/test/2239-varhandle-perf/build.py
@@ -19,4 +19,4 @@
   if ctx.jvm:
     return  # The test does not build on JVM
 
-  ctx.default_build(experimental="var-handles")
+  ctx.default_build(api_level="var-handles")
diff --git a/test/616-cha-interface-default/build.py b/test/616-cha-interface-default/build.py
index fe1c916..3e0ecd5 100644
--- a/test/616-cha-interface-default/build.py
+++ b/test/616-cha-interface-default/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="default-methods")
+  ctx.default_build(api_level="default-methods")
diff --git a/test/710-varhandle-creation/build.py b/test/710-varhandle-creation/build.py
index 107499c..7ccbe96 100644
--- a/test/710-varhandle-creation/build.py
+++ b/test/710-varhandle-creation/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="var-handles")
+  ctx.default_build(api_level="var-handles")
diff --git a/test/712-varhandle-invocations/build.py b/test/712-varhandle-invocations/build.py
index 0695db3..511d1c1 100644
--- a/test/712-varhandle-invocations/build.py
+++ b/test/712-varhandle-invocations/build.py
@@ -16,4 +16,4 @@
 
 def build(ctx):
   ctx.bash("./generate-sources")
-  ctx.default_build(experimental="var-handles")
+  ctx.default_build(api_level="var-handles")
diff --git a/test/713-varhandle-invokers/build.py b/test/713-varhandle-invokers/build.py
index 107499c..7ccbe96 100644
--- a/test/713-varhandle-invokers/build.py
+++ b/test/713-varhandle-invokers/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="var-handles")
+  ctx.default_build(api_level="var-handles")
diff --git a/test/714-invoke-custom-lambda-metafactory/build.py b/test/714-invoke-custom-lambda-metafactory/build.py
index a792b73..c1b1b60 100644
--- a/test/714-invoke-custom-lambda-metafactory/build.py
+++ b/test/714-invoke-custom-lambda-metafactory/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(use_desugar=False, experimental="method-handles")
+  ctx.default_build(use_desugar=False, api_level="method-handles")
diff --git a/test/715-clinit-implicit-parameter-annotations/build.py b/test/715-clinit-implicit-parameter-annotations/build.py
index 0f3c108..98d6c5d 100644
--- a/test/715-clinit-implicit-parameter-annotations/build.py
+++ b/test/715-clinit-implicit-parameter-annotations/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="parameter-annotations")
+  ctx.default_build(api_level="parameter-annotations")
diff --git a/test/716-jli-jit-samples/build.py b/test/716-jli-jit-samples/build.py
index 107499c..7ccbe96 100644
--- a/test/716-jli-jit-samples/build.py
+++ b/test/716-jli-jit-samples/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="var-handles")
+  ctx.default_build(api_level="var-handles")
diff --git a/test/719-varhandle-concurrency/build.py b/test/719-varhandle-concurrency/build.py
index 107499c..7ccbe96 100644
--- a/test/719-varhandle-concurrency/build.py
+++ b/test/719-varhandle-concurrency/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="var-handles")
+  ctx.default_build(api_level="var-handles")
diff --git a/test/807-method-handle-and-mr/build.py b/test/807-method-handle-and-mr/build.py
index d317a1a..027dd53 100644
--- a/test/807-method-handle-and-mr/build.py
+++ b/test/807-method-handle-and-mr/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="method-handles")
+  ctx.default_build(api_level="method-handles")
diff --git a/test/948-change-annotations/build.py b/test/948-change-annotations/build.py
index c8f63e8..1613d3a 100644
--- a/test/948-change-annotations/build.py
+++ b/test/948-change-annotations/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="agents")
+  ctx.default_build(api_level="agents")
diff --git a/test/953-invoke-polymorphic-compiler/build.py b/test/953-invoke-polymorphic-compiler/build.py
index d317a1a..027dd53 100644
--- a/test/953-invoke-polymorphic-compiler/build.py
+++ b/test/953-invoke-polymorphic-compiler/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="method-handles")
+  ctx.default_build(api_level="method-handles")
diff --git a/test/954-invoke-polymorphic-verifier/build.py b/test/954-invoke-polymorphic-verifier/build.py
index d317a1a..027dd53 100644
--- a/test/954-invoke-polymorphic-verifier/build.py
+++ b/test/954-invoke-polymorphic-verifier/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="method-handles")
+  ctx.default_build(api_level="method-handles")
diff --git a/test/955-methodhandles-smali/build.py b/test/955-methodhandles-smali/build.py
index d317a1a..027dd53 100644
--- a/test/955-methodhandles-smali/build.py
+++ b/test/955-methodhandles-smali/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="method-handles")
+  ctx.default_build(api_level="method-handles")
diff --git a/test/956-methodhandles/build.py b/test/956-methodhandles/build.py
index d317a1a..027dd53 100644
--- a/test/956-methodhandles/build.py
+++ b/test/956-methodhandles/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="method-handles")
+  ctx.default_build(api_level="method-handles")
diff --git a/test/957-methodhandle-transforms/build.py b/test/957-methodhandle-transforms/build.py
index d317a1a..027dd53 100644
--- a/test/957-methodhandle-transforms/build.py
+++ b/test/957-methodhandle-transforms/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="method-handles")
+  ctx.default_build(api_level="method-handles")
diff --git a/test/958-methodhandle-stackframe/build.py b/test/958-methodhandle-stackframe/build.py
index d317a1a..027dd53 100644
--- a/test/958-methodhandle-stackframe/build.py
+++ b/test/958-methodhandle-stackframe/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="method-handles")
+  ctx.default_build(api_level="method-handles")
diff --git a/test/959-invoke-polymorphic-accessors/build.py b/test/959-invoke-polymorphic-accessors/build.py
index d317a1a..027dd53 100644
--- a/test/959-invoke-polymorphic-accessors/build.py
+++ b/test/959-invoke-polymorphic-accessors/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="method-handles")
+  ctx.default_build(api_level="method-handles")
diff --git a/test/960-default-smali/build.py b/test/960-default-smali/build.py
index 37b80cf..4c6b53c 100644
--- a/test/960-default-smali/build.py
+++ b/test/960-default-smali/build.py
@@ -16,4 +16,4 @@
 
 def build(ctx):
   ctx.bash("./generate-sources")
-  ctx.default_build(experimental="default-methods")
+  ctx.default_build(api_level="default-methods")
diff --git a/test/961-default-iface-resolution-gen/build.py b/test/961-default-iface-resolution-gen/build.py
index 37b80cf..4c6b53c 100644
--- a/test/961-default-iface-resolution-gen/build.py
+++ b/test/961-default-iface-resolution-gen/build.py
@@ -16,4 +16,4 @@
 
 def build(ctx):
   ctx.bash("./generate-sources")
-  ctx.default_build(experimental="default-methods")
+  ctx.default_build(api_level="default-methods")
diff --git a/test/962-iface-static/build.py b/test/962-iface-static/build.py
index fe1c916..3e0ecd5 100644
--- a/test/962-iface-static/build.py
+++ b/test/962-iface-static/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="default-methods")
+  ctx.default_build(api_level="default-methods")
diff --git a/test/964-default-iface-init-gen/build.py b/test/964-default-iface-init-gen/build.py
index 37b80cf..4c6b53c 100644
--- a/test/964-default-iface-init-gen/build.py
+++ b/test/964-default-iface-init-gen/build.py
@@ -16,4 +16,4 @@
 
 def build(ctx):
   ctx.bash("./generate-sources")
-  ctx.default_build(experimental="default-methods")
+  ctx.default_build(api_level="default-methods")
diff --git a/test/968-default-partial-compile-gen/build.py b/test/968-default-partial-compile-gen/build.py
index 8868b70..435be54 100644
--- a/test/968-default-partial-compile-gen/build.py
+++ b/test/968-default-partial-compile-gen/build.py
@@ -20,4 +20,4 @@
   ctx.bash("./generate-sources --" + ctx.mode)
   if ctx.jvm:
     return
-  ctx.default_build(experimental="default-methods")
+  ctx.default_build(api_level="default-methods")
diff --git a/test/969-iface-super/build.py b/test/969-iface-super/build.py
index 37b80cf..4c6b53c 100644
--- a/test/969-iface-super/build.py
+++ b/test/969-iface-super/build.py
@@ -16,4 +16,4 @@
 
 def build(ctx):
   ctx.bash("./generate-sources")
-  ctx.default_build(experimental="default-methods")
+  ctx.default_build(api_level="default-methods")
diff --git a/test/970-iface-super-resolution-gen/build.py b/test/970-iface-super-resolution-gen/build.py
index 795eb6e..114e452 100644
--- a/test/970-iface-super-resolution-gen/build.py
+++ b/test/970-iface-super-resolution-gen/build.py
@@ -18,4 +18,4 @@
 
 def build(ctx):
   ctx.bash("./generate-sources --" + ctx.mode)
-  ctx.default_build(experimental="default-methods")
+  ctx.default_build(api_level="default-methods")
diff --git a/test/971-iface-super/build.py b/test/971-iface-super/build.py
index 8868b70..435be54 100644
--- a/test/971-iface-super/build.py
+++ b/test/971-iface-super/build.py
@@ -20,4 +20,4 @@
   ctx.bash("./generate-sources --" + ctx.mode)
   if ctx.jvm:
     return
-  ctx.default_build(experimental="default-methods")
+  ctx.default_build(api_level="default-methods")
diff --git a/test/975-iface-private/build.py b/test/975-iface-private/build.py
index fe1c916..3e0ecd5 100644
--- a/test/975-iface-private/build.py
+++ b/test/975-iface-private/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="default-methods")
+  ctx.default_build(api_level="default-methods")
diff --git a/test/978-virtual-interface/build.py b/test/978-virtual-interface/build.py
index fe1c916..3e0ecd5 100644
--- a/test/978-virtual-interface/build.py
+++ b/test/978-virtual-interface/build.py
@@ -15,4 +15,4 @@
 
 
 def build(ctx):
-  ctx.default_build(experimental="default-methods")
+  ctx.default_build(api_level="default-methods")
diff --git a/test/run_test_build.py b/test/run_test_build.py
index 689b193..b7381dd 100755
--- a/test/run_test_build.py
+++ b/test/run_test_build.py
@@ -111,10 +111,9 @@
       use_desugar=True,
       use_hiddenapi=True,
       need_dex=None,
-      experimental="no-experiment",
       zip_compression_method="deflate",
       zip_align_bytes=None,
-      api_level=None,
+      api_level:Union[int, str]=26,  # Can also be named alias (string).
       javac_args=[],
       d8_flags=[],
       smali_args=[],
@@ -136,19 +135,16 @@
       use_desugar = False
 
     # Set API level for smali and d8.
-    if api_level:
-      assert isinstance(api_level, int), api_level
-      assert experimental == "no-experiment", experimental
-    else:
-      experiment2api_level = {
-        "no-experiment": 26,
+    if isinstance(api_level, str):
+      API_LEVEL = {
         "default-methods": 24,
         "parameter-annotations": 25,
         "agents": 26,
         "method-handles": 26,
         "var-handles": 28,
       }
-      api_level = experiment2api_level[experimental]
+      api_level = API_LEVEL[api_level]
+    assert isinstance(api_level, int), api_level
 
     def run(executable: pathlib.Path, args: List[str]):
       assert isinstance(executable, pathlib.Path), executable