Verify ART run-tests' standard output and standard error separately.

Introduce expected standard error files for ART run-tests. Collect
tests' standard output and standard error separately and check them
against the corresponding expectation file.

Test: Run ART run-tests on host and device using `testrunner.py`.
Test: atest --test-mapping art:all
Test: atest --test-mapping cts/hostsidetests/jvmti:all
Bug: 171865375
Bug: 147812905
Change-Id: Ie95bec4a4684ff6791d464124ce8976339432d1f
diff --git a/test/000-nop/expected-stderr.txt b/test/000-nop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/000-nop/expected-stderr.txt
diff --git a/test/001-HelloWorld/Android.bp b/test/001-HelloWorld/Android.bp
index 56883de..e8f04f5 100644
--- a/test/001-HelloWorld/Android.bp
+++ b/test/001-HelloWorld/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-001-HelloWorld-expected-stdout"],
+    data: [
+        ":art-run-test-001-HelloWorld-expected-stdout",
+        ":art-run-test-001-HelloWorld-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-001-HelloWorld-expected-stdout",
     out: ["art-run-test-001-HelloWorld-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-001-HelloWorld-expected-stderr",
+    out: ["art-run-test-001-HelloWorld-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/001-HelloWorld/expected-stderr.txt b/test/001-HelloWorld/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/001-HelloWorld/expected-stderr.txt
diff --git a/test/001-Main/Android.bp b/test/001-Main/Android.bp
index 3f33fc0..164c3ca 100644
--- a/test/001-Main/Android.bp
+++ b/test/001-Main/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-001-Main-expected-stdout"],
+    data: [
+        ":art-run-test-001-Main-expected-stdout",
+        ":art-run-test-001-Main-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-001-Main-expected-stdout",
     out: ["art-run-test-001-Main-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-001-Main-expected-stderr",
+    out: ["art-run-test-001-Main-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/001-Main/expected-stderr.txt b/test/001-Main/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/001-Main/expected-stderr.txt
diff --git a/test/002-sleep/Android.bp b/test/002-sleep/Android.bp
index fb39bb6..1d367c4 100644
--- a/test/002-sleep/Android.bp
+++ b/test/002-sleep/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-002-sleep-expected-stdout"],
+    data: [
+        ":art-run-test-002-sleep-expected-stdout",
+        ":art-run-test-002-sleep-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-002-sleep-expected-stdout",
     out: ["art-run-test-002-sleep-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-002-sleep-expected-stderr",
+    out: ["art-run-test-002-sleep-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/002-sleep/expected-stderr.txt b/test/002-sleep/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/002-sleep/expected-stderr.txt
diff --git a/test/003-omnibus-opcodes/expected-stderr.txt b/test/003-omnibus-opcodes/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/003-omnibus-opcodes/expected-stderr.txt
diff --git a/test/004-InterfaceTest/Android.bp b/test/004-InterfaceTest/Android.bp
index 51fa5ea..da35435 100644
--- a/test/004-InterfaceTest/Android.bp
+++ b/test/004-InterfaceTest/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-004-InterfaceTest-expected-stdout"],
+    data: [
+        ":art-run-test-004-InterfaceTest-expected-stdout",
+        ":art-run-test-004-InterfaceTest-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-004-InterfaceTest-expected-stdout",
     out: ["art-run-test-004-InterfaceTest-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-004-InterfaceTest-expected-stderr",
+    out: ["art-run-test-004-InterfaceTest-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/004-InterfaceTest/expected-stderr.txt b/test/004-InterfaceTest/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/004-InterfaceTest/expected-stderr.txt
diff --git a/test/004-JniTest/expected-stderr.txt b/test/004-JniTest/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/004-JniTest/expected-stderr.txt
diff --git a/test/004-NativeAllocations/expected-stderr.txt b/test/004-NativeAllocations/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/004-NativeAllocations/expected-stderr.txt
diff --git a/test/004-ReferenceMap/expected-stderr.txt b/test/004-ReferenceMap/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/004-ReferenceMap/expected-stderr.txt
diff --git a/test/004-SignalTest/Android.bp b/test/004-SignalTest/Android.bp
index 7eca5ec..b63aabe 100644
--- a/test/004-SignalTest/Android.bp
+++ b/test/004-SignalTest/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-004-SignalTest-expected-stdout"],
+    data: [
+        ":art-run-test-004-SignalTest-expected-stdout",
+        ":art-run-test-004-SignalTest-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-004-SignalTest-expected-stdout",
     out: ["art-run-test-004-SignalTest-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-004-SignalTest-expected-stderr",
+    out: ["art-run-test-004-SignalTest-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/004-SignalTest/expected-stderr.txt b/test/004-SignalTest/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/004-SignalTest/expected-stderr.txt
diff --git a/test/004-StackWalk/expected-stderr.txt b/test/004-StackWalk/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/004-StackWalk/expected-stderr.txt
diff --git a/test/004-ThreadStress/check b/test/004-ThreadStress/check
index ecc5ea8..c7ee9f4 100755
--- a/test/004-ThreadStress/check
+++ b/test/004-ThreadStress/check
@@ -14,10 +14,17 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # Do not compare numbers, so replace numbers with 'N'.
 # Remove all messages relating to failing to allocate a java-peer for the
 # shutdown thread. This can occasionally happen with this test but it is not
 # something we really need to worry about here.
 sed '-es/[0-9][0-9]*/N/g' "$2" \
-  | sed "/Exception creating thread peer:/,+3d" \
-  | diff --strip-trailing-cr -q "$1" - >/dev/null
+    | sed "/Exception creating thread peer:/,+3d" \
+    | diff --strip-trailing-cr -q "$1" - >/dev/null \
+  && diff --strip-trailing-cr -q "$3" "$4" >/dev/null
diff --git a/test/004-ThreadStress/expected-stderr.txt b/test/004-ThreadStress/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/004-ThreadStress/expected-stderr.txt
diff --git a/test/004-UnsafeTest/Android.bp b/test/004-UnsafeTest/Android.bp
index 41bc73d..858f731 100644
--- a/test/004-UnsafeTest/Android.bp
+++ b/test/004-UnsafeTest/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-004-UnsafeTest-expected-stdout"],
+    data: [
+        ":art-run-test-004-UnsafeTest-expected-stdout",
+        ":art-run-test-004-UnsafeTest-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-004-UnsafeTest-expected-stdout",
     out: ["art-run-test-004-UnsafeTest-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-004-UnsafeTest-expected-stderr",
+    out: ["art-run-test-004-UnsafeTest-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/004-UnsafeTest/expected-stderr.txt b/test/004-UnsafeTest/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/004-UnsafeTest/expected-stderr.txt
diff --git a/test/004-checker-UnsafeTest18/Android.bp b/test/004-checker-UnsafeTest18/Android.bp
index f163f2c..912b67b 100644
--- a/test/004-checker-UnsafeTest18/Android.bp
+++ b/test/004-checker-UnsafeTest18/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-004-checker-UnsafeTest18-expected-stdout"],
+    data: [
+        ":art-run-test-004-checker-UnsafeTest18-expected-stdout",
+        ":art-run-test-004-checker-UnsafeTest18-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-004-checker-UnsafeTest18-expected-stdout",
     out: ["art-run-test-004-checker-UnsafeTest18-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-004-checker-UnsafeTest18-expected-stderr",
+    out: ["art-run-test-004-checker-UnsafeTest18-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/004-checker-UnsafeTest18/expected-stderr.txt b/test/004-checker-UnsafeTest18/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/004-checker-UnsafeTest18/expected-stderr.txt
diff --git a/test/005-annotations/expected-stderr.txt b/test/005-annotations/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/005-annotations/expected-stderr.txt
diff --git a/test/006-args/Android.bp b/test/006-args/Android.bp
index 3d19e35..c146e62 100644
--- a/test/006-args/Android.bp
+++ b/test/006-args/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-006-args-expected-stdout"],
+    data: [
+        ":art-run-test-006-args-expected-stdout",
+        ":art-run-test-006-args-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-006-args-expected-stdout",
     out: ["art-run-test-006-args-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-006-args-expected-stderr",
+    out: ["art-run-test-006-args-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/006-args/expected-stderr.txt b/test/006-args/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/006-args/expected-stderr.txt
diff --git a/test/007-count10/Android.bp b/test/007-count10/Android.bp
index 415ff2e..1936512 100644
--- a/test/007-count10/Android.bp
+++ b/test/007-count10/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-007-count10-expected-stdout"],
+    data: [
+        ":art-run-test-007-count10-expected-stdout",
+        ":art-run-test-007-count10-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-007-count10-expected-stdout",
     out: ["art-run-test-007-count10-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-007-count10-expected-stderr",
+    out: ["art-run-test-007-count10-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/007-count10/expected-stderr.txt b/test/007-count10/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/007-count10/expected-stderr.txt
diff --git a/test/008-exceptions/expected-stderr.txt b/test/008-exceptions/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/008-exceptions/expected-stderr.txt
diff --git a/test/009-instanceof/Android.bp b/test/009-instanceof/Android.bp
index 7878eb8..bfbb560 100644
--- a/test/009-instanceof/Android.bp
+++ b/test/009-instanceof/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-009-instanceof-expected-stdout"],
+    data: [
+        ":art-run-test-009-instanceof-expected-stdout",
+        ":art-run-test-009-instanceof-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-009-instanceof-expected-stdout",
     out: ["art-run-test-009-instanceof-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-009-instanceof-expected-stderr",
+    out: ["art-run-test-009-instanceof-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/009-instanceof/expected-stderr.txt b/test/009-instanceof/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/009-instanceof/expected-stderr.txt
diff --git a/test/010-instance/Android.bp b/test/010-instance/Android.bp
index d0064a2..e6105a7 100644
--- a/test/010-instance/Android.bp
+++ b/test/010-instance/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-010-instance-expected-stdout"],
+    data: [
+        ":art-run-test-010-instance-expected-stdout",
+        ":art-run-test-010-instance-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-010-instance-expected-stdout",
     out: ["art-run-test-010-instance-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-010-instance-expected-stderr",
+    out: ["art-run-test-010-instance-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/010-instance/expected-stderr.txt b/test/010-instance/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/010-instance/expected-stderr.txt
diff --git a/test/011-array-copy/Android.bp b/test/011-array-copy/Android.bp
index 378ccc4..4175bb7 100644
--- a/test/011-array-copy/Android.bp
+++ b/test/011-array-copy/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-011-array-copy-expected-stdout"],
+    data: [
+        ":art-run-test-011-array-copy-expected-stdout",
+        ":art-run-test-011-array-copy-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-011-array-copy-expected-stdout",
     out: ["art-run-test-011-array-copy-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-011-array-copy-expected-stderr",
+    out: ["art-run-test-011-array-copy-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/011-array-copy/expected-stderr.txt b/test/011-array-copy/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/011-array-copy/expected-stderr.txt
diff --git a/test/012-math/Android.bp b/test/012-math/Android.bp
index 77a5884..e23fc09 100644
--- a/test/012-math/Android.bp
+++ b/test/012-math/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-012-math-expected-stdout"],
+    data: [
+        ":art-run-test-012-math-expected-stdout",
+        ":art-run-test-012-math-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-012-math-expected-stdout",
     out: ["art-run-test-012-math-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-012-math-expected-stderr",
+    out: ["art-run-test-012-math-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/012-math/expected-stderr.txt b/test/012-math/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/012-math/expected-stderr.txt
diff --git a/test/013-math2/Android.bp b/test/013-math2/Android.bp
index 9a750ae..28685df 100644
--- a/test/013-math2/Android.bp
+++ b/test/013-math2/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-013-math2-expected-stdout"],
+    data: [
+        ":art-run-test-013-math2-expected-stdout",
+        ":art-run-test-013-math2-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-013-math2-expected-stdout",
     out: ["art-run-test-013-math2-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-013-math2-expected-stderr",
+    out: ["art-run-test-013-math2-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/013-math2/expected-stderr.txt b/test/013-math2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/013-math2/expected-stderr.txt
diff --git a/test/014-math3/Android.bp b/test/014-math3/Android.bp
index 53f8ab2..a97cd9c 100644
--- a/test/014-math3/Android.bp
+++ b/test/014-math3/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-014-math3-expected-stdout"],
+    data: [
+        ":art-run-test-014-math3-expected-stdout",
+        ":art-run-test-014-math3-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-014-math3-expected-stdout",
     out: ["art-run-test-014-math3-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-014-math3-expected-stderr",
+    out: ["art-run-test-014-math3-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/014-math3/expected-stderr.txt b/test/014-math3/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/014-math3/expected-stderr.txt
diff --git a/test/015-switch/Android.bp b/test/015-switch/Android.bp
index 013fbca..16a4c60 100644
--- a/test/015-switch/Android.bp
+++ b/test/015-switch/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-015-switch-expected-stdout"],
+    data: [
+        ":art-run-test-015-switch-expected-stdout",
+        ":art-run-test-015-switch-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-015-switch-expected-stdout",
     out: ["art-run-test-015-switch-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-015-switch-expected-stderr",
+    out: ["art-run-test-015-switch-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/015-switch/expected-stderr.txt b/test/015-switch/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/015-switch/expected-stderr.txt
diff --git a/test/016-intern/Android.bp b/test/016-intern/Android.bp
index b6b7a8f..f41732c 100644
--- a/test/016-intern/Android.bp
+++ b/test/016-intern/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-016-intern-expected-stdout"],
+    data: [
+        ":art-run-test-016-intern-expected-stdout",
+        ":art-run-test-016-intern-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-016-intern-expected-stdout",
     out: ["art-run-test-016-intern-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-016-intern-expected-stderr",
+    out: ["art-run-test-016-intern-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/016-intern/expected-stderr.txt b/test/016-intern/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/016-intern/expected-stderr.txt
diff --git a/test/017-float/Android.bp b/test/017-float/Android.bp
index d1678c1..49e1260 100644
--- a/test/017-float/Android.bp
+++ b/test/017-float/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-017-float-expected-stdout"],
+    data: [
+        ":art-run-test-017-float-expected-stdout",
+        ":art-run-test-017-float-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-017-float-expected-stdout",
     out: ["art-run-test-017-float-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-017-float-expected-stderr",
+    out: ["art-run-test-017-float-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/017-float/expected-stderr.txt b/test/017-float/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/017-float/expected-stderr.txt
diff --git a/test/018-stack-overflow/Android.bp b/test/018-stack-overflow/Android.bp
index c0a2bdc..e32d87b 100644
--- a/test/018-stack-overflow/Android.bp
+++ b/test/018-stack-overflow/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-018-stack-overflow-expected-stdout"],
+    data: [
+        ":art-run-test-018-stack-overflow-expected-stdout",
+        ":art-run-test-018-stack-overflow-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-018-stack-overflow-expected-stdout",
     out: ["art-run-test-018-stack-overflow-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-018-stack-overflow-expected-stderr",
+    out: ["art-run-test-018-stack-overflow-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/018-stack-overflow/expected-stderr.txt b/test/018-stack-overflow/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/018-stack-overflow/expected-stderr.txt
diff --git a/test/019-wrong-array-type/Android.bp b/test/019-wrong-array-type/Android.bp
index e756088..5040354 100644
--- a/test/019-wrong-array-type/Android.bp
+++ b/test/019-wrong-array-type/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-019-wrong-array-type-expected-stdout"],
+    data: [
+        ":art-run-test-019-wrong-array-type-expected-stdout",
+        ":art-run-test-019-wrong-array-type-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-019-wrong-array-type-expected-stdout",
     out: ["art-run-test-019-wrong-array-type-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-019-wrong-array-type-expected-stderr",
+    out: ["art-run-test-019-wrong-array-type-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/019-wrong-array-type/expected-stderr.txt b/test/019-wrong-array-type/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/019-wrong-array-type/expected-stderr.txt
diff --git a/test/020-string/Android.bp b/test/020-string/Android.bp
index cd6617e..c7761d3 100644
--- a/test/020-string/Android.bp
+++ b/test/020-string/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-020-string-expected-stdout"],
+    data: [
+        ":art-run-test-020-string-expected-stdout",
+        ":art-run-test-020-string-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-020-string-expected-stdout",
     out: ["art-run-test-020-string-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-020-string-expected-stderr",
+    out: ["art-run-test-020-string-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/020-string/expected-stderr.txt b/test/020-string/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/020-string/expected-stderr.txt
diff --git a/test/021-string2/Android.bp b/test/021-string2/Android.bp
index 725fdd8..0f17a2b 100644
--- a/test/021-string2/Android.bp
+++ b/test/021-string2/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-021-string2-expected-stdout"],
+    data: [
+        ":art-run-test-021-string2-expected-stdout",
+        ":art-run-test-021-string2-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-021-string2-expected-stdout",
     out: ["art-run-test-021-string2-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-021-string2-expected-stderr",
+    out: ["art-run-test-021-string2-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/021-string2/expected-stderr.txt b/test/021-string2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/021-string2/expected-stderr.txt
diff --git a/test/022-interface/Android.bp b/test/022-interface/Android.bp
index eefa63b..4dafb42 100644
--- a/test/022-interface/Android.bp
+++ b/test/022-interface/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-022-interface-expected-stdout"],
+    data: [
+        ":art-run-test-022-interface-expected-stdout",
+        ":art-run-test-022-interface-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-022-interface-expected-stdout",
     out: ["art-run-test-022-interface-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-022-interface-expected-stderr",
+    out: ["art-run-test-022-interface-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/022-interface/expected-stderr.txt b/test/022-interface/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/022-interface/expected-stderr.txt
diff --git a/test/023-many-interfaces/expected-stderr.txt b/test/023-many-interfaces/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/023-many-interfaces/expected-stderr.txt
diff --git a/test/024-illegal-access/expected-stderr.txt b/test/024-illegal-access/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/024-illegal-access/expected-stderr.txt
diff --git a/test/025-access-controller/Android.bp b/test/025-access-controller/Android.bp
index a94ef64..ff9fd85 100644
--- a/test/025-access-controller/Android.bp
+++ b/test/025-access-controller/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-025-access-controller-expected-stdout"],
+    data: [
+        ":art-run-test-025-access-controller-expected-stdout",
+        ":art-run-test-025-access-controller-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-025-access-controller-expected-stdout",
     out: ["art-run-test-025-access-controller-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-025-access-controller-expected-stderr",
+    out: ["art-run-test-025-access-controller-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/025-access-controller/expected-stderr.txt b/test/025-access-controller/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/025-access-controller/expected-stderr.txt
diff --git a/test/026-access/Android.bp b/test/026-access/Android.bp
index 1e7c852..4b2be5e 100644
--- a/test/026-access/Android.bp
+++ b/test/026-access/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-026-access-expected-stdout"],
+    data: [
+        ":art-run-test-026-access-expected-stdout",
+        ":art-run-test-026-access-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-026-access-expected-stdout",
     out: ["art-run-test-026-access-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-026-access-expected-stderr",
+    out: ["art-run-test-026-access-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/026-access/expected-stderr.txt b/test/026-access/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/026-access/expected-stderr.txt
diff --git a/test/027-arithmetic/Android.bp b/test/027-arithmetic/Android.bp
index d0c4446..9237c5b 100644
--- a/test/027-arithmetic/Android.bp
+++ b/test/027-arithmetic/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-027-arithmetic-expected-stdout"],
+    data: [
+        ":art-run-test-027-arithmetic-expected-stdout",
+        ":art-run-test-027-arithmetic-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-027-arithmetic-expected-stdout",
     out: ["art-run-test-027-arithmetic-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-027-arithmetic-expected-stderr",
+    out: ["art-run-test-027-arithmetic-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/027-arithmetic/expected-stderr.txt b/test/027-arithmetic/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/027-arithmetic/expected-stderr.txt
diff --git a/test/028-array-write/Android.bp b/test/028-array-write/Android.bp
index 0f1558c..3c57b4b 100644
--- a/test/028-array-write/Android.bp
+++ b/test/028-array-write/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-028-array-write-expected-stdout"],
+    data: [
+        ":art-run-test-028-array-write-expected-stdout",
+        ":art-run-test-028-array-write-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-028-array-write-expected-stdout",
     out: ["art-run-test-028-array-write-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-028-array-write-expected-stderr",
+    out: ["art-run-test-028-array-write-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/028-array-write/expected-stderr.txt b/test/028-array-write/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/028-array-write/expected-stderr.txt
diff --git a/test/029-assert/Android.bp b/test/029-assert/Android.bp
index aa222ed..8f44ac3 100644
--- a/test/029-assert/Android.bp
+++ b/test/029-assert/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-029-assert-expected-stdout"],
+    data: [
+        ":art-run-test-029-assert-expected-stdout",
+        ":art-run-test-029-assert-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-029-assert-expected-stdout",
     out: ["art-run-test-029-assert-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-029-assert-expected-stderr",
+    out: ["art-run-test-029-assert-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/029-assert/expected-stderr.txt b/test/029-assert/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/029-assert/expected-stderr.txt
diff --git a/test/030-bad-finalizer/Android.bp b/test/030-bad-finalizer/Android.bp
index b507ccb..d76ecab 100644
--- a/test/030-bad-finalizer/Android.bp
+++ b/test/030-bad-finalizer/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-030-bad-finalizer-expected-stdout"],
+    data: [
+        ":art-run-test-030-bad-finalizer-expected-stdout",
+        ":art-run-test-030-bad-finalizer-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-030-bad-finalizer-expected-stdout",
     out: ["art-run-test-030-bad-finalizer-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-030-bad-finalizer-expected-stderr",
+    out: ["art-run-test-030-bad-finalizer-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/030-bad-finalizer/expected-stderr.txt b/test/030-bad-finalizer/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/030-bad-finalizer/expected-stderr.txt
diff --git a/test/031-class-attributes/expected-stderr.txt b/test/031-class-attributes/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/031-class-attributes/expected-stderr.txt
diff --git a/test/032-concrete-sub/expected-stderr.txt b/test/032-concrete-sub/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/032-concrete-sub/expected-stderr.txt
diff --git a/test/033-class-init-deadlock/Android.bp b/test/033-class-init-deadlock/Android.bp
index f367406..fcdce1e 100644
--- a/test/033-class-init-deadlock/Android.bp
+++ b/test/033-class-init-deadlock/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-033-class-init-deadlock-expected-stdout"],
+    data: [
+        ":art-run-test-033-class-init-deadlock-expected-stdout",
+        ":art-run-test-033-class-init-deadlock-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-033-class-init-deadlock-expected-stdout",
     out: ["art-run-test-033-class-init-deadlock-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-033-class-init-deadlock-expected-stderr",
+    out: ["art-run-test-033-class-init-deadlock-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/033-class-init-deadlock/expected-stderr.txt b/test/033-class-init-deadlock/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/033-class-init-deadlock/expected-stderr.txt
diff --git a/test/034-call-null/Android.bp b/test/034-call-null/Android.bp
index de3a93e..6f8d5bd 100644
--- a/test/034-call-null/Android.bp
+++ b/test/034-call-null/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-034-call-null-expected-stdout"],
+    data: [
+        ":art-run-test-034-call-null-expected-stdout",
+        ":art-run-test-034-call-null-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-034-call-null-expected-stdout",
     out: ["art-run-test-034-call-null-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-034-call-null-expected-stderr",
+    out: ["art-run-test-034-call-null-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/034-call-null/expected-stderr.txt b/test/034-call-null/expected-stderr.txt
new file mode 100644
index 0000000..4e0281e
--- /dev/null
+++ b/test/034-call-null/expected-stderr.txt
@@ -0,0 +1,2 @@
+Exception in thread "main" java.lang.NullPointerException: Attempt to invoke direct method 'void Main.doStuff(int, int[][], java.lang.String, java.lang.String[][])' on a null object reference
+	at Main.main(Main.java:26)
diff --git a/test/034-call-null/expected-stdout.txt b/test/034-call-null/expected-stdout.txt
index 11aefde..a9bf5a0 100644
--- a/test/034-call-null/expected-stdout.txt
+++ b/test/034-call-null/expected-stdout.txt
@@ -1,3 +1 @@
-Exception in thread "main" java.lang.NullPointerException: Attempt to invoke direct method 'void Main.doStuff(int, int[][], java.lang.String, java.lang.String[][])' on a null object reference
-	at Main.main(Main.java:26)
 exit status: 1
diff --git a/test/035-enum/Android.bp b/test/035-enum/Android.bp
index 011ea2d..2397f5e 100644
--- a/test/035-enum/Android.bp
+++ b/test/035-enum/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-035-enum-expected-stdout"],
+    data: [
+        ":art-run-test-035-enum-expected-stdout",
+        ":art-run-test-035-enum-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-035-enum-expected-stdout",
     out: ["art-run-test-035-enum-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-035-enum-expected-stderr",
+    out: ["art-run-test-035-enum-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/035-enum/expected-stderr.txt b/test/035-enum/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/035-enum/expected-stderr.txt
diff --git a/test/036-finalizer/Android.bp b/test/036-finalizer/Android.bp
index 028bc0a..13b6d9a 100644
--- a/test/036-finalizer/Android.bp
+++ b/test/036-finalizer/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-036-finalizer-expected-stdout"],
+    data: [
+        ":art-run-test-036-finalizer-expected-stdout",
+        ":art-run-test-036-finalizer-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-036-finalizer-expected-stdout",
     out: ["art-run-test-036-finalizer-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-036-finalizer-expected-stderr",
+    out: ["art-run-test-036-finalizer-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/036-finalizer/expected-stderr.txt b/test/036-finalizer/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/036-finalizer/expected-stderr.txt
diff --git a/test/037-inherit/Android.bp b/test/037-inherit/Android.bp
index 270f7e8..d5b9bb1 100644
--- a/test/037-inherit/Android.bp
+++ b/test/037-inherit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-037-inherit-expected-stdout"],
+    data: [
+        ":art-run-test-037-inherit-expected-stdout",
+        ":art-run-test-037-inherit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-037-inherit-expected-stdout",
     out: ["art-run-test-037-inherit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-037-inherit-expected-stderr",
+    out: ["art-run-test-037-inherit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/037-inherit/expected-stderr.txt b/test/037-inherit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/037-inherit/expected-stderr.txt
diff --git a/test/038-inner-null/Android.bp b/test/038-inner-null/Android.bp
index bfae117..a0c1a4f 100644
--- a/test/038-inner-null/Android.bp
+++ b/test/038-inner-null/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-038-inner-null-expected-stdout"],
+    data: [
+        ":art-run-test-038-inner-null-expected-stdout",
+        ":art-run-test-038-inner-null-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-038-inner-null-expected-stdout",
     out: ["art-run-test-038-inner-null-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-038-inner-null-expected-stderr",
+    out: ["art-run-test-038-inner-null-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/038-inner-null/expected-stderr.txt b/test/038-inner-null/expected-stderr.txt
new file mode 100644
index 0000000..5136a99
--- /dev/null
+++ b/test/038-inner-null/expected-stderr.txt
@@ -0,0 +1,3 @@
+Exception in thread "main" java.lang.NullPointerException: Attempt to invoke virtual method 'void Main$Blort.repaint()' on a null object reference
+	at Main$Special.callInner(Main.java:31)
+	at Main.main(Main.java:20)
diff --git a/test/038-inner-null/expected-stdout.txt b/test/038-inner-null/expected-stdout.txt
index d148eff..3d87b3f 100644
--- a/test/038-inner-null/expected-stdout.txt
+++ b/test/038-inner-null/expected-stdout.txt
@@ -1,5 +1,2 @@
 new Special()
-Exception in thread "main" java.lang.NullPointerException: Attempt to invoke virtual method 'void Main$Blort.repaint()' on a null object reference
-	at Main$Special.callInner(Main.java:31)
-	at Main.main(Main.java:20)
 exit status: 1
diff --git a/test/039-join-main/Android.bp b/test/039-join-main/Android.bp
index c42b146..1419205 100644
--- a/test/039-join-main/Android.bp
+++ b/test/039-join-main/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-039-join-main-expected-stdout"],
+    data: [
+        ":art-run-test-039-join-main-expected-stdout",
+        ":art-run-test-039-join-main-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-039-join-main-expected-stdout",
     out: ["art-run-test-039-join-main-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-039-join-main-expected-stderr",
+    out: ["art-run-test-039-join-main-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/039-join-main/expected-stderr.txt b/test/039-join-main/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/039-join-main/expected-stderr.txt
diff --git a/test/040-miranda/Android.bp b/test/040-miranda/Android.bp
index 92c4cba..c57f939 100644
--- a/test/040-miranda/Android.bp
+++ b/test/040-miranda/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-040-miranda-expected-stdout"],
+    data: [
+        ":art-run-test-040-miranda-expected-stdout",
+        ":art-run-test-040-miranda-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-040-miranda-expected-stdout",
     out: ["art-run-test-040-miranda-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-040-miranda-expected-stderr",
+    out: ["art-run-test-040-miranda-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/040-miranda/expected-stderr.txt b/test/040-miranda/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/040-miranda/expected-stderr.txt
diff --git a/test/041-narrowing/Android.bp b/test/041-narrowing/Android.bp
index 2a11c06..c7d162e 100644
--- a/test/041-narrowing/Android.bp
+++ b/test/041-narrowing/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-041-narrowing-expected-stdout"],
+    data: [
+        ":art-run-test-041-narrowing-expected-stdout",
+        ":art-run-test-041-narrowing-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-041-narrowing-expected-stdout",
     out: ["art-run-test-041-narrowing-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-041-narrowing-expected-stderr",
+    out: ["art-run-test-041-narrowing-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/041-narrowing/expected-stderr.txt b/test/041-narrowing/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/041-narrowing/expected-stderr.txt
diff --git a/test/042-new-instance/expected-stderr.txt b/test/042-new-instance/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/042-new-instance/expected-stderr.txt
diff --git a/test/043-privates/Android.bp b/test/043-privates/Android.bp
index 931e0b6..fb367c3 100644
--- a/test/043-privates/Android.bp
+++ b/test/043-privates/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-043-privates-expected-stdout"],
+    data: [
+        ":art-run-test-043-privates-expected-stdout",
+        ":art-run-test-043-privates-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-043-privates-expected-stdout",
     out: ["art-run-test-043-privates-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-043-privates-expected-stderr",
+    out: ["art-run-test-043-privates-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/043-privates/expected-stderr.txt b/test/043-privates/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/043-privates/expected-stderr.txt
diff --git a/test/044-proxy/Android.bp b/test/044-proxy/Android.bp
index 0d23221..860ddb6 100644
--- a/test/044-proxy/Android.bp
+++ b/test/044-proxy/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-044-proxy-expected-stdout"],
+    data: [
+        ":art-run-test-044-proxy-expected-stdout",
+        ":art-run-test-044-proxy-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-044-proxy-expected-stdout",
     out: ["art-run-test-044-proxy-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-044-proxy-expected-stderr",
+    out: ["art-run-test-044-proxy-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/044-proxy/expected-stderr.txt b/test/044-proxy/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/044-proxy/expected-stderr.txt
diff --git a/test/045-reflect-array/Android.bp b/test/045-reflect-array/Android.bp
index 699c36e..1da76c8 100644
--- a/test/045-reflect-array/Android.bp
+++ b/test/045-reflect-array/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-045-reflect-array-expected-stdout"],
+    data: [
+        ":art-run-test-045-reflect-array-expected-stdout",
+        ":art-run-test-045-reflect-array-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-045-reflect-array-expected-stdout",
     out: ["art-run-test-045-reflect-array-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-045-reflect-array-expected-stderr",
+    out: ["art-run-test-045-reflect-array-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/045-reflect-array/expected-stderr.txt b/test/045-reflect-array/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/045-reflect-array/expected-stderr.txt
diff --git a/test/046-reflect/Android.bp b/test/046-reflect/Android.bp
index 7e2fbee..73c3ec7 100644
--- a/test/046-reflect/Android.bp
+++ b/test/046-reflect/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-046-reflect-expected-stdout"],
+    data: [
+        ":art-run-test-046-reflect-expected-stdout",
+        ":art-run-test-046-reflect-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-046-reflect-expected-stdout",
     out: ["art-run-test-046-reflect-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-046-reflect-expected-stderr",
+    out: ["art-run-test-046-reflect-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/046-reflect/expected-stderr.txt b/test/046-reflect/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/046-reflect/expected-stderr.txt
diff --git a/test/047-returns/Android.bp b/test/047-returns/Android.bp
index 6f3bca3..6f4505d 100644
--- a/test/047-returns/Android.bp
+++ b/test/047-returns/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-047-returns-expected-stdout"],
+    data: [
+        ":art-run-test-047-returns-expected-stdout",
+        ":art-run-test-047-returns-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-047-returns-expected-stdout",
     out: ["art-run-test-047-returns-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-047-returns-expected-stderr",
+    out: ["art-run-test-047-returns-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/047-returns/expected-stderr.txt b/test/047-returns/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/047-returns/expected-stderr.txt
diff --git a/test/048-reflect-v8/Android.bp b/test/048-reflect-v8/Android.bp
index 274a110..11c3287 100644
--- a/test/048-reflect-v8/Android.bp
+++ b/test/048-reflect-v8/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-048-reflect-v8-expected-stdout"],
+    data: [
+        ":art-run-test-048-reflect-v8-expected-stdout",
+        ":art-run-test-048-reflect-v8-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-048-reflect-v8-expected-stdout",
     out: ["art-run-test-048-reflect-v8-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-048-reflect-v8-expected-stderr",
+    out: ["art-run-test-048-reflect-v8-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/048-reflect-v8/expected-stderr.txt b/test/048-reflect-v8/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/048-reflect-v8/expected-stderr.txt
diff --git a/test/049-show-object/Android.bp b/test/049-show-object/Android.bp
index 2d77a1d..d044249 100644
--- a/test/049-show-object/Android.bp
+++ b/test/049-show-object/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-049-show-object-expected-stdout"],
+    data: [
+        ":art-run-test-049-show-object-expected-stdout",
+        ":art-run-test-049-show-object-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-049-show-object-expected-stdout",
     out: ["art-run-test-049-show-object-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-049-show-object-expected-stderr",
+    out: ["art-run-test-049-show-object-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/049-show-object/expected-stderr.txt b/test/049-show-object/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/049-show-object/expected-stderr.txt
diff --git a/test/050-sync-test/Android.bp b/test/050-sync-test/Android.bp
index f1a562a..b770f7f 100644
--- a/test/050-sync-test/Android.bp
+++ b/test/050-sync-test/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-050-sync-test-expected-stdout"],
+    data: [
+        ":art-run-test-050-sync-test-expected-stdout",
+        ":art-run-test-050-sync-test-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-050-sync-test-expected-stdout",
     out: ["art-run-test-050-sync-test-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-050-sync-test-expected-stderr",
+    out: ["art-run-test-050-sync-test-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/050-sync-test/expected-stderr.txt b/test/050-sync-test/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/050-sync-test/expected-stderr.txt
diff --git a/test/051-thread/Android.bp b/test/051-thread/Android.bp
index 2348af4..6d0681b 100644
--- a/test/051-thread/Android.bp
+++ b/test/051-thread/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-051-thread-expected-stdout"],
+    data: [
+        ":art-run-test-051-thread-expected-stdout",
+        ":art-run-test-051-thread-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-051-thread-expected-stdout",
     out: ["art-run-test-051-thread-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-051-thread-expected-stderr",
+    out: ["art-run-test-051-thread-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/051-thread/expected-stderr.txt b/test/051-thread/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/051-thread/expected-stderr.txt
diff --git a/test/052-verifier-fun/Android.bp b/test/052-verifier-fun/Android.bp
index bb3ba4a..70e7266 100644
--- a/test/052-verifier-fun/Android.bp
+++ b/test/052-verifier-fun/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-052-verifier-fun-expected-stdout"],
+    data: [
+        ":art-run-test-052-verifier-fun-expected-stdout",
+        ":art-run-test-052-verifier-fun-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-052-verifier-fun-expected-stdout",
     out: ["art-run-test-052-verifier-fun-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-052-verifier-fun-expected-stderr",
+    out: ["art-run-test-052-verifier-fun-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/052-verifier-fun/expected-stderr.txt b/test/052-verifier-fun/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/052-verifier-fun/expected-stderr.txt
diff --git a/test/053-wait-some/Android.bp b/test/053-wait-some/Android.bp
index 8679171..3c673fd 100644
--- a/test/053-wait-some/Android.bp
+++ b/test/053-wait-some/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-053-wait-some-expected-stdout"],
+    data: [
+        ":art-run-test-053-wait-some-expected-stdout",
+        ":art-run-test-053-wait-some-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-053-wait-some-expected-stdout",
     out: ["art-run-test-053-wait-some-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-053-wait-some-expected-stderr",
+    out: ["art-run-test-053-wait-some-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/053-wait-some/expected-stderr.txt b/test/053-wait-some/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/053-wait-some/expected-stderr.txt
diff --git a/test/054-uncaught/Android.bp b/test/054-uncaught/Android.bp
index be0eda0..a515ce4 100644
--- a/test/054-uncaught/Android.bp
+++ b/test/054-uncaught/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-054-uncaught-expected-stdout"],
+    data: [
+        ":art-run-test-054-uncaught-expected-stdout",
+        ":art-run-test-054-uncaught-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-054-uncaught-expected-stdout",
     out: ["art-run-test-054-uncaught-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-054-uncaught-expected-stderr",
+    out: ["art-run-test-054-uncaught-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/054-uncaught/expected-stderr.txt b/test/054-uncaught/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/054-uncaught/expected-stderr.txt
diff --git a/test/055-enum-performance/Android.bp b/test/055-enum-performance/Android.bp
index e53f4fd..af27c8b 100644
--- a/test/055-enum-performance/Android.bp
+++ b/test/055-enum-performance/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-055-enum-performance-expected-stdout"],
+    data: [
+        ":art-run-test-055-enum-performance-expected-stdout",
+        ":art-run-test-055-enum-performance-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-055-enum-performance-expected-stdout",
     out: ["art-run-test-055-enum-performance-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-055-enum-performance-expected-stderr",
+    out: ["art-run-test-055-enum-performance-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/055-enum-performance/expected-stderr.txt b/test/055-enum-performance/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/055-enum-performance/expected-stderr.txt
diff --git a/test/056-const-string-jumbo/expected-stderr.txt b/test/056-const-string-jumbo/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/056-const-string-jumbo/expected-stderr.txt
diff --git a/test/058-enum-order/Android.bp b/test/058-enum-order/Android.bp
index d076d7d..0574263 100644
--- a/test/058-enum-order/Android.bp
+++ b/test/058-enum-order/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-058-enum-order-expected-stdout"],
+    data: [
+        ":art-run-test-058-enum-order-expected-stdout",
+        ":art-run-test-058-enum-order-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-058-enum-order-expected-stdout",
     out: ["art-run-test-058-enum-order-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-058-enum-order-expected-stderr",
+    out: ["art-run-test-058-enum-order-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/058-enum-order/expected-stderr.txt b/test/058-enum-order/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/058-enum-order/expected-stderr.txt
diff --git a/test/059-finalizer-throw/Android.bp b/test/059-finalizer-throw/Android.bp
index 3ac4ba1..f96ea22 100644
--- a/test/059-finalizer-throw/Android.bp
+++ b/test/059-finalizer-throw/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-059-finalizer-throw-expected-stdout"],
+    data: [
+        ":art-run-test-059-finalizer-throw-expected-stdout",
+        ":art-run-test-059-finalizer-throw-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-059-finalizer-throw-expected-stdout",
     out: ["art-run-test-059-finalizer-throw-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-059-finalizer-throw-expected-stderr",
+    out: ["art-run-test-059-finalizer-throw-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/059-finalizer-throw/expected-stderr.txt b/test/059-finalizer-throw/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/059-finalizer-throw/expected-stderr.txt
diff --git a/test/061-out-of-memory/Android.bp b/test/061-out-of-memory/Android.bp
index 9fd42f4..19ef392 100644
--- a/test/061-out-of-memory/Android.bp
+++ b/test/061-out-of-memory/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-061-out-of-memory-expected-stdout"],
+    data: [
+        ":art-run-test-061-out-of-memory-expected-stdout",
+        ":art-run-test-061-out-of-memory-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-061-out-of-memory-expected-stdout",
     out: ["art-run-test-061-out-of-memory-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-061-out-of-memory-expected-stderr",
+    out: ["art-run-test-061-out-of-memory-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/061-out-of-memory/expected-stderr.txt b/test/061-out-of-memory/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/061-out-of-memory/expected-stderr.txt
diff --git a/test/062-character-encodings/Android.bp b/test/062-character-encodings/Android.bp
index 4533abb..ebff519 100644
--- a/test/062-character-encodings/Android.bp
+++ b/test/062-character-encodings/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-062-character-encodings-expected-stdout"],
+    data: [
+        ":art-run-test-062-character-encodings-expected-stdout",
+        ":art-run-test-062-character-encodings-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-062-character-encodings-expected-stdout",
     out: ["art-run-test-062-character-encodings-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-062-character-encodings-expected-stderr",
+    out: ["art-run-test-062-character-encodings-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/062-character-encodings/expected-stderr.txt b/test/062-character-encodings/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/062-character-encodings/expected-stderr.txt
diff --git a/test/063-process-manager/Android.bp b/test/063-process-manager/Android.bp
index f08e2af..f303a5f 100644
--- a/test/063-process-manager/Android.bp
+++ b/test/063-process-manager/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-063-process-manager-expected-stdout"],
+    data: [
+        ":art-run-test-063-process-manager-expected-stdout",
+        ":art-run-test-063-process-manager-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-063-process-manager-expected-stdout",
     out: ["art-run-test-063-process-manager-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-063-process-manager-expected-stderr",
+    out: ["art-run-test-063-process-manager-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/063-process-manager/expected-stderr.txt b/test/063-process-manager/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/063-process-manager/expected-stderr.txt
diff --git a/test/064-field-access/expected-stderr.txt b/test/064-field-access/expected-stderr.txt
new file mode 100644
index 0000000..6e58782
--- /dev/null
+++ b/test/064-field-access/expected-stderr.txt
@@ -0,0 +1 @@
+Received OOME
diff --git a/test/064-field-access/expected-stdout.txt b/test/064-field-access/expected-stdout.txt
index 8e1af74..59694a1 100644
--- a/test/064-field-access/expected-stdout.txt
+++ b/test/064-field-access/expected-stdout.txt
@@ -2,4 +2,3 @@
 good
 Got expected failure
 Got expected failure
-Received OOME
diff --git a/test/065-mismatched-implements/expected-stderr.txt b/test/065-mismatched-implements/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/065-mismatched-implements/expected-stderr.txt
diff --git a/test/066-mismatched-super/expected-stderr.txt b/test/066-mismatched-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/066-mismatched-super/expected-stderr.txt
diff --git a/test/067-preemptive-unpark/Android.bp b/test/067-preemptive-unpark/Android.bp
index cadd4af..8751a84 100644
--- a/test/067-preemptive-unpark/Android.bp
+++ b/test/067-preemptive-unpark/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-067-preemptive-unpark-expected-stdout"],
+    data: [
+        ":art-run-test-067-preemptive-unpark-expected-stdout",
+        ":art-run-test-067-preemptive-unpark-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-067-preemptive-unpark-expected-stdout",
     out: ["art-run-test-067-preemptive-unpark-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-067-preemptive-unpark-expected-stderr",
+    out: ["art-run-test-067-preemptive-unpark-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/067-preemptive-unpark/expected-stderr.txt b/test/067-preemptive-unpark/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/067-preemptive-unpark/expected-stderr.txt
diff --git a/test/068-classloader/expected-stderr.txt b/test/068-classloader/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/068-classloader/expected-stderr.txt
diff --git a/test/069-field-type/expected-stderr.txt b/test/069-field-type/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/069-field-type/expected-stderr.txt
diff --git a/test/070-nio-buffer/Android.bp b/test/070-nio-buffer/Android.bp
index c46a159..be786d7 100644
--- a/test/070-nio-buffer/Android.bp
+++ b/test/070-nio-buffer/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-070-nio-buffer-expected-stdout"],
+    data: [
+        ":art-run-test-070-nio-buffer-expected-stdout",
+        ":art-run-test-070-nio-buffer-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-070-nio-buffer-expected-stdout",
     out: ["art-run-test-070-nio-buffer-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-070-nio-buffer-expected-stderr",
+    out: ["art-run-test-070-nio-buffer-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/070-nio-buffer/expected-stderr.txt b/test/070-nio-buffer/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/070-nio-buffer/expected-stderr.txt
diff --git a/test/071-dexfile-get-static-size/expected-stderr.txt b/test/071-dexfile-get-static-size/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/071-dexfile-get-static-size/expected-stderr.txt
diff --git a/test/071-dexfile-map-clean/expected-stderr.txt b/test/071-dexfile-map-clean/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/071-dexfile-map-clean/expected-stderr.txt
diff --git a/test/071-dexfile/expected-stderr.txt b/test/071-dexfile/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/071-dexfile/expected-stderr.txt
diff --git a/test/072-precise-gc/Android.bp b/test/072-precise-gc/Android.bp
index 7a521be..2869ac4 100644
--- a/test/072-precise-gc/Android.bp
+++ b/test/072-precise-gc/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-072-precise-gc-expected-stdout"],
+    data: [
+        ":art-run-test-072-precise-gc-expected-stdout",
+        ":art-run-test-072-precise-gc-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-072-precise-gc-expected-stdout",
     out: ["art-run-test-072-precise-gc-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-072-precise-gc-expected-stderr",
+    out: ["art-run-test-072-precise-gc-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/072-precise-gc/expected-stderr.txt b/test/072-precise-gc/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/072-precise-gc/expected-stderr.txt
diff --git a/test/072-reachability-fence/Android.bp b/test/072-reachability-fence/Android.bp
index bea2efa..ccf3a86 100644
--- a/test/072-reachability-fence/Android.bp
+++ b/test/072-reachability-fence/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-072-reachability-fence-expected-stdout"],
+    data: [
+        ":art-run-test-072-reachability-fence-expected-stdout",
+        ":art-run-test-072-reachability-fence-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-072-reachability-fence-expected-stdout",
     out: ["art-run-test-072-reachability-fence-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-072-reachability-fence-expected-stderr",
+    out: ["art-run-test-072-reachability-fence-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/072-reachability-fence/expected-stderr.txt b/test/072-reachability-fence/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/072-reachability-fence/expected-stderr.txt
diff --git a/test/073-mismatched-field/expected-stderr.txt b/test/073-mismatched-field/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/073-mismatched-field/expected-stderr.txt
diff --git a/test/074-gc-thrash/Android.bp b/test/074-gc-thrash/Android.bp
index 3b3958a..f3cf5a3 100644
--- a/test/074-gc-thrash/Android.bp
+++ b/test/074-gc-thrash/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-074-gc-thrash-expected-stdout"],
+    data: [
+        ":art-run-test-074-gc-thrash-expected-stdout",
+        ":art-run-test-074-gc-thrash-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-074-gc-thrash-expected-stdout",
     out: ["art-run-test-074-gc-thrash-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-074-gc-thrash-expected-stderr",
+    out: ["art-run-test-074-gc-thrash-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/074-gc-thrash/expected-stderr.txt b/test/074-gc-thrash/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/074-gc-thrash/expected-stderr.txt
diff --git a/test/075-verification-error/expected-stderr.txt b/test/075-verification-error/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/075-verification-error/expected-stderr.txt
diff --git a/test/076-boolean-put/Android.bp b/test/076-boolean-put/Android.bp
index 1eee203..3c32343 100644
--- a/test/076-boolean-put/Android.bp
+++ b/test/076-boolean-put/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-076-boolean-put-expected-stdout"],
+    data: [
+        ":art-run-test-076-boolean-put-expected-stdout",
+        ":art-run-test-076-boolean-put-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-076-boolean-put-expected-stdout",
     out: ["art-run-test-076-boolean-put-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-076-boolean-put-expected-stderr",
+    out: ["art-run-test-076-boolean-put-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/076-boolean-put/expected-stderr.txt b/test/076-boolean-put/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/076-boolean-put/expected-stderr.txt
diff --git a/test/077-method-override/expected-stderr.txt b/test/077-method-override/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/077-method-override/expected-stderr.txt
diff --git a/test/078-polymorphic-virtual/Android.bp b/test/078-polymorphic-virtual/Android.bp
index 43b0b34..2bb6124 100644
--- a/test/078-polymorphic-virtual/Android.bp
+++ b/test/078-polymorphic-virtual/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-078-polymorphic-virtual-expected-stdout"],
+    data: [
+        ":art-run-test-078-polymorphic-virtual-expected-stdout",
+        ":art-run-test-078-polymorphic-virtual-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-078-polymorphic-virtual-expected-stdout",
     out: ["art-run-test-078-polymorphic-virtual-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-078-polymorphic-virtual-expected-stderr",
+    out: ["art-run-test-078-polymorphic-virtual-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/078-polymorphic-virtual/expected-stderr.txt b/test/078-polymorphic-virtual/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/078-polymorphic-virtual/expected-stderr.txt
diff --git a/test/079-phantom/Android.bp b/test/079-phantom/Android.bp
index 2c59410..add6711 100644
--- a/test/079-phantom/Android.bp
+++ b/test/079-phantom/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-079-phantom-expected-stdout"],
+    data: [
+        ":art-run-test-079-phantom-expected-stdout",
+        ":art-run-test-079-phantom-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-079-phantom-expected-stdout",
     out: ["art-run-test-079-phantom-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-079-phantom-expected-stderr",
+    out: ["art-run-test-079-phantom-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/079-phantom/expected-stderr.txt b/test/079-phantom/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/079-phantom/expected-stderr.txt
diff --git a/test/080-oom-fragmentation/Android.bp b/test/080-oom-fragmentation/Android.bp
index c0023a0..5625ab0 100644
--- a/test/080-oom-fragmentation/Android.bp
+++ b/test/080-oom-fragmentation/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-080-oom-fragmentation-expected-stdout"],
+    data: [
+        ":art-run-test-080-oom-fragmentation-expected-stdout",
+        ":art-run-test-080-oom-fragmentation-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-080-oom-fragmentation-expected-stdout",
     out: ["art-run-test-080-oom-fragmentation-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-080-oom-fragmentation-expected-stderr",
+    out: ["art-run-test-080-oom-fragmentation-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/080-oom-fragmentation/expected-stderr.txt b/test/080-oom-fragmentation/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/080-oom-fragmentation/expected-stderr.txt
diff --git a/test/080-oom-throw-with-finalizer/Android.bp b/test/080-oom-throw-with-finalizer/Android.bp
index c043107..f2747f7 100644
--- a/test/080-oom-throw-with-finalizer/Android.bp
+++ b/test/080-oom-throw-with-finalizer/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-080-oom-throw-with-finalizer-expected-stdout"],
+    data: [
+        ":art-run-test-080-oom-throw-with-finalizer-expected-stdout",
+        ":art-run-test-080-oom-throw-with-finalizer-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-080-oom-throw-with-finalizer-expected-stdout",
     out: ["art-run-test-080-oom-throw-with-finalizer-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-080-oom-throw-with-finalizer-expected-stderr",
+    out: ["art-run-test-080-oom-throw-with-finalizer-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/080-oom-throw-with-finalizer/expected-stderr.txt b/test/080-oom-throw-with-finalizer/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/080-oom-throw-with-finalizer/expected-stderr.txt
diff --git a/test/080-oom-throw/Android.bp b/test/080-oom-throw/Android.bp
index 6069fc4..937ad16 100644
--- a/test/080-oom-throw/Android.bp
+++ b/test/080-oom-throw/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-080-oom-throw-expected-stdout"],
+    data: [
+        ":art-run-test-080-oom-throw-expected-stdout",
+        ":art-run-test-080-oom-throw-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-080-oom-throw-expected-stdout",
     out: ["art-run-test-080-oom-throw-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-080-oom-throw-expected-stderr",
+    out: ["art-run-test-080-oom-throw-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/080-oom-throw/expected-stderr.txt b/test/080-oom-throw/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/080-oom-throw/expected-stderr.txt
diff --git a/test/081-hot-exceptions/Android.bp b/test/081-hot-exceptions/Android.bp
index e7e4cc6..ad588cf 100644
--- a/test/081-hot-exceptions/Android.bp
+++ b/test/081-hot-exceptions/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-081-hot-exceptions-expected-stdout"],
+    data: [
+        ":art-run-test-081-hot-exceptions-expected-stdout",
+        ":art-run-test-081-hot-exceptions-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-081-hot-exceptions-expected-stdout",
     out: ["art-run-test-081-hot-exceptions-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-081-hot-exceptions-expected-stderr",
+    out: ["art-run-test-081-hot-exceptions-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/081-hot-exceptions/expected-stderr.txt b/test/081-hot-exceptions/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/081-hot-exceptions/expected-stderr.txt
diff --git a/test/082-inline-execute/Android.bp b/test/082-inline-execute/Android.bp
index f3bd0d5..9e91f33 100644
--- a/test/082-inline-execute/Android.bp
+++ b/test/082-inline-execute/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-082-inline-execute-expected-stdout"],
+    data: [
+        ":art-run-test-082-inline-execute-expected-stdout",
+        ":art-run-test-082-inline-execute-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-082-inline-execute-expected-stdout",
     out: ["art-run-test-082-inline-execute-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-082-inline-execute-expected-stderr",
+    out: ["art-run-test-082-inline-execute-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/082-inline-execute/expected-stderr.txt b/test/082-inline-execute/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/082-inline-execute/expected-stderr.txt
diff --git a/test/083-compiler-regressions/Android.bp b/test/083-compiler-regressions/Android.bp
index 1bdd69b..a313eda 100644
--- a/test/083-compiler-regressions/Android.bp
+++ b/test/083-compiler-regressions/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-083-compiler-regressions-expected-stdout"],
+    data: [
+        ":art-run-test-083-compiler-regressions-expected-stdout",
+        ":art-run-test-083-compiler-regressions-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-083-compiler-regressions-expected-stdout",
     out: ["art-run-test-083-compiler-regressions-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-083-compiler-regressions-expected-stderr",
+    out: ["art-run-test-083-compiler-regressions-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/083-compiler-regressions/expected-stderr.txt b/test/083-compiler-regressions/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/083-compiler-regressions/expected-stderr.txt
diff --git a/test/084-class-init/Android.bp b/test/084-class-init/Android.bp
index c922380..4e4b963 100644
--- a/test/084-class-init/Android.bp
+++ b/test/084-class-init/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-084-class-init-expected-stdout"],
+    data: [
+        ":art-run-test-084-class-init-expected-stdout",
+        ":art-run-test-084-class-init-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-084-class-init-expected-stdout",
     out: ["art-run-test-084-class-init-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-084-class-init-expected-stderr",
+    out: ["art-run-test-084-class-init-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/084-class-init/expected-stderr.txt b/test/084-class-init/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/084-class-init/expected-stderr.txt
diff --git a/test/085-old-style-inner-class/expected-stderr.txt b/test/085-old-style-inner-class/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/085-old-style-inner-class/expected-stderr.txt
diff --git a/test/086-null-super/Android.bp b/test/086-null-super/Android.bp
index dd5615c..84ef4a7 100644
--- a/test/086-null-super/Android.bp
+++ b/test/086-null-super/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-086-null-super-expected-stdout"],
+    data: [
+        ":art-run-test-086-null-super-expected-stdout",
+        ":art-run-test-086-null-super-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-086-null-super-expected-stdout",
     out: ["art-run-test-086-null-super-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-086-null-super-expected-stderr",
+    out: ["art-run-test-086-null-super-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/086-null-super/expected-stderr.txt b/test/086-null-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/086-null-super/expected-stderr.txt
diff --git a/test/087-gc-after-link/Android.bp b/test/087-gc-after-link/Android.bp
index 8210a8f..a52fd5e 100644
--- a/test/087-gc-after-link/Android.bp
+++ b/test/087-gc-after-link/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-087-gc-after-link-expected-stdout"],
+    data: [
+        ":art-run-test-087-gc-after-link-expected-stdout",
+        ":art-run-test-087-gc-after-link-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-087-gc-after-link-expected-stdout",
     out: ["art-run-test-087-gc-after-link-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-087-gc-after-link-expected-stderr",
+    out: ["art-run-test-087-gc-after-link-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/087-gc-after-link/expected-stderr.txt b/test/087-gc-after-link/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/087-gc-after-link/expected-stderr.txt
diff --git a/test/088-monitor-verification/expected-stderr.txt b/test/088-monitor-verification/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/088-monitor-verification/expected-stderr.txt
diff --git a/test/089-many-methods/check b/test/089-many-methods/check
index e09a291..c45bd9c 100755
--- a/test/089-many-methods/check
+++ b/test/089-many-methods/check
@@ -14,9 +14,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
+# Check that a build failure happened (the test is not expected to run).
 EXPECTED_ERROR="Cannot fit requested classes in a single dex"
-if ! grep -q "$EXPECTED_ERROR" "$2"; then
-  exit 1
-else
-  exit 0
-fi
+diff --strip-trailing-cr -q "$1" "$2" >/dev/null \
+  && grep -q "$EXPECTED_ERROR" "$4"
diff --git a/test/089-many-methods/expected-stderr.txt b/test/089-many-methods/expected-stderr.txt
new file mode 100644
index 0000000..b75bde4
--- /dev/null
+++ b/test/089-many-methods/expected-stderr.txt
@@ -0,0 +1 @@
+See the 'check' script for the expectation!
diff --git a/test/089-many-methods/expected-stdout.txt b/test/089-many-methods/expected-stdout.txt
index b75bde4..e69de29 100644
--- a/test/089-many-methods/expected-stdout.txt
+++ b/test/089-many-methods/expected-stdout.txt
@@ -1 +0,0 @@
-See the 'check' script for the expectation!
diff --git a/test/090-loop-formation/Android.bp b/test/090-loop-formation/Android.bp
index aa9e122..8c92e91 100644
--- a/test/090-loop-formation/Android.bp
+++ b/test/090-loop-formation/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-090-loop-formation-expected-stdout"],
+    data: [
+        ":art-run-test-090-loop-formation-expected-stdout",
+        ":art-run-test-090-loop-formation-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-090-loop-formation-expected-stdout",
     out: ["art-run-test-090-loop-formation-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-090-loop-formation-expected-stderr",
+    out: ["art-run-test-090-loop-formation-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/090-loop-formation/expected-stderr.txt b/test/090-loop-formation/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/090-loop-formation/expected-stderr.txt
diff --git a/test/091-override-package-private-method/expected-stderr.txt b/test/091-override-package-private-method/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/091-override-package-private-method/expected-stderr.txt
diff --git a/test/092-locale/Android.bp b/test/092-locale/Android.bp
index 0186cc5..416822a 100644
--- a/test/092-locale/Android.bp
+++ b/test/092-locale/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-092-locale-expected-stdout"],
+    data: [
+        ":art-run-test-092-locale-expected-stdout",
+        ":art-run-test-092-locale-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-092-locale-expected-stdout",
     out: ["art-run-test-092-locale-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-092-locale-expected-stderr",
+    out: ["art-run-test-092-locale-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/092-locale/expected-stderr.txt b/test/092-locale/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/092-locale/expected-stderr.txt
diff --git a/test/093-serialization/Android.bp b/test/093-serialization/Android.bp
index 096884c..e5322a2 100644
--- a/test/093-serialization/Android.bp
+++ b/test/093-serialization/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-093-serialization-expected-stdout"],
+    data: [
+        ":art-run-test-093-serialization-expected-stdout",
+        ":art-run-test-093-serialization-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-093-serialization-expected-stdout",
     out: ["art-run-test-093-serialization-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-093-serialization-expected-stderr",
+    out: ["art-run-test-093-serialization-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/093-serialization/expected-stderr.txt b/test/093-serialization/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/093-serialization/expected-stderr.txt
diff --git a/test/094-pattern/Android.bp b/test/094-pattern/Android.bp
index 57bcba7..17f8bf5 100644
--- a/test/094-pattern/Android.bp
+++ b/test/094-pattern/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-094-pattern-expected-stdout"],
+    data: [
+        ":art-run-test-094-pattern-expected-stdout",
+        ":art-run-test-094-pattern-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-094-pattern-expected-stdout",
     out: ["art-run-test-094-pattern-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-094-pattern-expected-stderr",
+    out: ["art-run-test-094-pattern-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/094-pattern/expected-stderr.txt b/test/094-pattern/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/094-pattern/expected-stderr.txt
diff --git a/test/095-switch-MAX_INT/Android.bp b/test/095-switch-MAX_INT/Android.bp
index 547236b..39c6c21 100644
--- a/test/095-switch-MAX_INT/Android.bp
+++ b/test/095-switch-MAX_INT/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-095-switch-MAX_INT-expected-stdout"],
+    data: [
+        ":art-run-test-095-switch-MAX_INT-expected-stdout",
+        ":art-run-test-095-switch-MAX_INT-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-095-switch-MAX_INT-expected-stdout",
     out: ["art-run-test-095-switch-MAX_INT-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-095-switch-MAX_INT-expected-stderr",
+    out: ["art-run-test-095-switch-MAX_INT-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/095-switch-MAX_INT/expected-stderr.txt b/test/095-switch-MAX_INT/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/095-switch-MAX_INT/expected-stderr.txt
diff --git a/test/096-array-copy-concurrent-gc/Android.bp b/test/096-array-copy-concurrent-gc/Android.bp
index 467478a..abce145 100644
--- a/test/096-array-copy-concurrent-gc/Android.bp
+++ b/test/096-array-copy-concurrent-gc/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-096-array-copy-concurrent-gc-expected-stdout"],
+    data: [
+        ":art-run-test-096-array-copy-concurrent-gc-expected-stdout",
+        ":art-run-test-096-array-copy-concurrent-gc-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-096-array-copy-concurrent-gc-expected-stdout",
     out: ["art-run-test-096-array-copy-concurrent-gc-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-096-array-copy-concurrent-gc-expected-stderr",
+    out: ["art-run-test-096-array-copy-concurrent-gc-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/096-array-copy-concurrent-gc/expected-stderr.txt b/test/096-array-copy-concurrent-gc/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/096-array-copy-concurrent-gc/expected-stderr.txt
diff --git a/test/097-duplicate-method/expected-stderr.txt b/test/097-duplicate-method/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/097-duplicate-method/expected-stderr.txt
diff --git a/test/098-ddmc/Android.bp b/test/098-ddmc/Android.bp
index fd2c695..fc25e09 100644
--- a/test/098-ddmc/Android.bp
+++ b/test/098-ddmc/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-098-ddmc-expected-stdout"],
+    data: [
+        ":art-run-test-098-ddmc-expected-stdout",
+        ":art-run-test-098-ddmc-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-098-ddmc-expected-stdout",
     out: ["art-run-test-098-ddmc-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-098-ddmc-expected-stderr",
+    out: ["art-run-test-098-ddmc-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/098-ddmc/expected-stderr.txt b/test/098-ddmc/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/098-ddmc/expected-stderr.txt
diff --git a/test/099-vmdebug/Android.bp b/test/099-vmdebug/Android.bp
index b245466..53c31fa 100644
--- a/test/099-vmdebug/Android.bp
+++ b/test/099-vmdebug/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-099-vmdebug-expected-stdout"],
+    data: [
+        ":art-run-test-099-vmdebug-expected-stdout",
+        ":art-run-test-099-vmdebug-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-099-vmdebug-expected-stdout",
     out: ["art-run-test-099-vmdebug-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-099-vmdebug-expected-stderr",
+    out: ["art-run-test-099-vmdebug-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/099-vmdebug/check b/test/099-vmdebug/check
index 6a3fed5..3d92188 100755
--- a/test/099-vmdebug/check
+++ b/test/099-vmdebug/check
@@ -14,7 +14,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Strip the process pids and line numbers from exact error messages.
-sed -e '/^.*dalvikvm\(\|32\|64\) E.*\] /d' "$2" > "$2.tmp"
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
 
-diff --strip-trailing-cr -q "$1" "$2.tmp" >/dev/null
+# Strip the process pids and line numbers from exact error messages.
+sed -e '/^.*dalvikvm\(\|32\|64\) E.*\] /d' "$4" > "$4.tmp"
+
+diff --strip-trailing-cr -q "$1" "$2" >/dev/null \
+  && diff --strip-trailing-cr -q "$3" "$4.tmp" >/dev/null
diff --git a/test/099-vmdebug/expected-stderr.txt b/test/099-vmdebug/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/099-vmdebug/expected-stderr.txt
diff --git a/test/100-reflect2/Android.bp b/test/100-reflect2/Android.bp
index ffd1f9e..6fc87a6 100644
--- a/test/100-reflect2/Android.bp
+++ b/test/100-reflect2/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-100-reflect2-expected-stdout"],
+    data: [
+        ":art-run-test-100-reflect2-expected-stdout",
+        ":art-run-test-100-reflect2-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-100-reflect2-expected-stdout",
     out: ["art-run-test-100-reflect2-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-100-reflect2-expected-stderr",
+    out: ["art-run-test-100-reflect2-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/100-reflect2/expected-stderr.txt b/test/100-reflect2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/100-reflect2/expected-stderr.txt
diff --git a/test/1000-non-moving-space-stress/expected-stderr.txt b/test/1000-non-moving-space-stress/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1000-non-moving-space-stress/expected-stderr.txt
diff --git a/test/1001-app-image-regions/expected-stderr.txt b/test/1001-app-image-regions/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1001-app-image-regions/expected-stderr.txt
diff --git a/test/1002-notify-startup/check b/test/1002-notify-startup/check
index 9d8f464..eadb559 100644
--- a/test/1002-notify-startup/check
+++ b/test/1002-notify-startup/check
@@ -14,7 +14,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Oat file manager will complain about duplicate dex files. Ignore.
-sed -e '/.*oat_file_manager.*/d' "$2" > "$2.tmp"
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
 
-diff --strip-trailing-cr -q "$1" "$2.tmp" >/dev/null
+# Oat file manager will complain about duplicate dex files. Ignore.
+sed -e '/.*oat_file_manager.*/d' "$4" > "$4.tmp"
+
+diff --strip-trailing-cr -q "$1" "$2" >/dev/null \
+  && diff --strip-trailing-cr -q "$3" "$4.tmp" >/dev/null
diff --git a/test/1002-notify-startup/expected-stderr.txt b/test/1002-notify-startup/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1002-notify-startup/expected-stderr.txt
diff --git a/test/1003-metadata-section-strings/expected-stderr.txt b/test/1003-metadata-section-strings/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1003-metadata-section-strings/expected-stderr.txt
diff --git a/test/1004-checker-volatile-ref-load/Android.bp b/test/1004-checker-volatile-ref-load/Android.bp
index 98bce5d..d09e39d 100644
--- a/test/1004-checker-volatile-ref-load/Android.bp
+++ b/test/1004-checker-volatile-ref-load/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1004-checker-volatile-ref-load-expected-stdout"],
+    data: [
+        ":art-run-test-1004-checker-volatile-ref-load-expected-stdout",
+        ":art-run-test-1004-checker-volatile-ref-load-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1004-checker-volatile-ref-load-expected-stdout",
     out: ["art-run-test-1004-checker-volatile-ref-load-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1004-checker-volatile-ref-load-expected-stderr",
+    out: ["art-run-test-1004-checker-volatile-ref-load-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1004-checker-volatile-ref-load/expected-stderr.txt b/test/1004-checker-volatile-ref-load/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1004-checker-volatile-ref-load/expected-stderr.txt
diff --git a/test/101-fibonacci/Android.bp b/test/101-fibonacci/Android.bp
index afa3dda..e545bec 100644
--- a/test/101-fibonacci/Android.bp
+++ b/test/101-fibonacci/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-101-fibonacci-expected-stdout"],
+    data: [
+        ":art-run-test-101-fibonacci-expected-stdout",
+        ":art-run-test-101-fibonacci-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-101-fibonacci-expected-stdout",
     out: ["art-run-test-101-fibonacci-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-101-fibonacci-expected-stderr",
+    out: ["art-run-test-101-fibonacci-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/101-fibonacci/expected-stderr.txt b/test/101-fibonacci/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/101-fibonacci/expected-stderr.txt
diff --git a/test/102-concurrent-gc/Android.bp b/test/102-concurrent-gc/Android.bp
index 42a1e9b..35f5196 100644
--- a/test/102-concurrent-gc/Android.bp
+++ b/test/102-concurrent-gc/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-102-concurrent-gc-expected-stdout"],
+    data: [
+        ":art-run-test-102-concurrent-gc-expected-stdout",
+        ":art-run-test-102-concurrent-gc-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-102-concurrent-gc-expected-stdout",
     out: ["art-run-test-102-concurrent-gc-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-102-concurrent-gc-expected-stderr",
+    out: ["art-run-test-102-concurrent-gc-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/102-concurrent-gc/expected-stderr.txt b/test/102-concurrent-gc/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/102-concurrent-gc/expected-stderr.txt
diff --git a/test/103-string-append/Android.bp b/test/103-string-append/Android.bp
index 6f61f26..64b7b90 100644
--- a/test/103-string-append/Android.bp
+++ b/test/103-string-append/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-103-string-append-expected-stdout"],
+    data: [
+        ":art-run-test-103-string-append-expected-stdout",
+        ":art-run-test-103-string-append-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-103-string-append-expected-stdout",
     out: ["art-run-test-103-string-append-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-103-string-append-expected-stderr",
+    out: ["art-run-test-103-string-append-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/103-string-append/expected-stderr.txt b/test/103-string-append/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/103-string-append/expected-stderr.txt
diff --git a/test/104-growth-limit/Android.bp b/test/104-growth-limit/Android.bp
index b9f39b3..dc4290c 100644
--- a/test/104-growth-limit/Android.bp
+++ b/test/104-growth-limit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-104-growth-limit-expected-stdout"],
+    data: [
+        ":art-run-test-104-growth-limit-expected-stdout",
+        ":art-run-test-104-growth-limit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-104-growth-limit-expected-stdout",
     out: ["art-run-test-104-growth-limit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-104-growth-limit-expected-stderr",
+    out: ["art-run-test-104-growth-limit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/104-growth-limit/expected-stderr.txt b/test/104-growth-limit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/104-growth-limit/expected-stderr.txt
diff --git a/test/105-invoke/Android.bp b/test/105-invoke/Android.bp
index 2dc324f..66fd65e 100644
--- a/test/105-invoke/Android.bp
+++ b/test/105-invoke/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-105-invoke-expected-stdout"],
+    data: [
+        ":art-run-test-105-invoke-expected-stdout",
+        ":art-run-test-105-invoke-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-105-invoke-expected-stdout",
     out: ["art-run-test-105-invoke-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-105-invoke-expected-stderr",
+    out: ["art-run-test-105-invoke-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/105-invoke/expected-stderr.txt b/test/105-invoke/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/105-invoke/expected-stderr.txt
diff --git a/test/106-exceptions2/Android.bp b/test/106-exceptions2/Android.bp
index e1c8393..154785e 100644
--- a/test/106-exceptions2/Android.bp
+++ b/test/106-exceptions2/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-106-exceptions2-expected-stdout"],
+    data: [
+        ":art-run-test-106-exceptions2-expected-stdout",
+        ":art-run-test-106-exceptions2-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-106-exceptions2-expected-stdout",
     out: ["art-run-test-106-exceptions2-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-106-exceptions2-expected-stderr",
+    out: ["art-run-test-106-exceptions2-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/106-exceptions2/expected-stderr.txt b/test/106-exceptions2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/106-exceptions2/expected-stderr.txt
diff --git a/test/107-int-math2/Android.bp b/test/107-int-math2/Android.bp
index ef5015a..99f8b5e 100644
--- a/test/107-int-math2/Android.bp
+++ b/test/107-int-math2/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-107-int-math2-expected-stdout"],
+    data: [
+        ":art-run-test-107-int-math2-expected-stdout",
+        ":art-run-test-107-int-math2-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-107-int-math2-expected-stdout",
     out: ["art-run-test-107-int-math2-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-107-int-math2-expected-stderr",
+    out: ["art-run-test-107-int-math2-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/107-int-math2/expected-stderr.txt b/test/107-int-math2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/107-int-math2/expected-stderr.txt
diff --git a/test/108-check-cast/Android.bp b/test/108-check-cast/Android.bp
index 91a172c..58fc7b4 100644
--- a/test/108-check-cast/Android.bp
+++ b/test/108-check-cast/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-108-check-cast-expected-stdout"],
+    data: [
+        ":art-run-test-108-check-cast-expected-stdout",
+        ":art-run-test-108-check-cast-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-108-check-cast-expected-stdout",
     out: ["art-run-test-108-check-cast-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-108-check-cast-expected-stderr",
+    out: ["art-run-test-108-check-cast-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/108-check-cast/expected-stderr.txt b/test/108-check-cast/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/108-check-cast/expected-stderr.txt
diff --git a/test/109-suspend-check/Android.bp b/test/109-suspend-check/Android.bp
index 6ddbe78..be8c94c 100644
--- a/test/109-suspend-check/Android.bp
+++ b/test/109-suspend-check/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-109-suspend-check-expected-stdout"],
+    data: [
+        ":art-run-test-109-suspend-check-expected-stdout",
+        ":art-run-test-109-suspend-check-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-109-suspend-check-expected-stdout",
     out: ["art-run-test-109-suspend-check-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-109-suspend-check-expected-stderr",
+    out: ["art-run-test-109-suspend-check-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/109-suspend-check/expected-stderr.txt b/test/109-suspend-check/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/109-suspend-check/expected-stderr.txt
diff --git a/test/110-field-access/Android.bp b/test/110-field-access/Android.bp
index 9b6d242..abf2d8f 100644
--- a/test/110-field-access/Android.bp
+++ b/test/110-field-access/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-110-field-access-expected-stdout"],
+    data: [
+        ":art-run-test-110-field-access-expected-stdout",
+        ":art-run-test-110-field-access-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-110-field-access-expected-stdout",
     out: ["art-run-test-110-field-access-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-110-field-access-expected-stderr",
+    out: ["art-run-test-110-field-access-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/110-field-access/expected-stderr.txt b/test/110-field-access/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/110-field-access/expected-stderr.txt
diff --git a/test/111-unresolvable-exception/expected-stderr.txt b/test/111-unresolvable-exception/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/111-unresolvable-exception/expected-stderr.txt
diff --git a/test/112-double-math/Android.bp b/test/112-double-math/Android.bp
index 47284c4..ba17270 100644
--- a/test/112-double-math/Android.bp
+++ b/test/112-double-math/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-112-double-math-expected-stdout"],
+    data: [
+        ":art-run-test-112-double-math-expected-stdout",
+        ":art-run-test-112-double-math-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-112-double-math-expected-stdout",
     out: ["art-run-test-112-double-math-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-112-double-math-expected-stderr",
+    out: ["art-run-test-112-double-math-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/112-double-math/expected-stderr.txt b/test/112-double-math/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/112-double-math/expected-stderr.txt
diff --git a/test/113-multidex/expected-stderr.txt b/test/113-multidex/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/113-multidex/expected-stderr.txt
diff --git a/test/114-ParallelGC/Android.bp b/test/114-ParallelGC/Android.bp
index f3e6f19..210cd75 100644
--- a/test/114-ParallelGC/Android.bp
+++ b/test/114-ParallelGC/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-114-ParallelGC-expected-stdout"],
+    data: [
+        ":art-run-test-114-ParallelGC-expected-stdout",
+        ":art-run-test-114-ParallelGC-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-114-ParallelGC-expected-stdout",
     out: ["art-run-test-114-ParallelGC-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-114-ParallelGC-expected-stderr",
+    out: ["art-run-test-114-ParallelGC-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/114-ParallelGC/expected-stderr.txt b/test/114-ParallelGC/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/114-ParallelGC/expected-stderr.txt
diff --git a/test/115-native-bridge/Android.bp b/test/115-native-bridge/Android.bp
index cba48f7..dbcf41e 100644
--- a/test/115-native-bridge/Android.bp
+++ b/test/115-native-bridge/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-115-native-bridge-expected-stdout"],
+    data: [
+        ":art-run-test-115-native-bridge-expected-stdout",
+        ":art-run-test-115-native-bridge-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-115-native-bridge-expected-stdout",
     out: ["art-run-test-115-native-bridge-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-115-native-bridge-expected-stderr",
+    out: ["art-run-test-115-native-bridge-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/115-native-bridge/check b/test/115-native-bridge/check
index 1ecf334..e01de91 100755
--- a/test/115-native-bridge/check
+++ b/test/115-native-bridge/check
@@ -14,7 +14,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # ASAN prints a warning here.
 
-sed -e '/WARNING: ASan is ignoring requested __asan_handle_no_return/,+2d' "$2" | \
-    diff --strip-trailing-cr -q "$1" - >/dev/null
+diff --strip-trailing-cr -q "$1" "$2" >/dev/null \
+  && sed -e '/WARNING: ASan is ignoring requested __asan_handle_no_return/,+2d' "$4" \
+       | diff --strip-trailing-cr -q "$3" - >/dev/null
diff --git a/test/115-native-bridge/expected-stderr.txt b/test/115-native-bridge/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/115-native-bridge/expected-stderr.txt
diff --git a/test/116-nodex2oat/Android.bp b/test/116-nodex2oat/Android.bp
index 91293ad..143bcc3 100644
--- a/test/116-nodex2oat/Android.bp
+++ b/test/116-nodex2oat/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-116-nodex2oat-expected-stdout"],
+    data: [
+        ":art-run-test-116-nodex2oat-expected-stdout",
+        ":art-run-test-116-nodex2oat-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-116-nodex2oat-expected-stdout",
     out: ["art-run-test-116-nodex2oat-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-116-nodex2oat-expected-stderr",
+    out: ["art-run-test-116-nodex2oat-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/116-nodex2oat/expected-stderr.txt b/test/116-nodex2oat/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/116-nodex2oat/expected-stderr.txt
diff --git a/test/118-noimage-dex2oat/check b/test/118-noimage-dex2oat/check
index 4f46083..90ffdf8 100755
--- a/test/118-noimage-dex2oat/check
+++ b/test/118-noimage-dex2oat/check
@@ -14,7 +14,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Strip the process pids and line numbers from exact error messages.
-sed -e '/^dalvikvm.* E.*\] /d' "$2" > "$2.tmp"
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
 
-diff --strip-trailing-cr -q "$1" "$2.tmp" >/dev/null
+# Strip the process pids and line numbers from exact error messages.
+sed -e '/^dalvikvm.* E.*\] /d' "$4" > "$4.tmp"
+
+diff --strip-trailing-cr -q "$1" "$2" >/dev/null \
+  && diff --strip-trailing-cr -q "$3" "$4.tmp" >/dev/null
diff --git a/test/118-noimage-dex2oat/expected-stderr.txt b/test/118-noimage-dex2oat/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/118-noimage-dex2oat/expected-stderr.txt
diff --git a/test/120-hashcode/Android.bp b/test/120-hashcode/Android.bp
index c15ebcc..98df658 100644
--- a/test/120-hashcode/Android.bp
+++ b/test/120-hashcode/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-120-hashcode-expected-stdout"],
+    data: [
+        ":art-run-test-120-hashcode-expected-stdout",
+        ":art-run-test-120-hashcode-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-120-hashcode-expected-stdout",
     out: ["art-run-test-120-hashcode-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-120-hashcode-expected-stderr",
+    out: ["art-run-test-120-hashcode-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/120-hashcode/expected-stderr.txt b/test/120-hashcode/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/120-hashcode/expected-stderr.txt
diff --git a/test/121-modifiers/expected-stderr.txt b/test/121-modifiers/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/121-modifiers/expected-stderr.txt
diff --git a/test/121-simple-suspend-check/Android.bp b/test/121-simple-suspend-check/Android.bp
index 7a555cf..5a19155 100644
--- a/test/121-simple-suspend-check/Android.bp
+++ b/test/121-simple-suspend-check/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-121-simple-suspend-check-expected-stdout"],
+    data: [
+        ":art-run-test-121-simple-suspend-check-expected-stdout",
+        ":art-run-test-121-simple-suspend-check-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-121-simple-suspend-check-expected-stdout",
     out: ["art-run-test-121-simple-suspend-check-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-121-simple-suspend-check-expected-stderr",
+    out: ["art-run-test-121-simple-suspend-check-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/121-simple-suspend-check/expected-stderr.txt b/test/121-simple-suspend-check/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/121-simple-suspend-check/expected-stderr.txt
diff --git a/test/122-npe/Android.bp b/test/122-npe/Android.bp
index ef739d4..7432133 100644
--- a/test/122-npe/Android.bp
+++ b/test/122-npe/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-122-npe-expected-stdout"],
+    data: [
+        ":art-run-test-122-npe-expected-stdout",
+        ":art-run-test-122-npe-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-122-npe-expected-stdout",
     out: ["art-run-test-122-npe-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-122-npe-expected-stderr",
+    out: ["art-run-test-122-npe-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/122-npe/expected-stderr.txt b/test/122-npe/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/122-npe/expected-stderr.txt
diff --git a/test/123-compiler-regressions-mt/Android.bp b/test/123-compiler-regressions-mt/Android.bp
index 41090be..d2e1d17 100644
--- a/test/123-compiler-regressions-mt/Android.bp
+++ b/test/123-compiler-regressions-mt/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-123-compiler-regressions-mt-expected-stdout"],
+    data: [
+        ":art-run-test-123-compiler-regressions-mt-expected-stdout",
+        ":art-run-test-123-compiler-regressions-mt-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-123-compiler-regressions-mt-expected-stdout",
     out: ["art-run-test-123-compiler-regressions-mt-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-123-compiler-regressions-mt-expected-stderr",
+    out: ["art-run-test-123-compiler-regressions-mt-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/123-compiler-regressions-mt/expected-stderr.txt b/test/123-compiler-regressions-mt/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/123-compiler-regressions-mt/expected-stderr.txt
diff --git a/test/123-inline-execute2/Android.bp b/test/123-inline-execute2/Android.bp
index c7aa8e0..2b029d5 100644
--- a/test/123-inline-execute2/Android.bp
+++ b/test/123-inline-execute2/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-123-inline-execute2-expected-stdout"],
+    data: [
+        ":art-run-test-123-inline-execute2-expected-stdout",
+        ":art-run-test-123-inline-execute2-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-123-inline-execute2-expected-stdout",
     out: ["art-run-test-123-inline-execute2-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-123-inline-execute2-expected-stderr",
+    out: ["art-run-test-123-inline-execute2-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/123-inline-execute2/expected-stderr.txt b/test/123-inline-execute2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/123-inline-execute2/expected-stderr.txt
diff --git a/test/124-missing-classes/expected-stderr.txt b/test/124-missing-classes/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/124-missing-classes/expected-stderr.txt
diff --git a/test/125-gc-and-classloading/Android.bp b/test/125-gc-and-classloading/Android.bp
index 6cc76e1..f1af496 100644
--- a/test/125-gc-and-classloading/Android.bp
+++ b/test/125-gc-and-classloading/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-125-gc-and-classloading-expected-stdout"],
+    data: [
+        ":art-run-test-125-gc-and-classloading-expected-stdout",
+        ":art-run-test-125-gc-and-classloading-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-125-gc-and-classloading-expected-stdout",
     out: ["art-run-test-125-gc-and-classloading-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-125-gc-and-classloading-expected-stderr",
+    out: ["art-run-test-125-gc-and-classloading-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/125-gc-and-classloading/expected-stderr.txt b/test/125-gc-and-classloading/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/125-gc-and-classloading/expected-stderr.txt
diff --git a/test/126-miranda-multidex/expected-stderr.txt b/test/126-miranda-multidex/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/126-miranda-multidex/expected-stderr.txt
diff --git a/test/127-checker-secondarydex/expected-stderr.txt b/test/127-checker-secondarydex/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/127-checker-secondarydex/expected-stderr.txt
diff --git a/test/128-reg-spill-on-implicit-nullcheck/Android.bp b/test/128-reg-spill-on-implicit-nullcheck/Android.bp
index 8195602..7a603e2 100644
--- a/test/128-reg-spill-on-implicit-nullcheck/Android.bp
+++ b/test/128-reg-spill-on-implicit-nullcheck/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-128-reg-spill-on-implicit-nullcheck-expected-stdout"],
+    data: [
+        ":art-run-test-128-reg-spill-on-implicit-nullcheck-expected-stdout",
+        ":art-run-test-128-reg-spill-on-implicit-nullcheck-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-128-reg-spill-on-implicit-nullcheck-expected-stdout",
     out: ["art-run-test-128-reg-spill-on-implicit-nullcheck-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-128-reg-spill-on-implicit-nullcheck-expected-stderr",
+    out: ["art-run-test-128-reg-spill-on-implicit-nullcheck-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/128-reg-spill-on-implicit-nullcheck/expected-stderr.txt b/test/128-reg-spill-on-implicit-nullcheck/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/128-reg-spill-on-implicit-nullcheck/expected-stderr.txt
diff --git a/test/129-ThreadGetId/Android.bp b/test/129-ThreadGetId/Android.bp
index a31627a..ea2b4c6 100644
--- a/test/129-ThreadGetId/Android.bp
+++ b/test/129-ThreadGetId/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-129-ThreadGetId-expected-stdout"],
+    data: [
+        ":art-run-test-129-ThreadGetId-expected-stdout",
+        ":art-run-test-129-ThreadGetId-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-129-ThreadGetId-expected-stdout",
     out: ["art-run-test-129-ThreadGetId-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-129-ThreadGetId-expected-stderr",
+    out: ["art-run-test-129-ThreadGetId-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/129-ThreadGetId/expected-stderr.txt b/test/129-ThreadGetId/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/129-ThreadGetId/expected-stderr.txt
diff --git a/test/130-hprof/expected-stderr.txt b/test/130-hprof/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/130-hprof/expected-stderr.txt
diff --git a/test/132-daemon-locks-shutdown/Android.bp b/test/132-daemon-locks-shutdown/Android.bp
index f3c148e..135aa8b 100644
--- a/test/132-daemon-locks-shutdown/Android.bp
+++ b/test/132-daemon-locks-shutdown/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-132-daemon-locks-shutdown-expected-stdout"],
+    data: [
+        ":art-run-test-132-daemon-locks-shutdown-expected-stdout",
+        ":art-run-test-132-daemon-locks-shutdown-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-132-daemon-locks-shutdown-expected-stdout",
     out: ["art-run-test-132-daemon-locks-shutdown-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-132-daemon-locks-shutdown-expected-stderr",
+    out: ["art-run-test-132-daemon-locks-shutdown-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/132-daemon-locks-shutdown/expected-stderr.txt b/test/132-daemon-locks-shutdown/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/132-daemon-locks-shutdown/expected-stderr.txt
diff --git a/test/133-static-invoke-super/Android.bp b/test/133-static-invoke-super/Android.bp
index 28ea825..0d78929 100644
--- a/test/133-static-invoke-super/Android.bp
+++ b/test/133-static-invoke-super/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-133-static-invoke-super-expected-stdout"],
+    data: [
+        ":art-run-test-133-static-invoke-super-expected-stdout",
+        ":art-run-test-133-static-invoke-super-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-133-static-invoke-super-expected-stdout",
     out: ["art-run-test-133-static-invoke-super-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-133-static-invoke-super-expected-stderr",
+    out: ["art-run-test-133-static-invoke-super-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/133-static-invoke-super/expected-stderr.txt b/test/133-static-invoke-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/133-static-invoke-super/expected-stderr.txt
diff --git a/test/1336-short-finalizer-timeout/Android.bp b/test/1336-short-finalizer-timeout/Android.bp
index 6752c41..a0733ed 100644
--- a/test/1336-short-finalizer-timeout/Android.bp
+++ b/test/1336-short-finalizer-timeout/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1336-short-finalizer-timeout-expected-stdout"],
+    data: [
+        ":art-run-test-1336-short-finalizer-timeout-expected-stdout",
+        ":art-run-test-1336-short-finalizer-timeout-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1336-short-finalizer-timeout-expected-stdout",
     out: ["art-run-test-1336-short-finalizer-timeout-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1336-short-finalizer-timeout-expected-stderr",
+    out: ["art-run-test-1336-short-finalizer-timeout-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1336-short-finalizer-timeout/expected-stderr.txt b/test/1336-short-finalizer-timeout/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1336-short-finalizer-timeout/expected-stderr.txt
diff --git a/test/1337-gc-coverage/Android.bp b/test/1337-gc-coverage/Android.bp
index 1ff6546..43ef81e 100644
--- a/test/1337-gc-coverage/Android.bp
+++ b/test/1337-gc-coverage/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1337-gc-coverage-expected-stdout"],
+    data: [
+        ":art-run-test-1337-gc-coverage-expected-stdout",
+        ":art-run-test-1337-gc-coverage-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1337-gc-coverage-expected-stdout",
     out: ["art-run-test-1337-gc-coverage-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1337-gc-coverage-expected-stderr",
+    out: ["art-run-test-1337-gc-coverage-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1337-gc-coverage/check b/test/1337-gc-coverage/check
index 842bdc6..67fcafb 100755
--- a/test/1337-gc-coverage/check
+++ b/test/1337-gc-coverage/check
@@ -14,9 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # Check that the string "error" isn't present
-if grep error "$2"; then
-    exit 1
-else
-    exit 0
-fi
+grep -vq error "$2"  \
+  && diff --strip-trailing-cr -q "$3" "$4" >/dev/null
diff --git a/test/1337-gc-coverage/expected-stderr.txt b/test/1337-gc-coverage/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1337-gc-coverage/expected-stderr.txt
diff --git a/test/1338-gc-no-los/expected-stderr.txt b/test/1338-gc-no-los/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1338-gc-no-los/expected-stderr.txt
diff --git a/test/1339-dead-reference-safe/Android.bp b/test/1339-dead-reference-safe/Android.bp
index 5213167..23e4427 100644
--- a/test/1339-dead-reference-safe/Android.bp
+++ b/test/1339-dead-reference-safe/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1339-dead-reference-safe-expected-stdout"],
+    data: [
+        ":art-run-test-1339-dead-reference-safe-expected-stdout",
+        ":art-run-test-1339-dead-reference-safe-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1339-dead-reference-safe-expected-stdout",
     out: ["art-run-test-1339-dead-reference-safe-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1339-dead-reference-safe-expected-stderr",
+    out: ["art-run-test-1339-dead-reference-safe-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1339-dead-reference-safe/check b/test/1339-dead-reference-safe/check
index 795cfac..e7f5f96 100644
--- a/test/1339-dead-reference-safe/check
+++ b/test/1339-dead-reference-safe/check
@@ -14,7 +14,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # DeadReferenceSafe result differs for interpreted mode. A real failure
 # will produce an extra line anyway.
 
-diff --ignore-matching-lines="DeadReferenceSafe count:" -q $1 $2
+diff --ignore-matching-lines="DeadReferenceSafe count:" -q $1 $2 \
+  && diff --strip-trailing-cr -q "$3" "$4" >/dev/null
diff --git a/test/1339-dead-reference-safe/expected-stderr.txt b/test/1339-dead-reference-safe/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1339-dead-reference-safe/expected-stderr.txt
diff --git a/test/134-reg-promotion/expected-stderr.txt b/test/134-reg-promotion/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/134-reg-promotion/expected-stderr.txt
diff --git a/test/135-MirandaDispatch/expected-stderr.txt b/test/135-MirandaDispatch/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/135-MirandaDispatch/expected-stderr.txt
diff --git a/test/136-daemon-jni-shutdown/Android.bp b/test/136-daemon-jni-shutdown/Android.bp
index e32e4a6..a517fca 100644
--- a/test/136-daemon-jni-shutdown/Android.bp
+++ b/test/136-daemon-jni-shutdown/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-136-daemon-jni-shutdown-expected-stdout"],
+    data: [
+        ":art-run-test-136-daemon-jni-shutdown-expected-stdout",
+        ":art-run-test-136-daemon-jni-shutdown-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-136-daemon-jni-shutdown-expected-stdout",
     out: ["art-run-test-136-daemon-jni-shutdown-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-136-daemon-jni-shutdown-expected-stderr",
+    out: ["art-run-test-136-daemon-jni-shutdown-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/136-daemon-jni-shutdown/expected-stderr.txt b/test/136-daemon-jni-shutdown/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/136-daemon-jni-shutdown/expected-stderr.txt
diff --git a/test/137-cfi/expected-stderr.txt b/test/137-cfi/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/137-cfi/expected-stderr.txt
diff --git a/test/138-duplicate-classes-check/expected-stderr.txt b/test/138-duplicate-classes-check/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/138-duplicate-classes-check/expected-stderr.txt
diff --git a/test/138-duplicate-classes-check2/expected-stderr.txt b/test/138-duplicate-classes-check2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/138-duplicate-classes-check2/expected-stderr.txt
diff --git a/test/139-register-natives/Android.bp b/test/139-register-natives/Android.bp
index ba932f2..1dedf64 100644
--- a/test/139-register-natives/Android.bp
+++ b/test/139-register-natives/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-139-register-natives-expected-stdout"],
+    data: [
+        ":art-run-test-139-register-natives-expected-stdout",
+        ":art-run-test-139-register-natives-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-139-register-natives-expected-stdout",
     out: ["art-run-test-139-register-natives-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-139-register-natives-expected-stderr",
+    out: ["art-run-test-139-register-natives-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/139-register-natives/check b/test/139-register-natives/check
index 265ad85..098d3c5 100755
--- a/test/139-register-natives/check
+++ b/test/139-register-natives/check
@@ -14,7 +14,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Strip any JNI registration error messages
-sed -e '/java_vm_ext/d' -e '/jni_internal.cc/d' "$2" > "$2.tmp"
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
 
-diff --strip-trailing-cr -q "$1" "$2.tmp" >/dev/null
+# Strip any JNI registration error messages
+sed -e '/java_vm_ext/d' -e '/jni_internal.cc/d' "$4" > "$4.tmp"
+
+diff --strip-trailing-cr -q "$1" "$2" >/dev/null \
+  && diff --strip-trailing-cr -q "$3" "$4.tmp" >/dev/null
diff --git a/test/139-register-natives/expected-stderr.txt b/test/139-register-natives/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/139-register-natives/expected-stderr.txt
diff --git a/test/140-dce-regression/Android.bp b/test/140-dce-regression/Android.bp
index 0a0ca80..86b81ba 100644
--- a/test/140-dce-regression/Android.bp
+++ b/test/140-dce-regression/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-140-dce-regression-expected-stdout"],
+    data: [
+        ":art-run-test-140-dce-regression-expected-stdout",
+        ":art-run-test-140-dce-regression-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-140-dce-regression-expected-stdout",
     out: ["art-run-test-140-dce-regression-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-140-dce-regression-expected-stderr",
+    out: ["art-run-test-140-dce-regression-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/140-dce-regression/expected-stderr.txt b/test/140-dce-regression/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/140-dce-regression/expected-stderr.txt
diff --git a/test/140-field-packing/Android.bp b/test/140-field-packing/Android.bp
index 9ea71f8..9cafebd 100644
--- a/test/140-field-packing/Android.bp
+++ b/test/140-field-packing/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-140-field-packing-expected-stdout"],
+    data: [
+        ":art-run-test-140-field-packing-expected-stdout",
+        ":art-run-test-140-field-packing-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-140-field-packing-expected-stdout",
     out: ["art-run-test-140-field-packing-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-140-field-packing-expected-stderr",
+    out: ["art-run-test-140-field-packing-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/140-field-packing/expected-stderr.txt b/test/140-field-packing/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/140-field-packing/expected-stderr.txt
diff --git a/test/141-class-unload/expected-stderr.txt b/test/141-class-unload/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/141-class-unload/expected-stderr.txt
diff --git a/test/142-classloader2/expected-stderr.txt b/test/142-classloader2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/142-classloader2/expected-stderr.txt
diff --git a/test/143-string-value/Android.bp b/test/143-string-value/Android.bp
index 0cca620..d2402b2 100644
--- a/test/143-string-value/Android.bp
+++ b/test/143-string-value/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-143-string-value-expected-stdout"],
+    data: [
+        ":art-run-test-143-string-value-expected-stdout",
+        ":art-run-test-143-string-value-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-143-string-value-expected-stdout",
     out: ["art-run-test-143-string-value-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-143-string-value-expected-stderr",
+    out: ["art-run-test-143-string-value-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/143-string-value/check b/test/143-string-value/check
index b5e51ce..0691e88 100755
--- a/test/143-string-value/check
+++ b/test/143-string-value/check
@@ -14,7 +14,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Strip error log messages.
-sed -e '/^.*dalvikvm\(\|32\|64\) E.*\] /d' "$2" > "$2.tmp"
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
 
-diff --strip-trailing-cr -q "$1" "$2.tmp" >/dev/null
+# Strip error log messages.
+sed -e '/^.*dalvikvm\(\|32\|64\) E.*\] /d' "$4" > "$4.tmp"
+
+diff --strip-trailing-cr -q "$1" "$2" >/dev/null \
+  && diff --strip-trailing-cr -q "$3" "$4.tmp" >/dev/null
diff --git a/test/143-string-value/expected-stderr.txt b/test/143-string-value/expected-stderr.txt
new file mode 100644
index 0000000..06cdb89
--- /dev/null
+++ b/test/143-string-value/expected-stderr.txt
@@ -0,0 +1 @@
+The String#value field is not present on Android versions >= 6.0
diff --git a/test/143-string-value/expected-stdout.txt b/test/143-string-value/expected-stdout.txt
index 06cdb89..e69de29 100644
--- a/test/143-string-value/expected-stdout.txt
+++ b/test/143-string-value/expected-stdout.txt
@@ -1 +0,0 @@
-The String#value field is not present on Android versions >= 6.0
diff --git a/test/144-static-field-sigquit/Android.bp b/test/144-static-field-sigquit/Android.bp
index 4334896..327b631 100644
--- a/test/144-static-field-sigquit/Android.bp
+++ b/test/144-static-field-sigquit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-144-static-field-sigquit-expected-stdout"],
+    data: [
+        ":art-run-test-144-static-field-sigquit-expected-stdout",
+        ":art-run-test-144-static-field-sigquit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-144-static-field-sigquit-expected-stdout",
     out: ["art-run-test-144-static-field-sigquit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-144-static-field-sigquit-expected-stderr",
+    out: ["art-run-test-144-static-field-sigquit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/144-static-field-sigquit/expected-stderr.txt b/test/144-static-field-sigquit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/144-static-field-sigquit/expected-stderr.txt
diff --git a/test/145-alloc-tracking-stress/expected-stderr.txt b/test/145-alloc-tracking-stress/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/145-alloc-tracking-stress/expected-stderr.txt
diff --git a/test/146-bad-interface/check b/test/146-bad-interface/check
index 9d8f464..eadb559 100644
--- a/test/146-bad-interface/check
+++ b/test/146-bad-interface/check
@@ -14,7 +14,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Oat file manager will complain about duplicate dex files. Ignore.
-sed -e '/.*oat_file_manager.*/d' "$2" > "$2.tmp"
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
 
-diff --strip-trailing-cr -q "$1" "$2.tmp" >/dev/null
+# Oat file manager will complain about duplicate dex files. Ignore.
+sed -e '/.*oat_file_manager.*/d' "$4" > "$4.tmp"
+
+diff --strip-trailing-cr -q "$1" "$2" >/dev/null \
+  && diff --strip-trailing-cr -q "$3" "$4.tmp" >/dev/null
diff --git a/test/146-bad-interface/expected-stderr.txt b/test/146-bad-interface/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/146-bad-interface/expected-stderr.txt
diff --git a/test/148-multithread-gc-annotations/Android.bp b/test/148-multithread-gc-annotations/Android.bp
index 3cdf02a..bde4262 100644
--- a/test/148-multithread-gc-annotations/Android.bp
+++ b/test/148-multithread-gc-annotations/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-148-multithread-gc-annotations-expected-stdout"],
+    data: [
+        ":art-run-test-148-multithread-gc-annotations-expected-stdout",
+        ":art-run-test-148-multithread-gc-annotations-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-148-multithread-gc-annotations-expected-stdout",
     out: ["art-run-test-148-multithread-gc-annotations-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-148-multithread-gc-annotations-expected-stderr",
+    out: ["art-run-test-148-multithread-gc-annotations-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/148-multithread-gc-annotations/check b/test/148-multithread-gc-annotations/check
index 842bdc6..67fcafb 100755
--- a/test/148-multithread-gc-annotations/check
+++ b/test/148-multithread-gc-annotations/check
@@ -14,9 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # Check that the string "error" isn't present
-if grep error "$2"; then
-    exit 1
-else
-    exit 0
-fi
+grep -vq error "$2"  \
+  && diff --strip-trailing-cr -q "$3" "$4" >/dev/null
diff --git a/test/148-multithread-gc-annotations/expected-stderr.txt b/test/148-multithread-gc-annotations/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/148-multithread-gc-annotations/expected-stderr.txt
diff --git a/test/149-suspend-all-stress/Android.bp b/test/149-suspend-all-stress/Android.bp
index 8745cc7..e41289b 100644
--- a/test/149-suspend-all-stress/Android.bp
+++ b/test/149-suspend-all-stress/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-149-suspend-all-stress-expected-stdout"],
+    data: [
+        ":art-run-test-149-suspend-all-stress-expected-stdout",
+        ":art-run-test-149-suspend-all-stress-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-149-suspend-all-stress-expected-stdout",
     out: ["art-run-test-149-suspend-all-stress-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-149-suspend-all-stress-expected-stderr",
+    out: ["art-run-test-149-suspend-all-stress-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/149-suspend-all-stress/check b/test/149-suspend-all-stress/check
index d30b888..0386d58 100755
--- a/test/149-suspend-all-stress/check
+++ b/test/149-suspend-all-stress/check
@@ -14,5 +14,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # Only compare the last line.
-tail -n 1 "$2" | diff --strip-trailing-cr -q "$1" - >/dev/null
\ No newline at end of file
+tail -n 1 "$2" | diff --strip-trailing-cr -q "$1" - >/dev/null \
+  && diff --strip-trailing-cr -q "$3" "$4" >/dev/null
+
diff --git a/test/149-suspend-all-stress/expected-stderr.txt b/test/149-suspend-all-stress/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/149-suspend-all-stress/expected-stderr.txt
diff --git a/test/150-loadlibrary/Android.bp b/test/150-loadlibrary/Android.bp
index ac773ec..e2481b4 100644
--- a/test/150-loadlibrary/Android.bp
+++ b/test/150-loadlibrary/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-150-loadlibrary-expected-stdout"],
+    data: [
+        ":art-run-test-150-loadlibrary-expected-stdout",
+        ":art-run-test-150-loadlibrary-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-150-loadlibrary-expected-stdout",
     out: ["art-run-test-150-loadlibrary-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-150-loadlibrary-expected-stderr",
+    out: ["art-run-test-150-loadlibrary-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/150-loadlibrary/expected-stderr.txt b/test/150-loadlibrary/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/150-loadlibrary/expected-stderr.txt
diff --git a/test/151-OpenFileLimit/Android.bp b/test/151-OpenFileLimit/Android.bp
index 748795e..dbfdfd2 100644
--- a/test/151-OpenFileLimit/Android.bp
+++ b/test/151-OpenFileLimit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-151-OpenFileLimit-expected-stdout"],
+    data: [
+        ":art-run-test-151-OpenFileLimit-expected-stdout",
+        ":art-run-test-151-OpenFileLimit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-151-OpenFileLimit-expected-stdout",
     out: ["art-run-test-151-OpenFileLimit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-151-OpenFileLimit-expected-stderr",
+    out: ["art-run-test-151-OpenFileLimit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/151-OpenFileLimit/expected-stderr.txt b/test/151-OpenFileLimit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/151-OpenFileLimit/expected-stderr.txt
diff --git a/test/152-dead-large-object/Android.bp b/test/152-dead-large-object/Android.bp
index 2444fa5..42836d3 100644
--- a/test/152-dead-large-object/Android.bp
+++ b/test/152-dead-large-object/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-152-dead-large-object-expected-stdout"],
+    data: [
+        ":art-run-test-152-dead-large-object-expected-stdout",
+        ":art-run-test-152-dead-large-object-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-152-dead-large-object-expected-stdout",
     out: ["art-run-test-152-dead-large-object-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-152-dead-large-object-expected-stderr",
+    out: ["art-run-test-152-dead-large-object-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/152-dead-large-object/expected-stderr.txt b/test/152-dead-large-object/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/152-dead-large-object/expected-stderr.txt
diff --git a/test/153-reference-stress/Android.bp b/test/153-reference-stress/Android.bp
index 04ab5d2..00b386b 100644
--- a/test/153-reference-stress/Android.bp
+++ b/test/153-reference-stress/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-153-reference-stress-expected-stdout"],
+    data: [
+        ":art-run-test-153-reference-stress-expected-stdout",
+        ":art-run-test-153-reference-stress-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-153-reference-stress-expected-stdout",
     out: ["art-run-test-153-reference-stress-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-153-reference-stress-expected-stderr",
+    out: ["art-run-test-153-reference-stress-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/153-reference-stress/expected-stderr.txt b/test/153-reference-stress/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/153-reference-stress/expected-stderr.txt
diff --git a/test/154-gc-loop/Android.bp b/test/154-gc-loop/Android.bp
index 2073e8b..b5d28a3 100644
--- a/test/154-gc-loop/Android.bp
+++ b/test/154-gc-loop/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-154-gc-loop-expected-stdout"],
+    data: [
+        ":art-run-test-154-gc-loop-expected-stdout",
+        ":art-run-test-154-gc-loop-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-154-gc-loop-expected-stdout",
     out: ["art-run-test-154-gc-loop-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-154-gc-loop-expected-stderr",
+    out: ["art-run-test-154-gc-loop-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/154-gc-loop/expected-stderr.txt b/test/154-gc-loop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/154-gc-loop/expected-stderr.txt
diff --git a/test/155-java-set-resolved-type/expected-stderr.txt b/test/155-java-set-resolved-type/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/155-java-set-resolved-type/expected-stderr.txt
diff --git a/test/156-register-dex-file-multi-loader/Android.bp b/test/156-register-dex-file-multi-loader/Android.bp
index 62accd2..933acb2 100644
--- a/test/156-register-dex-file-multi-loader/Android.bp
+++ b/test/156-register-dex-file-multi-loader/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-156-register-dex-file-multi-loader-expected-stdout"],
+    data: [
+        ":art-run-test-156-register-dex-file-multi-loader-expected-stdout",
+        ":art-run-test-156-register-dex-file-multi-loader-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-156-register-dex-file-multi-loader-expected-stdout",
     out: ["art-run-test-156-register-dex-file-multi-loader-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-156-register-dex-file-multi-loader-expected-stderr",
+    out: ["art-run-test-156-register-dex-file-multi-loader-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/156-register-dex-file-multi-loader/expected-stderr.txt b/test/156-register-dex-file-multi-loader/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/156-register-dex-file-multi-loader/expected-stderr.txt
diff --git a/test/157-void-class/expected-stderr.txt b/test/157-void-class/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/157-void-class/expected-stderr.txt
diff --git a/test/158-app-image-class-table/Android.bp b/test/158-app-image-class-table/Android.bp
index eb9c48c..af5c988 100644
--- a/test/158-app-image-class-table/Android.bp
+++ b/test/158-app-image-class-table/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-158-app-image-class-table-expected-stdout"],
+    data: [
+        ":art-run-test-158-app-image-class-table-expected-stdout",
+        ":art-run-test-158-app-image-class-table-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-158-app-image-class-table-expected-stdout",
     out: ["art-run-test-158-app-image-class-table-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-158-app-image-class-table-expected-stderr",
+    out: ["art-run-test-158-app-image-class-table-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/158-app-image-class-table/expected-stderr.txt b/test/158-app-image-class-table/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/158-app-image-class-table/expected-stderr.txt
diff --git a/test/159-app-image-fields/Android.bp b/test/159-app-image-fields/Android.bp
index 7b1a9c2..b1743eb 100644
--- a/test/159-app-image-fields/Android.bp
+++ b/test/159-app-image-fields/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-159-app-image-fields-expected-stdout"],
+    data: [
+        ":art-run-test-159-app-image-fields-expected-stdout",
+        ":art-run-test-159-app-image-fields-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-159-app-image-fields-expected-stdout",
     out: ["art-run-test-159-app-image-fields-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-159-app-image-fields-expected-stderr",
+    out: ["art-run-test-159-app-image-fields-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/159-app-image-fields/expected-stderr.txt b/test/159-app-image-fields/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/159-app-image-fields/expected-stderr.txt
diff --git a/test/160-read-barrier-stress/Android.bp b/test/160-read-barrier-stress/Android.bp
index 234801d..cab51dd 100644
--- a/test/160-read-barrier-stress/Android.bp
+++ b/test/160-read-barrier-stress/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-160-read-barrier-stress-expected-stdout"],
+    data: [
+        ":art-run-test-160-read-barrier-stress-expected-stdout",
+        ":art-run-test-160-read-barrier-stress-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-160-read-barrier-stress-expected-stdout",
     out: ["art-run-test-160-read-barrier-stress-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-160-read-barrier-stress-expected-stderr",
+    out: ["art-run-test-160-read-barrier-stress-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/160-read-barrier-stress/expected-stderr.txt b/test/160-read-barrier-stress/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/160-read-barrier-stress/expected-stderr.txt
diff --git a/test/161-final-abstract-class/expected-stderr.txt b/test/161-final-abstract-class/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/161-final-abstract-class/expected-stderr.txt
diff --git a/test/162-method-resolution/expected-stderr.txt b/test/162-method-resolution/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/162-method-resolution/expected-stderr.txt
diff --git a/test/163-app-image-methods/Android.bp b/test/163-app-image-methods/Android.bp
index 2bbb251..980fa20 100644
--- a/test/163-app-image-methods/Android.bp
+++ b/test/163-app-image-methods/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-163-app-image-methods-expected-stdout"],
+    data: [
+        ":art-run-test-163-app-image-methods-expected-stdout",
+        ":art-run-test-163-app-image-methods-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-163-app-image-methods-expected-stdout",
     out: ["art-run-test-163-app-image-methods-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-163-app-image-methods-expected-stderr",
+    out: ["art-run-test-163-app-image-methods-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/163-app-image-methods/expected-stderr.txt b/test/163-app-image-methods/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/163-app-image-methods/expected-stderr.txt
diff --git a/test/164-resolution-trampoline-dex-cache/expected-stderr.txt b/test/164-resolution-trampoline-dex-cache/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/164-resolution-trampoline-dex-cache/expected-stderr.txt
diff --git a/test/165-lock-owner-proxy/Android.bp b/test/165-lock-owner-proxy/Android.bp
index c7b3212..aaf5841 100644
--- a/test/165-lock-owner-proxy/Android.bp
+++ b/test/165-lock-owner-proxy/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-165-lock-owner-proxy-expected-stdout"],
+    data: [
+        ":art-run-test-165-lock-owner-proxy-expected-stdout",
+        ":art-run-test-165-lock-owner-proxy-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-165-lock-owner-proxy-expected-stdout",
     out: ["art-run-test-165-lock-owner-proxy-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-165-lock-owner-proxy-expected-stderr",
+    out: ["art-run-test-165-lock-owner-proxy-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/165-lock-owner-proxy/expected-stderr.txt b/test/165-lock-owner-proxy/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/165-lock-owner-proxy/expected-stderr.txt
diff --git a/test/166-bad-interface-super/expected-stderr.txt b/test/166-bad-interface-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/166-bad-interface-super/expected-stderr.txt
diff --git a/test/167-visit-locks/expected-stderr.txt b/test/167-visit-locks/expected-stderr.txt
new file mode 100644
index 0000000..802c8d9
--- /dev/null
+++ b/test/167-visit-locks/expected-stderr.txt
@@ -0,0 +1,2 @@
+First
+Second
diff --git a/test/167-visit-locks/expected-stdout.txt b/test/167-visit-locks/expected-stdout.txt
index 5157c64..6a5618e 100644
--- a/test/167-visit-locks/expected-stdout.txt
+++ b/test/167-visit-locks/expected-stdout.txt
@@ -1,3 +1 @@
 JNI_OnLoad called
-First
-Second
diff --git a/test/168-vmstack-annotated/Android.bp b/test/168-vmstack-annotated/Android.bp
index 8f04a69..3fd93a1 100644
--- a/test/168-vmstack-annotated/Android.bp
+++ b/test/168-vmstack-annotated/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-168-vmstack-annotated-expected-stdout"],
+    data: [
+        ":art-run-test-168-vmstack-annotated-expected-stdout",
+        ":art-run-test-168-vmstack-annotated-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-168-vmstack-annotated-expected-stdout",
     out: ["art-run-test-168-vmstack-annotated-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-168-vmstack-annotated-expected-stderr",
+    out: ["art-run-test-168-vmstack-annotated-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/168-vmstack-annotated/expected-stderr.txt b/test/168-vmstack-annotated/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/168-vmstack-annotated/expected-stderr.txt
diff --git a/test/169-threadgroup-jni/Android.bp b/test/169-threadgroup-jni/Android.bp
index 7a82613..674c524 100644
--- a/test/169-threadgroup-jni/Android.bp
+++ b/test/169-threadgroup-jni/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-169-threadgroup-jni-expected-stdout"],
+    data: [
+        ":art-run-test-169-threadgroup-jni-expected-stdout",
+        ":art-run-test-169-threadgroup-jni-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-169-threadgroup-jni-expected-stdout",
     out: ["art-run-test-169-threadgroup-jni-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-169-threadgroup-jni-expected-stderr",
+    out: ["art-run-test-169-threadgroup-jni-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/169-threadgroup-jni/expected-stderr.txt b/test/169-threadgroup-jni/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/169-threadgroup-jni/expected-stderr.txt
diff --git a/test/170-interface-init/Android.bp b/test/170-interface-init/Android.bp
index dee00f5..2ec5da1 100644
--- a/test/170-interface-init/Android.bp
+++ b/test/170-interface-init/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-170-interface-init-expected-stdout"],
+    data: [
+        ":art-run-test-170-interface-init-expected-stdout",
+        ":art-run-test-170-interface-init-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-170-interface-init-expected-stdout",
     out: ["art-run-test-170-interface-init-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-170-interface-init-expected-stderr",
+    out: ["art-run-test-170-interface-init-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/170-interface-init/expected-stderr.txt b/test/170-interface-init/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/170-interface-init/expected-stderr.txt
diff --git a/test/171-init-aste/expected-stderr.txt b/test/171-init-aste/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/171-init-aste/expected-stderr.txt
diff --git a/test/172-app-image-twice/Android.bp b/test/172-app-image-twice/Android.bp
index 10f1b19..e9221d2 100644
--- a/test/172-app-image-twice/Android.bp
+++ b/test/172-app-image-twice/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-172-app-image-twice-expected-stdout"],
+    data: [
+        ":art-run-test-172-app-image-twice-expected-stdout",
+        ":art-run-test-172-app-image-twice-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-172-app-image-twice-expected-stdout",
     out: ["art-run-test-172-app-image-twice-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-172-app-image-twice-expected-stderr",
+    out: ["art-run-test-172-app-image-twice-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/172-app-image-twice/check b/test/172-app-image-twice/check
index 26a97a4..228bcb5 100755
--- a/test/172-app-image-twice/check
+++ b/test/172-app-image-twice/check
@@ -14,5 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # Remove all lines not containing "passed".
-grep "^passed" "$2" | diff --strip-trailing-cr -q "$1" - >/dev/null
+grep "^passed" "$2" | diff --strip-trailing-cr -q "$1" - >/dev/null \
+  && diff --strip-trailing-cr -q "$3" "$4" >/dev/null
diff --git a/test/172-app-image-twice/expected-stderr.txt b/test/172-app-image-twice/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/172-app-image-twice/expected-stderr.txt
diff --git a/test/173-missing-field-type/expected-stderr.txt b/test/173-missing-field-type/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/173-missing-field-type/expected-stderr.txt
diff --git a/test/174-escaping-instance-of-bad-class/Android.bp b/test/174-escaping-instance-of-bad-class/Android.bp
index 7d04601..81ec479 100644
--- a/test/174-escaping-instance-of-bad-class/Android.bp
+++ b/test/174-escaping-instance-of-bad-class/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-174-escaping-instance-of-bad-class-expected-stdout"],
+    data: [
+        ":art-run-test-174-escaping-instance-of-bad-class-expected-stdout",
+        ":art-run-test-174-escaping-instance-of-bad-class-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-174-escaping-instance-of-bad-class-expected-stdout",
     out: ["art-run-test-174-escaping-instance-of-bad-class-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-174-escaping-instance-of-bad-class-expected-stderr",
+    out: ["art-run-test-174-escaping-instance-of-bad-class-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/174-escaping-instance-of-bad-class/expected-stderr.txt b/test/174-escaping-instance-of-bad-class/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/174-escaping-instance-of-bad-class/expected-stderr.txt
diff --git a/test/175-alloc-big-bignums/Android.bp b/test/175-alloc-big-bignums/Android.bp
index e0eb298..f3c9c87 100644
--- a/test/175-alloc-big-bignums/Android.bp
+++ b/test/175-alloc-big-bignums/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-175-alloc-big-bignums-expected-stdout"],
+    data: [
+        ":art-run-test-175-alloc-big-bignums-expected-stdout",
+        ":art-run-test-175-alloc-big-bignums-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-175-alloc-big-bignums-expected-stdout",
     out: ["art-run-test-175-alloc-big-bignums-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-175-alloc-big-bignums-expected-stderr",
+    out: ["art-run-test-175-alloc-big-bignums-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/175-alloc-big-bignums/expected-stderr.txt b/test/175-alloc-big-bignums/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/175-alloc-big-bignums/expected-stderr.txt
diff --git a/test/176-app-image-string/Android.bp b/test/176-app-image-string/Android.bp
index f032c7e..c7a0bf4 100644
--- a/test/176-app-image-string/Android.bp
+++ b/test/176-app-image-string/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-176-app-image-string-expected-stdout"],
+    data: [
+        ":art-run-test-176-app-image-string-expected-stdout",
+        ":art-run-test-176-app-image-string-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-176-app-image-string-expected-stdout",
     out: ["art-run-test-176-app-image-string-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-176-app-image-string-expected-stderr",
+    out: ["art-run-test-176-app-image-string-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/176-app-image-string/expected-stderr.txt b/test/176-app-image-string/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/176-app-image-string/expected-stderr.txt
diff --git a/test/177-visibly-initialized-deadlock/Android.bp b/test/177-visibly-initialized-deadlock/Android.bp
index 2c2d1e4..574d1de 100644
--- a/test/177-visibly-initialized-deadlock/Android.bp
+++ b/test/177-visibly-initialized-deadlock/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-177-visibly-initialized-deadlock-expected-stdout"],
+    data: [
+        ":art-run-test-177-visibly-initialized-deadlock-expected-stdout",
+        ":art-run-test-177-visibly-initialized-deadlock-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-177-visibly-initialized-deadlock-expected-stdout",
     out: ["art-run-test-177-visibly-initialized-deadlock-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-177-visibly-initialized-deadlock-expected-stderr",
+    out: ["art-run-test-177-visibly-initialized-deadlock-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/177-visibly-initialized-deadlock/expected-stderr.txt b/test/177-visibly-initialized-deadlock/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/177-visibly-initialized-deadlock/expected-stderr.txt
diff --git a/test/178-app-image-native-method/Android.bp b/test/178-app-image-native-method/Android.bp
index 62a9afb..2627822 100644
--- a/test/178-app-image-native-method/Android.bp
+++ b/test/178-app-image-native-method/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-178-app-image-native-method-expected-stdout"],
+    data: [
+        ":art-run-test-178-app-image-native-method-expected-stdout",
+        ":art-run-test-178-app-image-native-method-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-178-app-image-native-method-expected-stdout",
     out: ["art-run-test-178-app-image-native-method-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-178-app-image-native-method-expected-stderr",
+    out: ["art-run-test-178-app-image-native-method-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/178-app-image-native-method/check b/test/178-app-image-native-method/check
index 5336295..45d3654 100755
--- a/test/178-app-image-native-method/check
+++ b/test/178-app-image-native-method/check
@@ -14,5 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # Filter out error messages for missing native methods.
-grep -v 'No implementation found for ' "$2" | diff -q "$1" - >/dev/null
+diff --strip-trailing-cr -q "$1" "$2" >/dev/null \
+  && grep -v 'No implementation found for ' "$4" | diff -q "$3" - >/dev/null
diff --git a/test/178-app-image-native-method/expected-stderr.txt b/test/178-app-image-native-method/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/178-app-image-native-method/expected-stderr.txt
diff --git a/test/179-nonvirtual-jni/Android.bp b/test/179-nonvirtual-jni/Android.bp
index 1a93cc0..8c45f4a 100644
--- a/test/179-nonvirtual-jni/Android.bp
+++ b/test/179-nonvirtual-jni/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-179-nonvirtual-jni-expected-stdout"],
+    data: [
+        ":art-run-test-179-nonvirtual-jni-expected-stdout",
+        ":art-run-test-179-nonvirtual-jni-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-179-nonvirtual-jni-expected-stdout",
     out: ["art-run-test-179-nonvirtual-jni-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-179-nonvirtual-jni-expected-stderr",
+    out: ["art-run-test-179-nonvirtual-jni-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/179-nonvirtual-jni/expected-stderr.txt b/test/179-nonvirtual-jni/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/179-nonvirtual-jni/expected-stderr.txt
diff --git a/test/180-native-default-method/expected-stderr.txt b/test/180-native-default-method/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/180-native-default-method/expected-stderr.txt
diff --git a/test/1900-track-alloc/Android.bp b/test/1900-track-alloc/Android.bp
index 899a369..bd2e545 100644
--- a/test/1900-track-alloc/Android.bp
+++ b/test/1900-track-alloc/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1900-track-alloc-expected-stdout"],
+    data: [
+        ":art-run-test-1900-track-alloc-expected-stdout",
+        ":art-run-test-1900-track-alloc-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1900-track-alloc-expected-stdout",
     out: ["art-run-test-1900-track-alloc-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1900-track-alloc-expected-stderr",
+    out: ["art-run-test-1900-track-alloc-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1900-track-alloc/expected-stderr.txt b/test/1900-track-alloc/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1900-track-alloc/expected-stderr.txt
diff --git a/test/1901-get-bytecodes/Android.bp b/test/1901-get-bytecodes/Android.bp
index 8d46b09..0474009 100644
--- a/test/1901-get-bytecodes/Android.bp
+++ b/test/1901-get-bytecodes/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1901-get-bytecodes-expected-stdout"],
+    data: [
+        ":art-run-test-1901-get-bytecodes-expected-stdout",
+        ":art-run-test-1901-get-bytecodes-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1901-get-bytecodes-expected-stdout",
     out: ["art-run-test-1901-get-bytecodes-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1901-get-bytecodes-expected-stderr",
+    out: ["art-run-test-1901-get-bytecodes-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1901-get-bytecodes/expected-stderr.txt b/test/1901-get-bytecodes/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1901-get-bytecodes/expected-stderr.txt
diff --git a/test/1902-suspend/Android.bp b/test/1902-suspend/Android.bp
index 211ddea..08bc4de 100644
--- a/test/1902-suspend/Android.bp
+++ b/test/1902-suspend/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1902-suspend-expected-stdout"],
+    data: [
+        ":art-run-test-1902-suspend-expected-stdout",
+        ":art-run-test-1902-suspend-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1902-suspend-expected-stdout",
     out: ["art-run-test-1902-suspend-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1902-suspend-expected-stderr",
+    out: ["art-run-test-1902-suspend-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1902-suspend/expected-stderr.txt b/test/1902-suspend/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1902-suspend/expected-stderr.txt
diff --git a/test/1903-suspend-self/Android.bp b/test/1903-suspend-self/Android.bp
index 6914be3..658e790 100644
--- a/test/1903-suspend-self/Android.bp
+++ b/test/1903-suspend-self/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1903-suspend-self-expected-stdout"],
+    data: [
+        ":art-run-test-1903-suspend-self-expected-stdout",
+        ":art-run-test-1903-suspend-self-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1903-suspend-self-expected-stdout",
     out: ["art-run-test-1903-suspend-self-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1903-suspend-self-expected-stderr",
+    out: ["art-run-test-1903-suspend-self-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1903-suspend-self/expected-stderr.txt b/test/1903-suspend-self/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1903-suspend-self/expected-stderr.txt
diff --git a/test/1904-double-suspend/Android.bp b/test/1904-double-suspend/Android.bp
index 0abf3f7..f9dfbc9 100644
--- a/test/1904-double-suspend/Android.bp
+++ b/test/1904-double-suspend/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1904-double-suspend-expected-stdout"],
+    data: [
+        ":art-run-test-1904-double-suspend-expected-stdout",
+        ":art-run-test-1904-double-suspend-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1904-double-suspend-expected-stdout",
     out: ["art-run-test-1904-double-suspend-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1904-double-suspend-expected-stderr",
+    out: ["art-run-test-1904-double-suspend-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1904-double-suspend/expected-stderr.txt b/test/1904-double-suspend/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1904-double-suspend/expected-stderr.txt
diff --git a/test/1905-suspend-native/Android.bp b/test/1905-suspend-native/Android.bp
index 382b96a..c266e8e 100644
--- a/test/1905-suspend-native/Android.bp
+++ b/test/1905-suspend-native/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1905-suspend-native-expected-stdout"],
+    data: [
+        ":art-run-test-1905-suspend-native-expected-stdout",
+        ":art-run-test-1905-suspend-native-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1905-suspend-native-expected-stdout",
     out: ["art-run-test-1905-suspend-native-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1905-suspend-native-expected-stderr",
+    out: ["art-run-test-1905-suspend-native-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1905-suspend-native/expected-stderr.txt b/test/1905-suspend-native/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1905-suspend-native/expected-stderr.txt
diff --git a/test/1906-suspend-list-me-first/Android.bp b/test/1906-suspend-list-me-first/Android.bp
index 377fdcc..05116a3 100644
--- a/test/1906-suspend-list-me-first/Android.bp
+++ b/test/1906-suspend-list-me-first/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1906-suspend-list-me-first-expected-stdout"],
+    data: [
+        ":art-run-test-1906-suspend-list-me-first-expected-stdout",
+        ":art-run-test-1906-suspend-list-me-first-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1906-suspend-list-me-first-expected-stdout",
     out: ["art-run-test-1906-suspend-list-me-first-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1906-suspend-list-me-first-expected-stderr",
+    out: ["art-run-test-1906-suspend-list-me-first-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1906-suspend-list-me-first/expected-stderr.txt b/test/1906-suspend-list-me-first/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1906-suspend-list-me-first/expected-stderr.txt
diff --git a/test/1907-suspend-list-self-twice/Android.bp b/test/1907-suspend-list-self-twice/Android.bp
index 0985684..47adc29 100644
--- a/test/1907-suspend-list-self-twice/Android.bp
+++ b/test/1907-suspend-list-self-twice/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1907-suspend-list-self-twice-expected-stdout"],
+    data: [
+        ":art-run-test-1907-suspend-list-self-twice-expected-stdout",
+        ":art-run-test-1907-suspend-list-self-twice-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1907-suspend-list-self-twice-expected-stdout",
     out: ["art-run-test-1907-suspend-list-self-twice-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1907-suspend-list-self-twice-expected-stderr",
+    out: ["art-run-test-1907-suspend-list-self-twice-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1907-suspend-list-self-twice/expected-stderr.txt b/test/1907-suspend-list-self-twice/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1907-suspend-list-self-twice/expected-stderr.txt
diff --git a/test/1908-suspend-native-resume-self/Android.bp b/test/1908-suspend-native-resume-self/Android.bp
index 24f60d7..ba32adc 100644
--- a/test/1908-suspend-native-resume-self/Android.bp
+++ b/test/1908-suspend-native-resume-self/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1908-suspend-native-resume-self-expected-stdout"],
+    data: [
+        ":art-run-test-1908-suspend-native-resume-self-expected-stdout",
+        ":art-run-test-1908-suspend-native-resume-self-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1908-suspend-native-resume-self-expected-stdout",
     out: ["art-run-test-1908-suspend-native-resume-self-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1908-suspend-native-resume-self-expected-stderr",
+    out: ["art-run-test-1908-suspend-native-resume-self-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1908-suspend-native-resume-self/expected-stderr.txt b/test/1908-suspend-native-resume-self/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1908-suspend-native-resume-self/expected-stderr.txt
diff --git a/test/1909-per-agent-tls/Android.bp b/test/1909-per-agent-tls/Android.bp
index 58deecf..0a195fd 100644
--- a/test/1909-per-agent-tls/Android.bp
+++ b/test/1909-per-agent-tls/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1909-per-agent-tls-expected-stdout"],
+    data: [
+        ":art-run-test-1909-per-agent-tls-expected-stdout",
+        ":art-run-test-1909-per-agent-tls-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1909-per-agent-tls-expected-stdout",
     out: ["art-run-test-1909-per-agent-tls-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1909-per-agent-tls-expected-stderr",
+    out: ["art-run-test-1909-per-agent-tls-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1909-per-agent-tls/expected-stderr.txt b/test/1909-per-agent-tls/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1909-per-agent-tls/expected-stderr.txt
diff --git a/test/1910-transform-with-default/Android.bp b/test/1910-transform-with-default/Android.bp
index fde60f6..2f8bc9a 100644
--- a/test/1910-transform-with-default/Android.bp
+++ b/test/1910-transform-with-default/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1910-transform-with-default-expected-stdout"],
+    data: [
+        ":art-run-test-1910-transform-with-default-expected-stdout",
+        ":art-run-test-1910-transform-with-default-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1910-transform-with-default-expected-stdout",
     out: ["art-run-test-1910-transform-with-default-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1910-transform-with-default-expected-stderr",
+    out: ["art-run-test-1910-transform-with-default-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1910-transform-with-default/expected-stderr.txt b/test/1910-transform-with-default/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1910-transform-with-default/expected-stderr.txt
diff --git a/test/1911-get-local-var-table/Android.bp b/test/1911-get-local-var-table/Android.bp
index bec6853..322d213 100644
--- a/test/1911-get-local-var-table/Android.bp
+++ b/test/1911-get-local-var-table/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1911-get-local-var-table-expected-stdout"],
+    data: [
+        ":art-run-test-1911-get-local-var-table-expected-stdout",
+        ":art-run-test-1911-get-local-var-table-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1911-get-local-var-table-expected-stdout",
     out: ["art-run-test-1911-get-local-var-table-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1911-get-local-var-table-expected-stderr",
+    out: ["art-run-test-1911-get-local-var-table-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1911-get-local-var-table/expected-stderr.txt b/test/1911-get-local-var-table/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1911-get-local-var-table/expected-stderr.txt
diff --git a/test/1912-get-set-local-primitive/Android.bp b/test/1912-get-set-local-primitive/Android.bp
index eaa8b01..fba7fcd 100644
--- a/test/1912-get-set-local-primitive/Android.bp
+++ b/test/1912-get-set-local-primitive/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1912-get-set-local-primitive-expected-stdout"],
+    data: [
+        ":art-run-test-1912-get-set-local-primitive-expected-stdout",
+        ":art-run-test-1912-get-set-local-primitive-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1912-get-set-local-primitive-expected-stdout",
     out: ["art-run-test-1912-get-set-local-primitive-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1912-get-set-local-primitive-expected-stderr",
+    out: ["art-run-test-1912-get-set-local-primitive-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1912-get-set-local-primitive/expected-stderr.txt b/test/1912-get-set-local-primitive/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1912-get-set-local-primitive/expected-stderr.txt
diff --git a/test/1913-get-set-local-objects/Android.bp b/test/1913-get-set-local-objects/Android.bp
index d58183c..aae8a9d 100644
--- a/test/1913-get-set-local-objects/Android.bp
+++ b/test/1913-get-set-local-objects/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1913-get-set-local-objects-expected-stdout"],
+    data: [
+        ":art-run-test-1913-get-set-local-objects-expected-stdout",
+        ":art-run-test-1913-get-set-local-objects-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1913-get-set-local-objects-expected-stdout",
     out: ["art-run-test-1913-get-set-local-objects-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1913-get-set-local-objects-expected-stderr",
+    out: ["art-run-test-1913-get-set-local-objects-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1913-get-set-local-objects/expected-stderr.txt b/test/1913-get-set-local-objects/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1913-get-set-local-objects/expected-stderr.txt
diff --git a/test/1914-get-local-instance/Android.bp b/test/1914-get-local-instance/Android.bp
index 68006e3..7bfbf8f 100644
--- a/test/1914-get-local-instance/Android.bp
+++ b/test/1914-get-local-instance/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1914-get-local-instance-expected-stdout"],
+    data: [
+        ":art-run-test-1914-get-local-instance-expected-stdout",
+        ":art-run-test-1914-get-local-instance-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1914-get-local-instance-expected-stdout",
     out: ["art-run-test-1914-get-local-instance-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1914-get-local-instance-expected-stderr",
+    out: ["art-run-test-1914-get-local-instance-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1914-get-local-instance/expected-stderr.txt b/test/1914-get-local-instance/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1914-get-local-instance/expected-stderr.txt
diff --git a/test/1915-get-set-local-current-thread/Android.bp b/test/1915-get-set-local-current-thread/Android.bp
index d756070..22a019c 100644
--- a/test/1915-get-set-local-current-thread/Android.bp
+++ b/test/1915-get-set-local-current-thread/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1915-get-set-local-current-thread-expected-stdout"],
+    data: [
+        ":art-run-test-1915-get-set-local-current-thread-expected-stdout",
+        ":art-run-test-1915-get-set-local-current-thread-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1915-get-set-local-current-thread-expected-stdout",
     out: ["art-run-test-1915-get-set-local-current-thread-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1915-get-set-local-current-thread-expected-stderr",
+    out: ["art-run-test-1915-get-set-local-current-thread-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1915-get-set-local-current-thread/expected-stderr.txt b/test/1915-get-set-local-current-thread/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1915-get-set-local-current-thread/expected-stderr.txt
diff --git a/test/1916-get-set-current-frame/Android.bp b/test/1916-get-set-current-frame/Android.bp
index 151378d..288c512 100644
--- a/test/1916-get-set-current-frame/Android.bp
+++ b/test/1916-get-set-current-frame/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1916-get-set-current-frame-expected-stdout"],
+    data: [
+        ":art-run-test-1916-get-set-current-frame-expected-stdout",
+        ":art-run-test-1916-get-set-current-frame-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1916-get-set-current-frame-expected-stdout",
     out: ["art-run-test-1916-get-set-current-frame-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1916-get-set-current-frame-expected-stderr",
+    out: ["art-run-test-1916-get-set-current-frame-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1916-get-set-current-frame/expected-stderr.txt b/test/1916-get-set-current-frame/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1916-get-set-current-frame/expected-stderr.txt
diff --git a/test/1917-get-stack-frame/Android.bp b/test/1917-get-stack-frame/Android.bp
index 27a55ed..ddddf8c 100644
--- a/test/1917-get-stack-frame/Android.bp
+++ b/test/1917-get-stack-frame/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1917-get-stack-frame-expected-stdout"],
+    data: [
+        ":art-run-test-1917-get-stack-frame-expected-stdout",
+        ":art-run-test-1917-get-stack-frame-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1917-get-stack-frame-expected-stdout",
     out: ["art-run-test-1917-get-stack-frame-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1917-get-stack-frame-expected-stderr",
+    out: ["art-run-test-1917-get-stack-frame-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1917-get-stack-frame/expected-stderr.txt b/test/1917-get-stack-frame/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1917-get-stack-frame/expected-stderr.txt
diff --git a/test/1919-vminit-thread-start-timing/Android.bp b/test/1919-vminit-thread-start-timing/Android.bp
index 50f7809..330d10b 100644
--- a/test/1919-vminit-thread-start-timing/Android.bp
+++ b/test/1919-vminit-thread-start-timing/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1919-vminit-thread-start-timing-expected-stdout"],
+    data: [
+        ":art-run-test-1919-vminit-thread-start-timing-expected-stdout",
+        ":art-run-test-1919-vminit-thread-start-timing-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1919-vminit-thread-start-timing-expected-stdout",
     out: ["art-run-test-1919-vminit-thread-start-timing-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1919-vminit-thread-start-timing-expected-stderr",
+    out: ["art-run-test-1919-vminit-thread-start-timing-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1919-vminit-thread-start-timing/expected-stderr.txt b/test/1919-vminit-thread-start-timing/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1919-vminit-thread-start-timing/expected-stderr.txt
diff --git a/test/1920-suspend-native-monitor/Android.bp b/test/1920-suspend-native-monitor/Android.bp
index 1074e68..6d0ddb2 100644
--- a/test/1920-suspend-native-monitor/Android.bp
+++ b/test/1920-suspend-native-monitor/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1920-suspend-native-monitor-expected-stdout"],
+    data: [
+        ":art-run-test-1920-suspend-native-monitor-expected-stdout",
+        ":art-run-test-1920-suspend-native-monitor-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1920-suspend-native-monitor-expected-stdout",
     out: ["art-run-test-1920-suspend-native-monitor-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1920-suspend-native-monitor-expected-stderr",
+    out: ["art-run-test-1920-suspend-native-monitor-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1920-suspend-native-monitor/expected-stderr.txt b/test/1920-suspend-native-monitor/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1920-suspend-native-monitor/expected-stderr.txt
diff --git a/test/1921-suspend-native-recursive-monitor/Android.bp b/test/1921-suspend-native-recursive-monitor/Android.bp
index c143400..dcf8305 100644
--- a/test/1921-suspend-native-recursive-monitor/Android.bp
+++ b/test/1921-suspend-native-recursive-monitor/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1921-suspend-native-recursive-monitor-expected-stdout"],
+    data: [
+        ":art-run-test-1921-suspend-native-recursive-monitor-expected-stdout",
+        ":art-run-test-1921-suspend-native-recursive-monitor-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1921-suspend-native-recursive-monitor-expected-stdout",
     out: ["art-run-test-1921-suspend-native-recursive-monitor-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1921-suspend-native-recursive-monitor-expected-stderr",
+    out: ["art-run-test-1921-suspend-native-recursive-monitor-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1921-suspend-native-recursive-monitor/expected-stderr.txt b/test/1921-suspend-native-recursive-monitor/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1921-suspend-native-recursive-monitor/expected-stderr.txt
diff --git a/test/1922-owned-monitors-info/Android.bp b/test/1922-owned-monitors-info/Android.bp
index 6f0600d..a8e74b6 100644
--- a/test/1922-owned-monitors-info/Android.bp
+++ b/test/1922-owned-monitors-info/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1922-owned-monitors-info-expected-stdout"],
+    data: [
+        ":art-run-test-1922-owned-monitors-info-expected-stdout",
+        ":art-run-test-1922-owned-monitors-info-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1922-owned-monitors-info-expected-stdout",
     out: ["art-run-test-1922-owned-monitors-info-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1922-owned-monitors-info-expected-stderr",
+    out: ["art-run-test-1922-owned-monitors-info-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1922-owned-monitors-info/expected-stderr.txt b/test/1922-owned-monitors-info/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1922-owned-monitors-info/expected-stderr.txt
diff --git a/test/1923-frame-pop/Android.bp b/test/1923-frame-pop/Android.bp
index 47dde46..f8cdca0 100644
--- a/test/1923-frame-pop/Android.bp
+++ b/test/1923-frame-pop/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1923-frame-pop-expected-stdout"],
+    data: [
+        ":art-run-test-1923-frame-pop-expected-stdout",
+        ":art-run-test-1923-frame-pop-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1923-frame-pop-expected-stdout",
     out: ["art-run-test-1923-frame-pop-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1923-frame-pop-expected-stderr",
+    out: ["art-run-test-1923-frame-pop-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1923-frame-pop/expected-stderr.txt b/test/1923-frame-pop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1923-frame-pop/expected-stderr.txt
diff --git a/test/1924-frame-pop-toggle/Android.bp b/test/1924-frame-pop-toggle/Android.bp
index 95dd0e4..3a23f09 100644
--- a/test/1924-frame-pop-toggle/Android.bp
+++ b/test/1924-frame-pop-toggle/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1924-frame-pop-toggle-expected-stdout"],
+    data: [
+        ":art-run-test-1924-frame-pop-toggle-expected-stdout",
+        ":art-run-test-1924-frame-pop-toggle-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1924-frame-pop-toggle-expected-stdout",
     out: ["art-run-test-1924-frame-pop-toggle-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1924-frame-pop-toggle-expected-stderr",
+    out: ["art-run-test-1924-frame-pop-toggle-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1924-frame-pop-toggle/expected-stderr.txt b/test/1924-frame-pop-toggle/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1924-frame-pop-toggle/expected-stderr.txt
diff --git a/test/1925-self-frame-pop/Android.bp b/test/1925-self-frame-pop/Android.bp
index 9fdc253..0ba5aa9 100644
--- a/test/1925-self-frame-pop/Android.bp
+++ b/test/1925-self-frame-pop/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1925-self-frame-pop-expected-stdout"],
+    data: [
+        ":art-run-test-1925-self-frame-pop-expected-stdout",
+        ":art-run-test-1925-self-frame-pop-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1925-self-frame-pop-expected-stdout",
     out: ["art-run-test-1925-self-frame-pop-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1925-self-frame-pop-expected-stderr",
+    out: ["art-run-test-1925-self-frame-pop-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1925-self-frame-pop/expected-stderr.txt b/test/1925-self-frame-pop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1925-self-frame-pop/expected-stderr.txt
diff --git a/test/1926-missed-frame-pop/Android.bp b/test/1926-missed-frame-pop/Android.bp
index e3c7709..32f86ab 100644
--- a/test/1926-missed-frame-pop/Android.bp
+++ b/test/1926-missed-frame-pop/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1926-missed-frame-pop-expected-stdout"],
+    data: [
+        ":art-run-test-1926-missed-frame-pop-expected-stdout",
+        ":art-run-test-1926-missed-frame-pop-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1926-missed-frame-pop-expected-stdout",
     out: ["art-run-test-1926-missed-frame-pop-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1926-missed-frame-pop-expected-stderr",
+    out: ["art-run-test-1926-missed-frame-pop-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1926-missed-frame-pop/expected-stderr.txt b/test/1926-missed-frame-pop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1926-missed-frame-pop/expected-stderr.txt
diff --git a/test/1927-exception-event/Android.bp b/test/1927-exception-event/Android.bp
index 493980c..ee5e357 100644
--- a/test/1927-exception-event/Android.bp
+++ b/test/1927-exception-event/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1927-exception-event-expected-stdout"],
+    data: [
+        ":art-run-test-1927-exception-event-expected-stdout",
+        ":art-run-test-1927-exception-event-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1927-exception-event-expected-stdout",
     out: ["art-run-test-1927-exception-event-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1927-exception-event-expected-stderr",
+    out: ["art-run-test-1927-exception-event-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1927-exception-event/expected-stderr.txt b/test/1927-exception-event/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1927-exception-event/expected-stderr.txt
diff --git a/test/1928-exception-event-exception/Android.bp b/test/1928-exception-event-exception/Android.bp
index 776699b..22aeb60 100644
--- a/test/1928-exception-event-exception/Android.bp
+++ b/test/1928-exception-event-exception/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1928-exception-event-exception-expected-stdout"],
+    data: [
+        ":art-run-test-1928-exception-event-exception-expected-stdout",
+        ":art-run-test-1928-exception-event-exception-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1928-exception-event-exception-expected-stdout",
     out: ["art-run-test-1928-exception-event-exception-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1928-exception-event-exception-expected-stderr",
+    out: ["art-run-test-1928-exception-event-exception-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1928-exception-event-exception/expected-stderr.txt b/test/1928-exception-event-exception/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1928-exception-event-exception/expected-stderr.txt
diff --git a/test/1929-exception-catch-exception/expected-stderr.txt b/test/1929-exception-catch-exception/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1929-exception-catch-exception/expected-stderr.txt
diff --git a/test/1930-monitor-info/Android.bp b/test/1930-monitor-info/Android.bp
index 4fd007f..83fb727 100644
--- a/test/1930-monitor-info/Android.bp
+++ b/test/1930-monitor-info/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1930-monitor-info-expected-stdout"],
+    data: [
+        ":art-run-test-1930-monitor-info-expected-stdout",
+        ":art-run-test-1930-monitor-info-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1930-monitor-info-expected-stdout",
     out: ["art-run-test-1930-monitor-info-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1930-monitor-info-expected-stderr",
+    out: ["art-run-test-1930-monitor-info-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1930-monitor-info/expected-stderr.txt b/test/1930-monitor-info/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1930-monitor-info/expected-stderr.txt
diff --git a/test/1931-monitor-events/Android.bp b/test/1931-monitor-events/Android.bp
index b47c6e5..956eee8 100644
--- a/test/1931-monitor-events/Android.bp
+++ b/test/1931-monitor-events/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1931-monitor-events-expected-stdout"],
+    data: [
+        ":art-run-test-1931-monitor-events-expected-stdout",
+        ":art-run-test-1931-monitor-events-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1931-monitor-events-expected-stdout",
     out: ["art-run-test-1931-monitor-events-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1931-monitor-events-expected-stderr",
+    out: ["art-run-test-1931-monitor-events-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1931-monitor-events/check b/test/1931-monitor-events/check
index 53d6a4a..3f799cc 100644
--- a/test/1931-monitor-events/check
+++ b/test/1931-monitor-events/check
@@ -14,6 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # Art sends events for park/unpark, and the RI doesn't. Remove it from the expected output.
 if [[ "$TEST_RUNTIME" == "jvm" ]]; then
   patch -p0 expected-stdout.txt < jvm-expected.patch >/dev/null
diff --git a/test/1931-monitor-events/expected-stderr.txt b/test/1931-monitor-events/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1931-monitor-events/expected-stderr.txt
diff --git a/test/1932-monitor-events-misc/Android.bp b/test/1932-monitor-events-misc/Android.bp
index a081663..f78fb78 100644
--- a/test/1932-monitor-events-misc/Android.bp
+++ b/test/1932-monitor-events-misc/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1932-monitor-events-misc-expected-stdout"],
+    data: [
+        ":art-run-test-1932-monitor-events-misc-expected-stdout",
+        ":art-run-test-1932-monitor-events-misc-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1932-monitor-events-misc-expected-stdout",
     out: ["art-run-test-1932-monitor-events-misc-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1932-monitor-events-misc-expected-stderr",
+    out: ["art-run-test-1932-monitor-events-misc-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1932-monitor-events-misc/check b/test/1932-monitor-events-misc/check
index 05cbb5f..0fe4429 100644
--- a/test/1932-monitor-events-misc/check
+++ b/test/1932-monitor-events-misc/check
@@ -14,6 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # The RI sends an extra event that art doesn't. Add it to the expected output.
 if [[ "$TEST_RUNTIME" == "jvm" ]]; then
   patch -p0 expected-stdout.txt < jvm-expected.patch >/dev/null
diff --git a/test/1932-monitor-events-misc/expected-stderr.txt b/test/1932-monitor-events-misc/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1932-monitor-events-misc/expected-stderr.txt
diff --git a/test/1933-monitor-current-contended/Android.bp b/test/1933-monitor-current-contended/Android.bp
index 7e7e812..44faafc 100644
--- a/test/1933-monitor-current-contended/Android.bp
+++ b/test/1933-monitor-current-contended/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1933-monitor-current-contended-expected-stdout"],
+    data: [
+        ":art-run-test-1933-monitor-current-contended-expected-stdout",
+        ":art-run-test-1933-monitor-current-contended-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1933-monitor-current-contended-expected-stdout",
     out: ["art-run-test-1933-monitor-current-contended-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1933-monitor-current-contended-expected-stderr",
+    out: ["art-run-test-1933-monitor-current-contended-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1933-monitor-current-contended/expected-stderr.txt b/test/1933-monitor-current-contended/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1933-monitor-current-contended/expected-stderr.txt
diff --git a/test/1934-jvmti-signal-thread/Android.bp b/test/1934-jvmti-signal-thread/Android.bp
index 74cfd88..1772251 100644
--- a/test/1934-jvmti-signal-thread/Android.bp
+++ b/test/1934-jvmti-signal-thread/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1934-jvmti-signal-thread-expected-stdout"],
+    data: [
+        ":art-run-test-1934-jvmti-signal-thread-expected-stdout",
+        ":art-run-test-1934-jvmti-signal-thread-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1934-jvmti-signal-thread-expected-stdout",
     out: ["art-run-test-1934-jvmti-signal-thread-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1934-jvmti-signal-thread-expected-stderr",
+    out: ["art-run-test-1934-jvmti-signal-thread-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1934-jvmti-signal-thread/expected-stderr.txt b/test/1934-jvmti-signal-thread/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1934-jvmti-signal-thread/expected-stderr.txt
diff --git a/test/1935-get-set-current-frame-jit/Android.bp b/test/1935-get-set-current-frame-jit/Android.bp
index 684ed9b..36ff98a 100644
--- a/test/1935-get-set-current-frame-jit/Android.bp
+++ b/test/1935-get-set-current-frame-jit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1935-get-set-current-frame-jit-expected-stdout"],
+    data: [
+        ":art-run-test-1935-get-set-current-frame-jit-expected-stdout",
+        ":art-run-test-1935-get-set-current-frame-jit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1935-get-set-current-frame-jit-expected-stdout",
     out: ["art-run-test-1935-get-set-current-frame-jit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1935-get-set-current-frame-jit-expected-stderr",
+    out: ["art-run-test-1935-get-set-current-frame-jit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1935-get-set-current-frame-jit/expected-stderr.txt b/test/1935-get-set-current-frame-jit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1935-get-set-current-frame-jit/expected-stderr.txt
diff --git a/test/1936-thread-end-events/Android.bp b/test/1936-thread-end-events/Android.bp
index fe13d51..128db34 100644
--- a/test/1936-thread-end-events/Android.bp
+++ b/test/1936-thread-end-events/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1936-thread-end-events-expected-stdout"],
+    data: [
+        ":art-run-test-1936-thread-end-events-expected-stdout",
+        ":art-run-test-1936-thread-end-events-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1936-thread-end-events-expected-stdout",
     out: ["art-run-test-1936-thread-end-events-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1936-thread-end-events-expected-stderr",
+    out: ["art-run-test-1936-thread-end-events-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1936-thread-end-events/check b/test/1936-thread-end-events/check
index 05cbb5f..0fe4429 100644
--- a/test/1936-thread-end-events/check
+++ b/test/1936-thread-end-events/check
@@ -14,6 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # The RI sends an extra event that art doesn't. Add it to the expected output.
 if [[ "$TEST_RUNTIME" == "jvm" ]]; then
   patch -p0 expected-stdout.txt < jvm-expected.patch >/dev/null
diff --git a/test/1936-thread-end-events/expected-stderr.txt b/test/1936-thread-end-events/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1936-thread-end-events/expected-stderr.txt
diff --git a/test/1937-transform-soft-fail/Android.bp b/test/1937-transform-soft-fail/Android.bp
index 2ca7b27..e92a7ee 100644
--- a/test/1937-transform-soft-fail/Android.bp
+++ b/test/1937-transform-soft-fail/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1937-transform-soft-fail-expected-stdout"],
+    data: [
+        ":art-run-test-1937-transform-soft-fail-expected-stdout",
+        ":art-run-test-1937-transform-soft-fail-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1937-transform-soft-fail-expected-stdout",
     out: ["art-run-test-1937-transform-soft-fail-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1937-transform-soft-fail-expected-stderr",
+    out: ["art-run-test-1937-transform-soft-fail-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1937-transform-soft-fail/expected-stderr.txt b/test/1937-transform-soft-fail/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1937-transform-soft-fail/expected-stderr.txt
diff --git a/test/1938-transform-abstract-single-impl/Android.bp b/test/1938-transform-abstract-single-impl/Android.bp
index d1312ef..29e25db 100644
--- a/test/1938-transform-abstract-single-impl/Android.bp
+++ b/test/1938-transform-abstract-single-impl/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1938-transform-abstract-single-impl-expected-stdout"],
+    data: [
+        ":art-run-test-1938-transform-abstract-single-impl-expected-stdout",
+        ":art-run-test-1938-transform-abstract-single-impl-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1938-transform-abstract-single-impl-expected-stdout",
     out: ["art-run-test-1938-transform-abstract-single-impl-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1938-transform-abstract-single-impl-expected-stderr",
+    out: ["art-run-test-1938-transform-abstract-single-impl-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1938-transform-abstract-single-impl/expected-stderr.txt b/test/1938-transform-abstract-single-impl/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1938-transform-abstract-single-impl/expected-stderr.txt
diff --git a/test/1939-proxy-frames/Android.bp b/test/1939-proxy-frames/Android.bp
index 40c224e..2db0107 100644
--- a/test/1939-proxy-frames/Android.bp
+++ b/test/1939-proxy-frames/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1939-proxy-frames-expected-stdout"],
+    data: [
+        ":art-run-test-1939-proxy-frames-expected-stdout",
+        ":art-run-test-1939-proxy-frames-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1939-proxy-frames-expected-stdout",
     out: ["art-run-test-1939-proxy-frames-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1939-proxy-frames-expected-stderr",
+    out: ["art-run-test-1939-proxy-frames-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1939-proxy-frames/expected-stderr.txt b/test/1939-proxy-frames/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1939-proxy-frames/expected-stderr.txt
diff --git a/test/1940-ddms-ext/expected-stderr.txt b/test/1940-ddms-ext/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1940-ddms-ext/expected-stderr.txt
diff --git a/test/1941-dispose-stress/Android.bp b/test/1941-dispose-stress/Android.bp
index 6bb5c36..e3b364b 100644
--- a/test/1941-dispose-stress/Android.bp
+++ b/test/1941-dispose-stress/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1941-dispose-stress-expected-stdout"],
+    data: [
+        ":art-run-test-1941-dispose-stress-expected-stdout",
+        ":art-run-test-1941-dispose-stress-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1941-dispose-stress-expected-stdout",
     out: ["art-run-test-1941-dispose-stress-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1941-dispose-stress-expected-stderr",
+    out: ["art-run-test-1941-dispose-stress-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1941-dispose-stress/expected-stderr.txt b/test/1941-dispose-stress/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1941-dispose-stress/expected-stderr.txt
diff --git a/test/1942-suspend-raw-monitor-exit/Android.bp b/test/1942-suspend-raw-monitor-exit/Android.bp
index b2b8070..67bf51d 100644
--- a/test/1942-suspend-raw-monitor-exit/Android.bp
+++ b/test/1942-suspend-raw-monitor-exit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1942-suspend-raw-monitor-exit-expected-stdout"],
+    data: [
+        ":art-run-test-1942-suspend-raw-monitor-exit-expected-stdout",
+        ":art-run-test-1942-suspend-raw-monitor-exit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1942-suspend-raw-monitor-exit-expected-stdout",
     out: ["art-run-test-1942-suspend-raw-monitor-exit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1942-suspend-raw-monitor-exit-expected-stderr",
+    out: ["art-run-test-1942-suspend-raw-monitor-exit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1942-suspend-raw-monitor-exit/expected-stderr.txt b/test/1942-suspend-raw-monitor-exit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1942-suspend-raw-monitor-exit/expected-stderr.txt
diff --git a/test/1943-suspend-raw-monitor-wait/Android.bp b/test/1943-suspend-raw-monitor-wait/Android.bp
index 902cb48..2b6441e 100644
--- a/test/1943-suspend-raw-monitor-wait/Android.bp
+++ b/test/1943-suspend-raw-monitor-wait/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1943-suspend-raw-monitor-wait-expected-stdout"],
+    data: [
+        ":art-run-test-1943-suspend-raw-monitor-wait-expected-stdout",
+        ":art-run-test-1943-suspend-raw-monitor-wait-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1943-suspend-raw-monitor-wait-expected-stdout",
     out: ["art-run-test-1943-suspend-raw-monitor-wait-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1943-suspend-raw-monitor-wait-expected-stderr",
+    out: ["art-run-test-1943-suspend-raw-monitor-wait-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1943-suspend-raw-monitor-wait/expected-stderr.txt b/test/1943-suspend-raw-monitor-wait/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1943-suspend-raw-monitor-wait/expected-stderr.txt
diff --git a/test/1945-proxy-method-arguments/Android.bp b/test/1945-proxy-method-arguments/Android.bp
index 7236fd1..dba54d7 100644
--- a/test/1945-proxy-method-arguments/Android.bp
+++ b/test/1945-proxy-method-arguments/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1945-proxy-method-arguments-expected-stdout"],
+    data: [
+        ":art-run-test-1945-proxy-method-arguments-expected-stdout",
+        ":art-run-test-1945-proxy-method-arguments-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1945-proxy-method-arguments-expected-stdout",
     out: ["art-run-test-1945-proxy-method-arguments-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1945-proxy-method-arguments-expected-stderr",
+    out: ["art-run-test-1945-proxy-method-arguments-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1945-proxy-method-arguments/expected-stderr.txt b/test/1945-proxy-method-arguments/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1945-proxy-method-arguments/expected-stderr.txt
diff --git a/test/1946-list-descriptors/expected-stderr.txt b/test/1946-list-descriptors/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1946-list-descriptors/expected-stderr.txt
diff --git a/test/1947-breakpoint-redefine-deopt/Android.bp b/test/1947-breakpoint-redefine-deopt/Android.bp
index 9aaa7df..5f18c67 100644
--- a/test/1947-breakpoint-redefine-deopt/Android.bp
+++ b/test/1947-breakpoint-redefine-deopt/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1947-breakpoint-redefine-deopt-expected-stdout"],
+    data: [
+        ":art-run-test-1947-breakpoint-redefine-deopt-expected-stdout",
+        ":art-run-test-1947-breakpoint-redefine-deopt-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1947-breakpoint-redefine-deopt-expected-stdout",
     out: ["art-run-test-1947-breakpoint-redefine-deopt-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1947-breakpoint-redefine-deopt-expected-stderr",
+    out: ["art-run-test-1947-breakpoint-redefine-deopt-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1947-breakpoint-redefine-deopt/expected-stderr.txt b/test/1947-breakpoint-redefine-deopt/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1947-breakpoint-redefine-deopt/expected-stderr.txt
diff --git a/test/1948-obsolete-const-method-handle/expected-stderr.txt b/test/1948-obsolete-const-method-handle/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1948-obsolete-const-method-handle/expected-stderr.txt
diff --git a/test/1949-short-dex-file/Android.bp b/test/1949-short-dex-file/Android.bp
index 8e6c72d..6854c7b 100644
--- a/test/1949-short-dex-file/Android.bp
+++ b/test/1949-short-dex-file/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1949-short-dex-file-expected-stdout"],
+    data: [
+        ":art-run-test-1949-short-dex-file-expected-stdout",
+        ":art-run-test-1949-short-dex-file-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1949-short-dex-file-expected-stdout",
     out: ["art-run-test-1949-short-dex-file-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1949-short-dex-file-expected-stderr",
+    out: ["art-run-test-1949-short-dex-file-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1949-short-dex-file/expected-stderr.txt b/test/1949-short-dex-file/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1949-short-dex-file/expected-stderr.txt
diff --git a/test/1950-unprepared-transform/check b/test/1950-unprepared-transform/check
index 05cbb5f..0fe4429 100755
--- a/test/1950-unprepared-transform/check
+++ b/test/1950-unprepared-transform/check
@@ -14,6 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # The RI sends an extra event that art doesn't. Add it to the expected output.
 if [[ "$TEST_RUNTIME" == "jvm" ]]; then
   patch -p0 expected-stdout.txt < jvm-expected.patch >/dev/null
diff --git a/test/1950-unprepared-transform/expected-stderr.txt b/test/1950-unprepared-transform/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1950-unprepared-transform/expected-stderr.txt
diff --git a/test/1951-monitor-enter-no-suspend/Android.bp b/test/1951-monitor-enter-no-suspend/Android.bp
index 00d271c..1e52b21 100644
--- a/test/1951-monitor-enter-no-suspend/Android.bp
+++ b/test/1951-monitor-enter-no-suspend/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1951-monitor-enter-no-suspend-expected-stdout"],
+    data: [
+        ":art-run-test-1951-monitor-enter-no-suspend-expected-stdout",
+        ":art-run-test-1951-monitor-enter-no-suspend-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1951-monitor-enter-no-suspend-expected-stdout",
     out: ["art-run-test-1951-monitor-enter-no-suspend-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1951-monitor-enter-no-suspend-expected-stderr",
+    out: ["art-run-test-1951-monitor-enter-no-suspend-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1951-monitor-enter-no-suspend/expected-stderr.txt b/test/1951-monitor-enter-no-suspend/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1951-monitor-enter-no-suspend/expected-stderr.txt
diff --git a/test/1953-pop-frame/Android.bp b/test/1953-pop-frame/Android.bp
index 25b74e8..a215bd6 100644
--- a/test/1953-pop-frame/Android.bp
+++ b/test/1953-pop-frame/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1953-pop-frame-expected-stdout"],
+    data: [
+        ":art-run-test-1953-pop-frame-expected-stdout",
+        ":art-run-test-1953-pop-frame-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1953-pop-frame-expected-stdout",
     out: ["art-run-test-1953-pop-frame-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1953-pop-frame-expected-stderr",
+    out: ["art-run-test-1953-pop-frame-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1953-pop-frame/check b/test/1953-pop-frame/check
index 43a9218..24bbf07 100755
--- a/test/1953-pop-frame/check
+++ b/test/1953-pop-frame/check
@@ -14,6 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # The RI has restrictions and bugs around some PopFrame behavior that ART lacks.
 # See b/116003018. Some configurations cannot handle the class load events in
 # quite the right way so they are disabled there too.
diff --git a/test/1953-pop-frame/expected-stderr.txt b/test/1953-pop-frame/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1953-pop-frame/expected-stderr.txt
diff --git a/test/1954-pop-frame-jit/Android.bp b/test/1954-pop-frame-jit/Android.bp
index 6c695a6..0cd8199 100644
--- a/test/1954-pop-frame-jit/Android.bp
+++ b/test/1954-pop-frame-jit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1954-pop-frame-jit-expected-stdout"],
+    data: [
+        ":art-run-test-1954-pop-frame-jit-expected-stdout",
+        ":art-run-test-1954-pop-frame-jit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1954-pop-frame-jit-expected-stdout",
     out: ["art-run-test-1954-pop-frame-jit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1954-pop-frame-jit-expected-stderr",
+    out: ["art-run-test-1954-pop-frame-jit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1954-pop-frame-jit/check b/test/1954-pop-frame-jit/check
index c3678b7..e25838a 100755
--- a/test/1954-pop-frame-jit/check
+++ b/test/1954-pop-frame-jit/check
@@ -14,6 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # The RI has restrictions and bugs around some PopFrame behavior that ART lacks.
 # See b/116003018. Some configurations cannot handle the class load events in
 # quite the right way so they are disabled there too.
diff --git a/test/1954-pop-frame-jit/expected-stderr.txt b/test/1954-pop-frame-jit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1954-pop-frame-jit/expected-stderr.txt
diff --git a/test/1955-pop-frame-jit-called/Android.bp b/test/1955-pop-frame-jit-called/Android.bp
index cd2c03f..1cf3650 100644
--- a/test/1955-pop-frame-jit-called/Android.bp
+++ b/test/1955-pop-frame-jit-called/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1955-pop-frame-jit-called-expected-stdout"],
+    data: [
+        ":art-run-test-1955-pop-frame-jit-called-expected-stdout",
+        ":art-run-test-1955-pop-frame-jit-called-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1955-pop-frame-jit-called-expected-stdout",
     out: ["art-run-test-1955-pop-frame-jit-called-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1955-pop-frame-jit-called-expected-stderr",
+    out: ["art-run-test-1955-pop-frame-jit-called-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1955-pop-frame-jit-called/check b/test/1955-pop-frame-jit-called/check
index c3678b7..e25838a 100755
--- a/test/1955-pop-frame-jit-called/check
+++ b/test/1955-pop-frame-jit-called/check
@@ -14,6 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # The RI has restrictions and bugs around some PopFrame behavior that ART lacks.
 # See b/116003018. Some configurations cannot handle the class load events in
 # quite the right way so they are disabled there too.
diff --git a/test/1955-pop-frame-jit-called/expected-stderr.txt b/test/1955-pop-frame-jit-called/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1955-pop-frame-jit-called/expected-stderr.txt
diff --git a/test/1956-pop-frame-jit-calling/Android.bp b/test/1956-pop-frame-jit-calling/Android.bp
index 6ee4842..06a8dc9 100644
--- a/test/1956-pop-frame-jit-calling/Android.bp
+++ b/test/1956-pop-frame-jit-calling/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1956-pop-frame-jit-calling-expected-stdout"],
+    data: [
+        ":art-run-test-1956-pop-frame-jit-calling-expected-stdout",
+        ":art-run-test-1956-pop-frame-jit-calling-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1956-pop-frame-jit-calling-expected-stdout",
     out: ["art-run-test-1956-pop-frame-jit-calling-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1956-pop-frame-jit-calling-expected-stderr",
+    out: ["art-run-test-1956-pop-frame-jit-calling-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1956-pop-frame-jit-calling/check b/test/1956-pop-frame-jit-calling/check
index c3678b7..e25838a 100755
--- a/test/1956-pop-frame-jit-calling/check
+++ b/test/1956-pop-frame-jit-calling/check
@@ -14,6 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # The RI has restrictions and bugs around some PopFrame behavior that ART lacks.
 # See b/116003018. Some configurations cannot handle the class load events in
 # quite the right way so they are disabled there too.
diff --git a/test/1956-pop-frame-jit-calling/expected-stderr.txt b/test/1956-pop-frame-jit-calling/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1956-pop-frame-jit-calling/expected-stderr.txt
diff --git a/test/1957-error-ext/Android.bp b/test/1957-error-ext/Android.bp
index 6bf9f21..2610980 100644
--- a/test/1957-error-ext/Android.bp
+++ b/test/1957-error-ext/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1957-error-ext-expected-stdout"],
+    data: [
+        ":art-run-test-1957-error-ext-expected-stdout",
+        ":art-run-test-1957-error-ext-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1957-error-ext-expected-stdout",
     out: ["art-run-test-1957-error-ext-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1957-error-ext-expected-stderr",
+    out: ["art-run-test-1957-error-ext-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1957-error-ext/expected-stderr.txt b/test/1957-error-ext/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1957-error-ext/expected-stderr.txt
diff --git a/test/1958-transform-try-jit/Android.bp b/test/1958-transform-try-jit/Android.bp
index 61097f6..1adf021 100644
--- a/test/1958-transform-try-jit/Android.bp
+++ b/test/1958-transform-try-jit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1958-transform-try-jit-expected-stdout"],
+    data: [
+        ":art-run-test-1958-transform-try-jit-expected-stdout",
+        ":art-run-test-1958-transform-try-jit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1958-transform-try-jit-expected-stdout",
     out: ["art-run-test-1958-transform-try-jit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1958-transform-try-jit-expected-stderr",
+    out: ["art-run-test-1958-transform-try-jit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1958-transform-try-jit/expected-stderr.txt b/test/1958-transform-try-jit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1958-transform-try-jit/expected-stderr.txt
diff --git a/test/1959-redefine-object-instrument/Android.bp b/test/1959-redefine-object-instrument/Android.bp
index ca8088d..62dbdb8 100644
--- a/test/1959-redefine-object-instrument/Android.bp
+++ b/test/1959-redefine-object-instrument/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1959-redefine-object-instrument-expected-stdout"],
+    data: [
+        ":art-run-test-1959-redefine-object-instrument-expected-stdout",
+        ":art-run-test-1959-redefine-object-instrument-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1959-redefine-object-instrument-expected-stdout",
     out: ["art-run-test-1959-redefine-object-instrument-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1959-redefine-object-instrument-expected-stderr",
+    out: ["art-run-test-1959-redefine-object-instrument-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1959-redefine-object-instrument/expected-stderr.txt b/test/1959-redefine-object-instrument/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1959-redefine-object-instrument/expected-stderr.txt
diff --git a/test/1960-checker-bounds-codegen/Android.bp b/test/1960-checker-bounds-codegen/Android.bp
index a3d8079..2f3f235 100644
--- a/test/1960-checker-bounds-codegen/Android.bp
+++ b/test/1960-checker-bounds-codegen/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1960-checker-bounds-codegen-expected-stdout"],
+    data: [
+        ":art-run-test-1960-checker-bounds-codegen-expected-stdout",
+        ":art-run-test-1960-checker-bounds-codegen-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1960-checker-bounds-codegen-expected-stdout",
     out: ["art-run-test-1960-checker-bounds-codegen-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1960-checker-bounds-codegen-expected-stderr",
+    out: ["art-run-test-1960-checker-bounds-codegen-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1960-checker-bounds-codegen/expected-stderr.txt b/test/1960-checker-bounds-codegen/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1960-checker-bounds-codegen/expected-stderr.txt
diff --git a/test/1960-obsolete-jit-multithread-native/Android.bp b/test/1960-obsolete-jit-multithread-native/Android.bp
index 41f5cf9..c5aff26 100644
--- a/test/1960-obsolete-jit-multithread-native/Android.bp
+++ b/test/1960-obsolete-jit-multithread-native/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1960-obsolete-jit-multithread-native-expected-stdout"],
+    data: [
+        ":art-run-test-1960-obsolete-jit-multithread-native-expected-stdout",
+        ":art-run-test-1960-obsolete-jit-multithread-native-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1960-obsolete-jit-multithread-native-expected-stdout",
     out: ["art-run-test-1960-obsolete-jit-multithread-native-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1960-obsolete-jit-multithread-native-expected-stderr",
+    out: ["art-run-test-1960-obsolete-jit-multithread-native-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1960-obsolete-jit-multithread-native/expected-stderr.txt b/test/1960-obsolete-jit-multithread-native/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1960-obsolete-jit-multithread-native/expected-stderr.txt
diff --git a/test/1961-checker-loop-vectorizer/Android.bp b/test/1961-checker-loop-vectorizer/Android.bp
index 4a7c094..bd5f809 100644
--- a/test/1961-checker-loop-vectorizer/Android.bp
+++ b/test/1961-checker-loop-vectorizer/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1961-checker-loop-vectorizer-expected-stdout"],
+    data: [
+        ":art-run-test-1961-checker-loop-vectorizer-expected-stdout",
+        ":art-run-test-1961-checker-loop-vectorizer-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1961-checker-loop-vectorizer-expected-stdout",
     out: ["art-run-test-1961-checker-loop-vectorizer-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1961-checker-loop-vectorizer-expected-stderr",
+    out: ["art-run-test-1961-checker-loop-vectorizer-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1961-checker-loop-vectorizer/expected-stderr.txt b/test/1961-checker-loop-vectorizer/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1961-checker-loop-vectorizer/expected-stderr.txt
diff --git a/test/1961-obsolete-jit-multithread/Android.bp b/test/1961-obsolete-jit-multithread/Android.bp
index aaacaf6..aa66371 100644
--- a/test/1961-obsolete-jit-multithread/Android.bp
+++ b/test/1961-obsolete-jit-multithread/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1961-obsolete-jit-multithread-expected-stdout"],
+    data: [
+        ":art-run-test-1961-obsolete-jit-multithread-expected-stdout",
+        ":art-run-test-1961-obsolete-jit-multithread-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1961-obsolete-jit-multithread-expected-stdout",
     out: ["art-run-test-1961-obsolete-jit-multithread-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1961-obsolete-jit-multithread-expected-stderr",
+    out: ["art-run-test-1961-obsolete-jit-multithread-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1961-obsolete-jit-multithread/expected-stderr.txt b/test/1961-obsolete-jit-multithread/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1961-obsolete-jit-multithread/expected-stderr.txt
diff --git a/test/1962-multi-thread-events/Android.bp b/test/1962-multi-thread-events/Android.bp
index 005ecf2..2fa4d3f 100644
--- a/test/1962-multi-thread-events/Android.bp
+++ b/test/1962-multi-thread-events/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1962-multi-thread-events-expected-stdout"],
+    data: [
+        ":art-run-test-1962-multi-thread-events-expected-stdout",
+        ":art-run-test-1962-multi-thread-events-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1962-multi-thread-events-expected-stdout",
     out: ["art-run-test-1962-multi-thread-events-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1962-multi-thread-events-expected-stderr",
+    out: ["art-run-test-1962-multi-thread-events-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1962-multi-thread-events/expected-stderr.txt b/test/1962-multi-thread-events/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1962-multi-thread-events/expected-stderr.txt
diff --git a/test/1963-add-to-dex-classloader-in-memory/Android.bp b/test/1963-add-to-dex-classloader-in-memory/Android.bp
index a9eb0d0..9de3dd0 100644
--- a/test/1963-add-to-dex-classloader-in-memory/Android.bp
+++ b/test/1963-add-to-dex-classloader-in-memory/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1963-add-to-dex-classloader-in-memory-expected-stdout"],
+    data: [
+        ":art-run-test-1963-add-to-dex-classloader-in-memory-expected-stdout",
+        ":art-run-test-1963-add-to-dex-classloader-in-memory-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1963-add-to-dex-classloader-in-memory-expected-stdout",
     out: ["art-run-test-1963-add-to-dex-classloader-in-memory-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1963-add-to-dex-classloader-in-memory-expected-stderr",
+    out: ["art-run-test-1963-add-to-dex-classloader-in-memory-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1963-add-to-dex-classloader-in-memory/check b/test/1963-add-to-dex-classloader-in-memory/check
index ae1ebf3..d536891 100755
--- a/test/1963-add-to-dex-classloader-in-memory/check
+++ b/test/1963-add-to-dex-classloader-in-memory/check
@@ -14,6 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # Some of our test devices are so old that they don't have memfd_create and are setup in such a way
 # that tmpfile() doesn't work. In these cases this test cannot complete successfully.
 
diff --git a/test/1963-add-to-dex-classloader-in-memory/expected-stderr.txt b/test/1963-add-to-dex-classloader-in-memory/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1963-add-to-dex-classloader-in-memory/expected-stderr.txt
diff --git a/test/1964-add-to-dex-classloader-file/expected-stderr.txt b/test/1964-add-to-dex-classloader-file/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1964-add-to-dex-classloader-file/expected-stderr.txt
diff --git a/test/1965-get-set-local-primitive-no-tables/expected-stderr.txt b/test/1965-get-set-local-primitive-no-tables/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1965-get-set-local-primitive-no-tables/expected-stderr.txt
diff --git a/test/1966-get-set-local-objects-no-table/expected-stderr.txt b/test/1966-get-set-local-objects-no-table/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1966-get-set-local-objects-no-table/expected-stderr.txt
diff --git a/test/1967-get-set-local-bad-slot/Android.bp b/test/1967-get-set-local-bad-slot/Android.bp
index 8eec585..3e1b873 100644
--- a/test/1967-get-set-local-bad-slot/Android.bp
+++ b/test/1967-get-set-local-bad-slot/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1967-get-set-local-bad-slot-expected-stdout"],
+    data: [
+        ":art-run-test-1967-get-set-local-bad-slot-expected-stdout",
+        ":art-run-test-1967-get-set-local-bad-slot-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1967-get-set-local-bad-slot-expected-stdout",
     out: ["art-run-test-1967-get-set-local-bad-slot-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1967-get-set-local-bad-slot-expected-stderr",
+    out: ["art-run-test-1967-get-set-local-bad-slot-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1967-get-set-local-bad-slot/expected-stderr.txt b/test/1967-get-set-local-bad-slot/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1967-get-set-local-bad-slot/expected-stderr.txt
diff --git a/test/1968-force-early-return/Android.bp b/test/1968-force-early-return/Android.bp
index c7c74fc..e71d962 100644
--- a/test/1968-force-early-return/Android.bp
+++ b/test/1968-force-early-return/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1968-force-early-return-expected-stdout"],
+    data: [
+        ":art-run-test-1968-force-early-return-expected-stdout",
+        ":art-run-test-1968-force-early-return-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1968-force-early-return-expected-stdout",
     out: ["art-run-test-1968-force-early-return-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1968-force-early-return-expected-stderr",
+    out: ["art-run-test-1968-force-early-return-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1968-force-early-return/expected-stderr.txt b/test/1968-force-early-return/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1968-force-early-return/expected-stderr.txt
diff --git a/test/1969-force-early-return-void/Android.bp b/test/1969-force-early-return-void/Android.bp
index f08a3dd..6898c55 100644
--- a/test/1969-force-early-return-void/Android.bp
+++ b/test/1969-force-early-return-void/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1969-force-early-return-void-expected-stdout"],
+    data: [
+        ":art-run-test-1969-force-early-return-void-expected-stdout",
+        ":art-run-test-1969-force-early-return-void-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1969-force-early-return-void-expected-stdout",
     out: ["art-run-test-1969-force-early-return-void-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1969-force-early-return-void-expected-stderr",
+    out: ["art-run-test-1969-force-early-return-void-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1969-force-early-return-void/check b/test/1969-force-early-return-void/check
index 43a9218..24bbf07 100755
--- a/test/1969-force-early-return-void/check
+++ b/test/1969-force-early-return-void/check
@@ -14,6 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # The RI has restrictions and bugs around some PopFrame behavior that ART lacks.
 # See b/116003018. Some configurations cannot handle the class load events in
 # quite the right way so they are disabled there too.
diff --git a/test/1969-force-early-return-void/expected-stderr.txt b/test/1969-force-early-return-void/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1969-force-early-return-void/expected-stderr.txt
diff --git a/test/1970-force-early-return-long/Android.bp b/test/1970-force-early-return-long/Android.bp
index 5d51ae0..46845bc 100644
--- a/test/1970-force-early-return-long/Android.bp
+++ b/test/1970-force-early-return-long/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1970-force-early-return-long-expected-stdout"],
+    data: [
+        ":art-run-test-1970-force-early-return-long-expected-stdout",
+        ":art-run-test-1970-force-early-return-long-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1970-force-early-return-long-expected-stdout",
     out: ["art-run-test-1970-force-early-return-long-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1970-force-early-return-long-expected-stderr",
+    out: ["art-run-test-1970-force-early-return-long-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1970-force-early-return-long/expected-stderr.txt b/test/1970-force-early-return-long/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1970-force-early-return-long/expected-stderr.txt
diff --git a/test/1971-multi-force-early-return/Android.bp b/test/1971-multi-force-early-return/Android.bp
index 83b7523..f7aa3d2 100644
--- a/test/1971-multi-force-early-return/Android.bp
+++ b/test/1971-multi-force-early-return/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1971-multi-force-early-return-expected-stdout"],
+    data: [
+        ":art-run-test-1971-multi-force-early-return-expected-stdout",
+        ":art-run-test-1971-multi-force-early-return-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1971-multi-force-early-return-expected-stdout",
     out: ["art-run-test-1971-multi-force-early-return-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1971-multi-force-early-return-expected-stderr",
+    out: ["art-run-test-1971-multi-force-early-return-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1971-multi-force-early-return/expected-stderr.txt b/test/1971-multi-force-early-return/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1971-multi-force-early-return/expected-stderr.txt
diff --git a/test/1972-jni-id-swap-indices/Android.bp b/test/1972-jni-id-swap-indices/Android.bp
index db4921c..41a0716 100644
--- a/test/1972-jni-id-swap-indices/Android.bp
+++ b/test/1972-jni-id-swap-indices/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1972-jni-id-swap-indices-expected-stdout"],
+    data: [
+        ":art-run-test-1972-jni-id-swap-indices-expected-stdout",
+        ":art-run-test-1972-jni-id-swap-indices-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1972-jni-id-swap-indices-expected-stdout",
     out: ["art-run-test-1972-jni-id-swap-indices-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1972-jni-id-swap-indices-expected-stderr",
+    out: ["art-run-test-1972-jni-id-swap-indices-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1972-jni-id-swap-indices/expected-stderr.txt b/test/1972-jni-id-swap-indices/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1972-jni-id-swap-indices/expected-stderr.txt
diff --git a/test/1973-jni-id-swap-pointer/Android.bp b/test/1973-jni-id-swap-pointer/Android.bp
index 192fcb6..a30b661 100644
--- a/test/1973-jni-id-swap-pointer/Android.bp
+++ b/test/1973-jni-id-swap-pointer/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1973-jni-id-swap-pointer-expected-stdout"],
+    data: [
+        ":art-run-test-1973-jni-id-swap-pointer-expected-stdout",
+        ":art-run-test-1973-jni-id-swap-pointer-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1973-jni-id-swap-pointer-expected-stdout",
     out: ["art-run-test-1973-jni-id-swap-pointer-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1973-jni-id-swap-pointer-expected-stderr",
+    out: ["art-run-test-1973-jni-id-swap-pointer-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1973-jni-id-swap-pointer/expected-stderr.txt b/test/1973-jni-id-swap-pointer/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1973-jni-id-swap-pointer/expected-stderr.txt
diff --git a/test/1974-resize-array/Android.bp b/test/1974-resize-array/Android.bp
index 86cc1d4..6076dc2 100644
--- a/test/1974-resize-array/Android.bp
+++ b/test/1974-resize-array/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1974-resize-array-expected-stdout"],
+    data: [
+        ":art-run-test-1974-resize-array-expected-stdout",
+        ":art-run-test-1974-resize-array-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1974-resize-array-expected-stdout",
     out: ["art-run-test-1974-resize-array-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1974-resize-array-expected-stderr",
+    out: ["art-run-test-1974-resize-array-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1974-resize-array/expected-stderr.txt b/test/1974-resize-array/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1974-resize-array/expected-stderr.txt
diff --git a/test/1975-hello-structural-transformation/Android.bp b/test/1975-hello-structural-transformation/Android.bp
index 26718e0..e9f6fa4 100644
--- a/test/1975-hello-structural-transformation/Android.bp
+++ b/test/1975-hello-structural-transformation/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1975-hello-structural-transformation-expected-stdout"],
+    data: [
+        ":art-run-test-1975-hello-structural-transformation-expected-stdout",
+        ":art-run-test-1975-hello-structural-transformation-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1975-hello-structural-transformation-expected-stdout",
     out: ["art-run-test-1975-hello-structural-transformation-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1975-hello-structural-transformation-expected-stderr",
+    out: ["art-run-test-1975-hello-structural-transformation-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1975-hello-structural-transformation/expected-stderr.txt b/test/1975-hello-structural-transformation/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1975-hello-structural-transformation/expected-stderr.txt
diff --git a/test/1976-hello-structural-static-methods/Android.bp b/test/1976-hello-structural-static-methods/Android.bp
index a3e251b..d96cd17 100644
--- a/test/1976-hello-structural-static-methods/Android.bp
+++ b/test/1976-hello-structural-static-methods/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1976-hello-structural-static-methods-expected-stdout"],
+    data: [
+        ":art-run-test-1976-hello-structural-static-methods-expected-stdout",
+        ":art-run-test-1976-hello-structural-static-methods-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1976-hello-structural-static-methods-expected-stdout",
     out: ["art-run-test-1976-hello-structural-static-methods-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1976-hello-structural-static-methods-expected-stderr",
+    out: ["art-run-test-1976-hello-structural-static-methods-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1976-hello-structural-static-methods/expected-stderr.txt b/test/1976-hello-structural-static-methods/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1976-hello-structural-static-methods/expected-stderr.txt
diff --git a/test/1977-hello-structural-obsolescence/Android.bp b/test/1977-hello-structural-obsolescence/Android.bp
index 5ec242d..4d9eefa 100644
--- a/test/1977-hello-structural-obsolescence/Android.bp
+++ b/test/1977-hello-structural-obsolescence/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1977-hello-structural-obsolescence-expected-stdout"],
+    data: [
+        ":art-run-test-1977-hello-structural-obsolescence-expected-stdout",
+        ":art-run-test-1977-hello-structural-obsolescence-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1977-hello-structural-obsolescence-expected-stdout",
     out: ["art-run-test-1977-hello-structural-obsolescence-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1977-hello-structural-obsolescence-expected-stderr",
+    out: ["art-run-test-1977-hello-structural-obsolescence-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1977-hello-structural-obsolescence/expected-stderr.txt b/test/1977-hello-structural-obsolescence/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1977-hello-structural-obsolescence/expected-stderr.txt
diff --git a/test/1978-regular-obsolete-then-structural-obsolescence/Android.bp b/test/1978-regular-obsolete-then-structural-obsolescence/Android.bp
index bcb3ee8..fd3c988 100644
--- a/test/1978-regular-obsolete-then-structural-obsolescence/Android.bp
+++ b/test/1978-regular-obsolete-then-structural-obsolescence/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1978-regular-obsolete-then-structural-obsolescence-expected-stdout"],
+    data: [
+        ":art-run-test-1978-regular-obsolete-then-structural-obsolescence-expected-stdout",
+        ":art-run-test-1978-regular-obsolete-then-structural-obsolescence-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1978-regular-obsolete-then-structural-obsolescence-expected-stdout",
     out: ["art-run-test-1978-regular-obsolete-then-structural-obsolescence-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1978-regular-obsolete-then-structural-obsolescence-expected-stderr",
+    out: ["art-run-test-1978-regular-obsolete-then-structural-obsolescence-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1978-regular-obsolete-then-structural-obsolescence/expected-stderr.txt b/test/1978-regular-obsolete-then-structural-obsolescence/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1978-regular-obsolete-then-structural-obsolescence/expected-stderr.txt
diff --git a/test/1979-threaded-structural-transformation/Android.bp b/test/1979-threaded-structural-transformation/Android.bp
index f08e65a..2e9bbe6 100644
--- a/test/1979-threaded-structural-transformation/Android.bp
+++ b/test/1979-threaded-structural-transformation/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1979-threaded-structural-transformation-expected-stdout"],
+    data: [
+        ":art-run-test-1979-threaded-structural-transformation-expected-stdout",
+        ":art-run-test-1979-threaded-structural-transformation-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1979-threaded-structural-transformation-expected-stdout",
     out: ["art-run-test-1979-threaded-structural-transformation-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1979-threaded-structural-transformation-expected-stderr",
+    out: ["art-run-test-1979-threaded-structural-transformation-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1979-threaded-structural-transformation/expected-stderr.txt b/test/1979-threaded-structural-transformation/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1979-threaded-structural-transformation/expected-stderr.txt
diff --git a/test/1980-obsolete-object-cleared/Android.bp b/test/1980-obsolete-object-cleared/Android.bp
index 20268ee..94413c2 100644
--- a/test/1980-obsolete-object-cleared/Android.bp
+++ b/test/1980-obsolete-object-cleared/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1980-obsolete-object-cleared-expected-stdout"],
+    data: [
+        ":art-run-test-1980-obsolete-object-cleared-expected-stdout",
+        ":art-run-test-1980-obsolete-object-cleared-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1980-obsolete-object-cleared-expected-stdout",
     out: ["art-run-test-1980-obsolete-object-cleared-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1980-obsolete-object-cleared-expected-stderr",
+    out: ["art-run-test-1980-obsolete-object-cleared-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1980-obsolete-object-cleared/expected-stderr.txt b/test/1980-obsolete-object-cleared/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1980-obsolete-object-cleared/expected-stderr.txt
diff --git a/test/1981-structural-redef-private-method-handles/expected-stderr.txt b/test/1981-structural-redef-private-method-handles/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1981-structural-redef-private-method-handles/expected-stderr.txt
diff --git a/test/1982-no-virtuals-structural-redefinition/Android.bp b/test/1982-no-virtuals-structural-redefinition/Android.bp
index 5a752d8..1357c1d 100644
--- a/test/1982-no-virtuals-structural-redefinition/Android.bp
+++ b/test/1982-no-virtuals-structural-redefinition/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1982-no-virtuals-structural-redefinition-expected-stdout"],
+    data: [
+        ":art-run-test-1982-no-virtuals-structural-redefinition-expected-stdout",
+        ":art-run-test-1982-no-virtuals-structural-redefinition-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1982-no-virtuals-structural-redefinition-expected-stdout",
     out: ["art-run-test-1982-no-virtuals-structural-redefinition-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1982-no-virtuals-structural-redefinition-expected-stderr",
+    out: ["art-run-test-1982-no-virtuals-structural-redefinition-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1982-no-virtuals-structural-redefinition/expected-stderr.txt b/test/1982-no-virtuals-structural-redefinition/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1982-no-virtuals-structural-redefinition/expected-stderr.txt
diff --git a/test/1983-structural-redefinition-failures/expected-stderr.txt b/test/1983-structural-redefinition-failures/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1983-structural-redefinition-failures/expected-stderr.txt
diff --git a/test/1984-structural-redefine-field-trace/Android.bp b/test/1984-structural-redefine-field-trace/Android.bp
index ec34766..2249ec9 100644
--- a/test/1984-structural-redefine-field-trace/Android.bp
+++ b/test/1984-structural-redefine-field-trace/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1984-structural-redefine-field-trace-expected-stdout"],
+    data: [
+        ":art-run-test-1984-structural-redefine-field-trace-expected-stdout",
+        ":art-run-test-1984-structural-redefine-field-trace-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1984-structural-redefine-field-trace-expected-stdout",
     out: ["art-run-test-1984-structural-redefine-field-trace-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1984-structural-redefine-field-trace-expected-stderr",
+    out: ["art-run-test-1984-structural-redefine-field-trace-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1984-structural-redefine-field-trace/expected-stderr.txt b/test/1984-structural-redefine-field-trace/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1984-structural-redefine-field-trace/expected-stderr.txt
diff --git a/test/1985-structural-redefine-stack-scope/Android.bp b/test/1985-structural-redefine-stack-scope/Android.bp
index 99967f6..1ea712b 100644
--- a/test/1985-structural-redefine-stack-scope/Android.bp
+++ b/test/1985-structural-redefine-stack-scope/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1985-structural-redefine-stack-scope-expected-stdout"],
+    data: [
+        ":art-run-test-1985-structural-redefine-stack-scope-expected-stdout",
+        ":art-run-test-1985-structural-redefine-stack-scope-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1985-structural-redefine-stack-scope-expected-stdout",
     out: ["art-run-test-1985-structural-redefine-stack-scope-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1985-structural-redefine-stack-scope-expected-stderr",
+    out: ["art-run-test-1985-structural-redefine-stack-scope-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1985-structural-redefine-stack-scope/expected-stderr.txt b/test/1985-structural-redefine-stack-scope/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1985-structural-redefine-stack-scope/expected-stderr.txt
diff --git a/test/1986-structural-redefine-multi-thread-stack-scope/Android.bp b/test/1986-structural-redefine-multi-thread-stack-scope/Android.bp
index a00bc1b..15dd78d 100644
--- a/test/1986-structural-redefine-multi-thread-stack-scope/Android.bp
+++ b/test/1986-structural-redefine-multi-thread-stack-scope/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1986-structural-redefine-multi-thread-stack-scope-expected-stdout"],
+    data: [
+        ":art-run-test-1986-structural-redefine-multi-thread-stack-scope-expected-stdout",
+        ":art-run-test-1986-structural-redefine-multi-thread-stack-scope-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1986-structural-redefine-multi-thread-stack-scope-expected-stdout",
     out: ["art-run-test-1986-structural-redefine-multi-thread-stack-scope-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1986-structural-redefine-multi-thread-stack-scope-expected-stderr",
+    out: ["art-run-test-1986-structural-redefine-multi-thread-stack-scope-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1986-structural-redefine-multi-thread-stack-scope/expected-stderr.txt b/test/1986-structural-redefine-multi-thread-stack-scope/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1986-structural-redefine-multi-thread-stack-scope/expected-stderr.txt
diff --git a/test/1987-structural-redefine-recursive-stack-scope/Android.bp b/test/1987-structural-redefine-recursive-stack-scope/Android.bp
index 52bab7d..e667847 100644
--- a/test/1987-structural-redefine-recursive-stack-scope/Android.bp
+++ b/test/1987-structural-redefine-recursive-stack-scope/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1987-structural-redefine-recursive-stack-scope-expected-stdout"],
+    data: [
+        ":art-run-test-1987-structural-redefine-recursive-stack-scope-expected-stdout",
+        ":art-run-test-1987-structural-redefine-recursive-stack-scope-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1987-structural-redefine-recursive-stack-scope-expected-stdout",
     out: ["art-run-test-1987-structural-redefine-recursive-stack-scope-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1987-structural-redefine-recursive-stack-scope-expected-stderr",
+    out: ["art-run-test-1987-structural-redefine-recursive-stack-scope-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1987-structural-redefine-recursive-stack-scope/expected-stderr.txt b/test/1987-structural-redefine-recursive-stack-scope/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1987-structural-redefine-recursive-stack-scope/expected-stderr.txt
diff --git a/test/1988-multi-structural-redefine/Android.bp b/test/1988-multi-structural-redefine/Android.bp
index f6e0701..3aac5c5 100644
--- a/test/1988-multi-structural-redefine/Android.bp
+++ b/test/1988-multi-structural-redefine/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1988-multi-structural-redefine-expected-stdout"],
+    data: [
+        ":art-run-test-1988-multi-structural-redefine-expected-stdout",
+        ":art-run-test-1988-multi-structural-redefine-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1988-multi-structural-redefine-expected-stdout",
     out: ["art-run-test-1988-multi-structural-redefine-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1988-multi-structural-redefine-expected-stderr",
+    out: ["art-run-test-1988-multi-structural-redefine-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1988-multi-structural-redefine/expected-stderr.txt b/test/1988-multi-structural-redefine/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1988-multi-structural-redefine/expected-stderr.txt
diff --git a/test/1989-transform-bad-monitor/Android.bp b/test/1989-transform-bad-monitor/Android.bp
index 9d37e5a..661f453 100644
--- a/test/1989-transform-bad-monitor/Android.bp
+++ b/test/1989-transform-bad-monitor/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1989-transform-bad-monitor-expected-stdout"],
+    data: [
+        ":art-run-test-1989-transform-bad-monitor-expected-stdout",
+        ":art-run-test-1989-transform-bad-monitor-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1989-transform-bad-monitor-expected-stdout",
     out: ["art-run-test-1989-transform-bad-monitor-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1989-transform-bad-monitor-expected-stderr",
+    out: ["art-run-test-1989-transform-bad-monitor-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1989-transform-bad-monitor/expected-stderr.txt b/test/1989-transform-bad-monitor/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1989-transform-bad-monitor/expected-stderr.txt
diff --git a/test/1990-structural-bad-verify/Android.bp b/test/1990-structural-bad-verify/Android.bp
index e9447ad..f698961 100644
--- a/test/1990-structural-bad-verify/Android.bp
+++ b/test/1990-structural-bad-verify/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1990-structural-bad-verify-expected-stdout"],
+    data: [
+        ":art-run-test-1990-structural-bad-verify-expected-stdout",
+        ":art-run-test-1990-structural-bad-verify-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1990-structural-bad-verify-expected-stdout",
     out: ["art-run-test-1990-structural-bad-verify-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1990-structural-bad-verify-expected-stderr",
+    out: ["art-run-test-1990-structural-bad-verify-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1990-structural-bad-verify/expected-stderr.txt b/test/1990-structural-bad-verify/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1990-structural-bad-verify/expected-stderr.txt
diff --git a/test/1991-hello-structural-retransform/Android.bp b/test/1991-hello-structural-retransform/Android.bp
index 3b48d4a..d4f5dfa 100644
--- a/test/1991-hello-structural-retransform/Android.bp
+++ b/test/1991-hello-structural-retransform/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1991-hello-structural-retransform-expected-stdout"],
+    data: [
+        ":art-run-test-1991-hello-structural-retransform-expected-stdout",
+        ":art-run-test-1991-hello-structural-retransform-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1991-hello-structural-retransform-expected-stdout",
     out: ["art-run-test-1991-hello-structural-retransform-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1991-hello-structural-retransform-expected-stderr",
+    out: ["art-run-test-1991-hello-structural-retransform-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1991-hello-structural-retransform/expected-stderr.txt b/test/1991-hello-structural-retransform/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1991-hello-structural-retransform/expected-stderr.txt
diff --git a/test/1992-retransform-no-such-field/Android.bp b/test/1992-retransform-no-such-field/Android.bp
index 4921500..6fd2434 100644
--- a/test/1992-retransform-no-such-field/Android.bp
+++ b/test/1992-retransform-no-such-field/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1992-retransform-no-such-field-expected-stdout"],
+    data: [
+        ":art-run-test-1992-retransform-no-such-field-expected-stdout",
+        ":art-run-test-1992-retransform-no-such-field-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1992-retransform-no-such-field-expected-stdout",
     out: ["art-run-test-1992-retransform-no-such-field-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1992-retransform-no-such-field-expected-stderr",
+    out: ["art-run-test-1992-retransform-no-such-field-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1992-retransform-no-such-field/expected-stderr.txt b/test/1992-retransform-no-such-field/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1992-retransform-no-such-field/expected-stderr.txt
diff --git a/test/1993-fallback-non-structural/Android.bp b/test/1993-fallback-non-structural/Android.bp
index 8ba0636..ca92883 100644
--- a/test/1993-fallback-non-structural/Android.bp
+++ b/test/1993-fallback-non-structural/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1993-fallback-non-structural-expected-stdout"],
+    data: [
+        ":art-run-test-1993-fallback-non-structural-expected-stdout",
+        ":art-run-test-1993-fallback-non-structural-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1993-fallback-non-structural-expected-stdout",
     out: ["art-run-test-1993-fallback-non-structural-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1993-fallback-non-structural-expected-stderr",
+    out: ["art-run-test-1993-fallback-non-structural-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1993-fallback-non-structural/expected-stderr.txt b/test/1993-fallback-non-structural/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1993-fallback-non-structural/expected-stderr.txt
diff --git a/test/1994-final-virtual-structural/Android.bp b/test/1994-final-virtual-structural/Android.bp
index 90c6e96..92e4622 100644
--- a/test/1994-final-virtual-structural/Android.bp
+++ b/test/1994-final-virtual-structural/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1994-final-virtual-structural-expected-stdout"],
+    data: [
+        ":art-run-test-1994-final-virtual-structural-expected-stdout",
+        ":art-run-test-1994-final-virtual-structural-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1994-final-virtual-structural-expected-stdout",
     out: ["art-run-test-1994-final-virtual-structural-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1994-final-virtual-structural-expected-stderr",
+    out: ["art-run-test-1994-final-virtual-structural-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1994-final-virtual-structural/expected-stderr.txt b/test/1994-final-virtual-structural/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1994-final-virtual-structural/expected-stderr.txt
diff --git a/test/1995-final-virtual-structural-multithread/Android.bp b/test/1995-final-virtual-structural-multithread/Android.bp
index fbed287..aa816b2 100644
--- a/test/1995-final-virtual-structural-multithread/Android.bp
+++ b/test/1995-final-virtual-structural-multithread/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1995-final-virtual-structural-multithread-expected-stdout"],
+    data: [
+        ":art-run-test-1995-final-virtual-structural-multithread-expected-stdout",
+        ":art-run-test-1995-final-virtual-structural-multithread-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1995-final-virtual-structural-multithread-expected-stdout",
     out: ["art-run-test-1995-final-virtual-structural-multithread-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1995-final-virtual-structural-multithread-expected-stderr",
+    out: ["art-run-test-1995-final-virtual-structural-multithread-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1995-final-virtual-structural-multithread/expected-stderr.txt b/test/1995-final-virtual-structural-multithread/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1995-final-virtual-structural-multithread/expected-stderr.txt
diff --git a/test/1996-final-override-virtual-structural/Android.bp b/test/1996-final-override-virtual-structural/Android.bp
index 674646e..817bcc4 100644
--- a/test/1996-final-override-virtual-structural/Android.bp
+++ b/test/1996-final-override-virtual-structural/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1996-final-override-virtual-structural-expected-stdout"],
+    data: [
+        ":art-run-test-1996-final-override-virtual-structural-expected-stdout",
+        ":art-run-test-1996-final-override-virtual-structural-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1996-final-override-virtual-structural-expected-stdout",
     out: ["art-run-test-1996-final-override-virtual-structural-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1996-final-override-virtual-structural-expected-stderr",
+    out: ["art-run-test-1996-final-override-virtual-structural-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1996-final-override-virtual-structural/expected-stderr.txt b/test/1996-final-override-virtual-structural/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1996-final-override-virtual-structural/expected-stderr.txt
diff --git a/test/1997-structural-shadow-method/Android.bp b/test/1997-structural-shadow-method/Android.bp
index 7dd0b2b..a54e312 100644
--- a/test/1997-structural-shadow-method/Android.bp
+++ b/test/1997-structural-shadow-method/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1997-structural-shadow-method-expected-stdout"],
+    data: [
+        ":art-run-test-1997-structural-shadow-method-expected-stdout",
+        ":art-run-test-1997-structural-shadow-method-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1997-structural-shadow-method-expected-stdout",
     out: ["art-run-test-1997-structural-shadow-method-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1997-structural-shadow-method-expected-stderr",
+    out: ["art-run-test-1997-structural-shadow-method-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1997-structural-shadow-method/expected-stderr.txt b/test/1997-structural-shadow-method/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1997-structural-shadow-method/expected-stderr.txt
diff --git a/test/1998-structural-shadow-field/Android.bp b/test/1998-structural-shadow-field/Android.bp
index 927b972..9e5e43e 100644
--- a/test/1998-structural-shadow-field/Android.bp
+++ b/test/1998-structural-shadow-field/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1998-structural-shadow-field-expected-stdout"],
+    data: [
+        ":art-run-test-1998-structural-shadow-field-expected-stdout",
+        ":art-run-test-1998-structural-shadow-field-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1998-structural-shadow-field-expected-stdout",
     out: ["art-run-test-1998-structural-shadow-field-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1998-structural-shadow-field-expected-stderr",
+    out: ["art-run-test-1998-structural-shadow-field-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1998-structural-shadow-field/expected-stderr.txt b/test/1998-structural-shadow-field/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1998-structural-shadow-field/expected-stderr.txt
diff --git a/test/1999-virtual-structural/Android.bp b/test/1999-virtual-structural/Android.bp
index 5dfe4d6..998d1ff 100644
--- a/test/1999-virtual-structural/Android.bp
+++ b/test/1999-virtual-structural/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-1999-virtual-structural-expected-stdout"],
+    data: [
+        ":art-run-test-1999-virtual-structural-expected-stdout",
+        ":art-run-test-1999-virtual-structural-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-1999-virtual-structural-expected-stdout",
     out: ["art-run-test-1999-virtual-structural-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-1999-virtual-structural-expected-stderr",
+    out: ["art-run-test-1999-virtual-structural-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/1999-virtual-structural/expected-stderr.txt b/test/1999-virtual-structural/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/1999-virtual-structural/expected-stderr.txt
diff --git a/test/2000-virtual-list-structural/expected-stderr.txt b/test/2000-virtual-list-structural/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2000-virtual-list-structural/expected-stderr.txt
diff --git a/test/2001-virtual-structural-multithread/expected-stderr.txt b/test/2001-virtual-structural-multithread/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2001-virtual-structural-multithread/expected-stderr.txt
diff --git a/test/2002-virtual-structural-initializing/expected-stderr.txt b/test/2002-virtual-structural-initializing/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2002-virtual-structural-initializing/expected-stderr.txt
diff --git a/test/2003-double-virtual-structural/Android.bp b/test/2003-double-virtual-structural/Android.bp
index f41bd4b..9fb7dc6 100644
--- a/test/2003-double-virtual-structural/Android.bp
+++ b/test/2003-double-virtual-structural/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2003-double-virtual-structural-expected-stdout"],
+    data: [
+        ":art-run-test-2003-double-virtual-structural-expected-stdout",
+        ":art-run-test-2003-double-virtual-structural-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2003-double-virtual-structural-expected-stdout",
     out: ["art-run-test-2003-double-virtual-structural-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2003-double-virtual-structural-expected-stderr",
+    out: ["art-run-test-2003-double-virtual-structural-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2003-double-virtual-structural/expected-stderr.txt b/test/2003-double-virtual-structural/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2003-double-virtual-structural/expected-stderr.txt
diff --git a/test/2004-double-virtual-structural-abstract/Android.bp b/test/2004-double-virtual-structural-abstract/Android.bp
index 90acdd7..9de7f6a 100644
--- a/test/2004-double-virtual-structural-abstract/Android.bp
+++ b/test/2004-double-virtual-structural-abstract/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2004-double-virtual-structural-abstract-expected-stdout"],
+    data: [
+        ":art-run-test-2004-double-virtual-structural-abstract-expected-stdout",
+        ":art-run-test-2004-double-virtual-structural-abstract-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2004-double-virtual-structural-abstract-expected-stdout",
     out: ["art-run-test-2004-double-virtual-structural-abstract-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2004-double-virtual-structural-abstract-expected-stderr",
+    out: ["art-run-test-2004-double-virtual-structural-abstract-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2004-double-virtual-structural-abstract/expected-stderr.txt b/test/2004-double-virtual-structural-abstract/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2004-double-virtual-structural-abstract/expected-stderr.txt
diff --git a/test/2005-pause-all-redefine-multithreaded/Android.bp b/test/2005-pause-all-redefine-multithreaded/Android.bp
index 20298b5..1dec1c8 100644
--- a/test/2005-pause-all-redefine-multithreaded/Android.bp
+++ b/test/2005-pause-all-redefine-multithreaded/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2005-pause-all-redefine-multithreaded-expected-stdout"],
+    data: [
+        ":art-run-test-2005-pause-all-redefine-multithreaded-expected-stdout",
+        ":art-run-test-2005-pause-all-redefine-multithreaded-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2005-pause-all-redefine-multithreaded-expected-stdout",
     out: ["art-run-test-2005-pause-all-redefine-multithreaded-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2005-pause-all-redefine-multithreaded-expected-stderr",
+    out: ["art-run-test-2005-pause-all-redefine-multithreaded-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2005-pause-all-redefine-multithreaded/expected-stderr.txt b/test/2005-pause-all-redefine-multithreaded/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2005-pause-all-redefine-multithreaded/expected-stderr.txt
diff --git a/test/2006-virtual-structural-finalizing/expected-stderr.txt b/test/2006-virtual-structural-finalizing/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2006-virtual-structural-finalizing/expected-stderr.txt
diff --git a/test/2007-virtual-structural-finalizable/expected-stderr.txt b/test/2007-virtual-structural-finalizable/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2007-virtual-structural-finalizable/expected-stderr.txt
diff --git a/test/2008-redefine-then-old-reflect-field/Android.bp b/test/2008-redefine-then-old-reflect-field/Android.bp
index eb51639..6e2982e 100644
--- a/test/2008-redefine-then-old-reflect-field/Android.bp
+++ b/test/2008-redefine-then-old-reflect-field/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2008-redefine-then-old-reflect-field-expected-stdout"],
+    data: [
+        ":art-run-test-2008-redefine-then-old-reflect-field-expected-stdout",
+        ":art-run-test-2008-redefine-then-old-reflect-field-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2008-redefine-then-old-reflect-field-expected-stdout",
     out: ["art-run-test-2008-redefine-then-old-reflect-field-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2008-redefine-then-old-reflect-field-expected-stderr",
+    out: ["art-run-test-2008-redefine-then-old-reflect-field-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2008-redefine-then-old-reflect-field/expected-stderr.txt b/test/2008-redefine-then-old-reflect-field/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2008-redefine-then-old-reflect-field/expected-stderr.txt
diff --git a/test/2009-structural-local-ref/expected-stderr.txt b/test/2009-structural-local-ref/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2009-structural-local-ref/expected-stderr.txt
diff --git a/test/201-built-in-except-detail-messages/Android.bp b/test/201-built-in-except-detail-messages/Android.bp
index 8e09d7e..3a063ae 100644
--- a/test/201-built-in-except-detail-messages/Android.bp
+++ b/test/201-built-in-except-detail-messages/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-201-built-in-except-detail-messages-expected-stdout"],
+    data: [
+        ":art-run-test-201-built-in-except-detail-messages-expected-stdout",
+        ":art-run-test-201-built-in-except-detail-messages-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-201-built-in-except-detail-messages-expected-stdout",
     out: ["art-run-test-201-built-in-except-detail-messages-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-201-built-in-except-detail-messages-expected-stderr",
+    out: ["art-run-test-201-built-in-except-detail-messages-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/201-built-in-except-detail-messages/expected-stderr.txt b/test/201-built-in-except-detail-messages/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/201-built-in-except-detail-messages/expected-stderr.txt
diff --git a/test/2011-stack-walk-concurrent-instrument/Android.bp b/test/2011-stack-walk-concurrent-instrument/Android.bp
index 5c17498..51ce666 100644
--- a/test/2011-stack-walk-concurrent-instrument/Android.bp
+++ b/test/2011-stack-walk-concurrent-instrument/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2011-stack-walk-concurrent-instrument-expected-stdout"],
+    data: [
+        ":art-run-test-2011-stack-walk-concurrent-instrument-expected-stdout",
+        ":art-run-test-2011-stack-walk-concurrent-instrument-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2011-stack-walk-concurrent-instrument-expected-stdout",
     out: ["art-run-test-2011-stack-walk-concurrent-instrument-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2011-stack-walk-concurrent-instrument-expected-stderr",
+    out: ["art-run-test-2011-stack-walk-concurrent-instrument-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2011-stack-walk-concurrent-instrument/expected-stderr.txt b/test/2011-stack-walk-concurrent-instrument/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2011-stack-walk-concurrent-instrument/expected-stderr.txt
diff --git a/test/2012-structural-redefinition-failures-jni-id/expected-stderr.txt b/test/2012-structural-redefinition-failures-jni-id/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2012-structural-redefinition-failures-jni-id/expected-stderr.txt
diff --git a/test/2019-constantcalculationsinking/Android.bp b/test/2019-constantcalculationsinking/Android.bp
index 99ea2e7..8daf4d0 100644
--- a/test/2019-constantcalculationsinking/Android.bp
+++ b/test/2019-constantcalculationsinking/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2019-constantcalculationsinking-expected-stdout"],
+    data: [
+        ":art-run-test-2019-constantcalculationsinking-expected-stdout",
+        ":art-run-test-2019-constantcalculationsinking-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2019-constantcalculationsinking-expected-stdout",
     out: ["art-run-test-2019-constantcalculationsinking-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2019-constantcalculationsinking-expected-stderr",
+    out: ["art-run-test-2019-constantcalculationsinking-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2019-constantcalculationsinking/expected-stderr.txt b/test/2019-constantcalculationsinking/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2019-constantcalculationsinking/expected-stderr.txt
diff --git a/test/202-thread-oome/Android.bp b/test/202-thread-oome/Android.bp
index 83d4cd3..4c9d7f0 100644
--- a/test/202-thread-oome/Android.bp
+++ b/test/202-thread-oome/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-202-thread-oome-expected-stdout"],
+    data: [
+        ":art-run-test-202-thread-oome-expected-stdout",
+        ":art-run-test-202-thread-oome-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-202-thread-oome-expected-stdout",
     out: ["art-run-test-202-thread-oome-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-202-thread-oome-expected-stderr",
+    out: ["art-run-test-202-thread-oome-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/202-thread-oome/expected-stderr.txt b/test/202-thread-oome/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/202-thread-oome/expected-stderr.txt
diff --git a/test/2020-InvokeVirtual-Inlining/Android.bp b/test/2020-InvokeVirtual-Inlining/Android.bp
index 1dd5815..c3de91c 100644
--- a/test/2020-InvokeVirtual-Inlining/Android.bp
+++ b/test/2020-InvokeVirtual-Inlining/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2020-InvokeVirtual-Inlining-expected-stdout"],
+    data: [
+        ":art-run-test-2020-InvokeVirtual-Inlining-expected-stdout",
+        ":art-run-test-2020-InvokeVirtual-Inlining-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2020-InvokeVirtual-Inlining-expected-stdout",
     out: ["art-run-test-2020-InvokeVirtual-Inlining-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2020-InvokeVirtual-Inlining-expected-stderr",
+    out: ["art-run-test-2020-InvokeVirtual-Inlining-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2020-InvokeVirtual-Inlining/expected-stderr.txt b/test/2020-InvokeVirtual-Inlining/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2020-InvokeVirtual-Inlining/expected-stderr.txt
diff --git a/test/2021-InvokeStatic-Inlining/Android.bp b/test/2021-InvokeStatic-Inlining/Android.bp
index f53f42d..2eb38a7 100644
--- a/test/2021-InvokeStatic-Inlining/Android.bp
+++ b/test/2021-InvokeStatic-Inlining/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2021-InvokeStatic-Inlining-expected-stdout"],
+    data: [
+        ":art-run-test-2021-InvokeStatic-Inlining-expected-stdout",
+        ":art-run-test-2021-InvokeStatic-Inlining-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2021-InvokeStatic-Inlining-expected-stdout",
     out: ["art-run-test-2021-InvokeStatic-Inlining-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2021-InvokeStatic-Inlining-expected-stderr",
+    out: ["art-run-test-2021-InvokeStatic-Inlining-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2021-InvokeStatic-Inlining/expected-stderr.txt b/test/2021-InvokeStatic-Inlining/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2021-InvokeStatic-Inlining/expected-stderr.txt
diff --git a/test/2022-Invariantloops/Android.bp b/test/2022-Invariantloops/Android.bp
index c13a337..58e8fb3 100644
--- a/test/2022-Invariantloops/Android.bp
+++ b/test/2022-Invariantloops/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2022-Invariantloops-expected-stdout"],
+    data: [
+        ":art-run-test-2022-Invariantloops-expected-stdout",
+        ":art-run-test-2022-Invariantloops-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2022-Invariantloops-expected-stdout",
     out: ["art-run-test-2022-Invariantloops-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2022-Invariantloops-expected-stderr",
+    out: ["art-run-test-2022-Invariantloops-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2022-Invariantloops/expected-stderr.txt b/test/2022-Invariantloops/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2022-Invariantloops/expected-stderr.txt
diff --git a/test/2023-InvariantLoops_typecast/Android.bp b/test/2023-InvariantLoops_typecast/Android.bp
index cf4cb4f..87b72e7 100644
--- a/test/2023-InvariantLoops_typecast/Android.bp
+++ b/test/2023-InvariantLoops_typecast/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2023-InvariantLoops_typecast-expected-stdout"],
+    data: [
+        ":art-run-test-2023-InvariantLoops_typecast-expected-stdout",
+        ":art-run-test-2023-InvariantLoops_typecast-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2023-InvariantLoops_typecast-expected-stdout",
     out: ["art-run-test-2023-InvariantLoops_typecast-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2023-InvariantLoops_typecast-expected-stderr",
+    out: ["art-run-test-2023-InvariantLoops_typecast-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2023-InvariantLoops_typecast/expected-stderr.txt b/test/2023-InvariantLoops_typecast/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2023-InvariantLoops_typecast/expected-stderr.txt
diff --git a/test/2024-InvariantNegativeLoop/Android.bp b/test/2024-InvariantNegativeLoop/Android.bp
index aa7c942..a2998f2 100644
--- a/test/2024-InvariantNegativeLoop/Android.bp
+++ b/test/2024-InvariantNegativeLoop/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2024-InvariantNegativeLoop-expected-stdout"],
+    data: [
+        ":art-run-test-2024-InvariantNegativeLoop-expected-stdout",
+        ":art-run-test-2024-InvariantNegativeLoop-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2024-InvariantNegativeLoop-expected-stdout",
     out: ["art-run-test-2024-InvariantNegativeLoop-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2024-InvariantNegativeLoop-expected-stderr",
+    out: ["art-run-test-2024-InvariantNegativeLoop-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2024-InvariantNegativeLoop/expected-stderr.txt b/test/2024-InvariantNegativeLoop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2024-InvariantNegativeLoop/expected-stderr.txt
diff --git a/test/2025-ChangedArrayValue/Android.bp b/test/2025-ChangedArrayValue/Android.bp
index 0efec8a..e6d01b2 100644
--- a/test/2025-ChangedArrayValue/Android.bp
+++ b/test/2025-ChangedArrayValue/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2025-ChangedArrayValue-expected-stdout"],
+    data: [
+        ":art-run-test-2025-ChangedArrayValue-expected-stdout",
+        ":art-run-test-2025-ChangedArrayValue-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2025-ChangedArrayValue-expected-stdout",
     out: ["art-run-test-2025-ChangedArrayValue-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2025-ChangedArrayValue-expected-stderr",
+    out: ["art-run-test-2025-ChangedArrayValue-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2025-ChangedArrayValue/expected-stderr.txt b/test/2025-ChangedArrayValue/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2025-ChangedArrayValue/expected-stderr.txt
diff --git a/test/2026-DifferentMemoryLSCouples/Android.bp b/test/2026-DifferentMemoryLSCouples/Android.bp
index e7ba56f..811af85 100644
--- a/test/2026-DifferentMemoryLSCouples/Android.bp
+++ b/test/2026-DifferentMemoryLSCouples/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2026-DifferentMemoryLSCouples-expected-stdout"],
+    data: [
+        ":art-run-test-2026-DifferentMemoryLSCouples-expected-stdout",
+        ":art-run-test-2026-DifferentMemoryLSCouples-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2026-DifferentMemoryLSCouples-expected-stdout",
     out: ["art-run-test-2026-DifferentMemoryLSCouples-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2026-DifferentMemoryLSCouples-expected-stderr",
+    out: ["art-run-test-2026-DifferentMemoryLSCouples-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2026-DifferentMemoryLSCouples/expected-stderr.txt b/test/2026-DifferentMemoryLSCouples/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2026-DifferentMemoryLSCouples/expected-stderr.txt
diff --git a/test/2027-TwiceTheSameMemoryCouple/Android.bp b/test/2027-TwiceTheSameMemoryCouple/Android.bp
index f6e645d..fbda4f5 100644
--- a/test/2027-TwiceTheSameMemoryCouple/Android.bp
+++ b/test/2027-TwiceTheSameMemoryCouple/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2027-TwiceTheSameMemoryCouple-expected-stdout"],
+    data: [
+        ":art-run-test-2027-TwiceTheSameMemoryCouple-expected-stdout",
+        ":art-run-test-2027-TwiceTheSameMemoryCouple-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2027-TwiceTheSameMemoryCouple-expected-stdout",
     out: ["art-run-test-2027-TwiceTheSameMemoryCouple-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2027-TwiceTheSameMemoryCouple-expected-stderr",
+    out: ["art-run-test-2027-TwiceTheSameMemoryCouple-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2027-TwiceTheSameMemoryCouple/expected-stderr.txt b/test/2027-TwiceTheSameMemoryCouple/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2027-TwiceTheSameMemoryCouple/expected-stderr.txt
diff --git a/test/2028-MultiBackward/Android.bp b/test/2028-MultiBackward/Android.bp
index 73666ae..7107381 100644
--- a/test/2028-MultiBackward/Android.bp
+++ b/test/2028-MultiBackward/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2028-MultiBackward-expected-stdout"],
+    data: [
+        ":art-run-test-2028-MultiBackward-expected-stdout",
+        ":art-run-test-2028-MultiBackward-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2028-MultiBackward-expected-stdout",
     out: ["art-run-test-2028-MultiBackward-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2028-MultiBackward-expected-stderr",
+    out: ["art-run-test-2028-MultiBackward-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2028-MultiBackward/expected-stderr.txt b/test/2028-MultiBackward/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2028-MultiBackward/expected-stderr.txt
diff --git a/test/2029-contended-monitors/Android.bp b/test/2029-contended-monitors/Android.bp
index fe5e4ce..ddb337d 100644
--- a/test/2029-contended-monitors/Android.bp
+++ b/test/2029-contended-monitors/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2029-contended-monitors-expected-stdout"],
+    data: [
+        ":art-run-test-2029-contended-monitors-expected-stdout",
+        ":art-run-test-2029-contended-monitors-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2029-contended-monitors-expected-stdout",
     out: ["art-run-test-2029-contended-monitors-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2029-contended-monitors-expected-stderr",
+    out: ["art-run-test-2029-contended-monitors-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2029-contended-monitors/expected-stderr.txt b/test/2029-contended-monitors/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2029-contended-monitors/expected-stderr.txt
diff --git a/test/203-multi-checkpoint/Android.bp b/test/203-multi-checkpoint/Android.bp
index 780a264..4ebf0c3 100644
--- a/test/203-multi-checkpoint/Android.bp
+++ b/test/203-multi-checkpoint/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-203-multi-checkpoint-expected-stdout"],
+    data: [
+        ":art-run-test-203-multi-checkpoint-expected-stdout",
+        ":art-run-test-203-multi-checkpoint-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-203-multi-checkpoint-expected-stdout",
     out: ["art-run-test-203-multi-checkpoint-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-203-multi-checkpoint-expected-stderr",
+    out: ["art-run-test-203-multi-checkpoint-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/203-multi-checkpoint/expected-stderr.txt b/test/203-multi-checkpoint/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/203-multi-checkpoint/expected-stderr.txt
diff --git a/test/2030-long-running-child/Android.bp b/test/2030-long-running-child/Android.bp
index cb61873..39586df 100644
--- a/test/2030-long-running-child/Android.bp
+++ b/test/2030-long-running-child/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2030-long-running-child-expected-stdout"],
+    data: [
+        ":art-run-test-2030-long-running-child-expected-stdout",
+        ":art-run-test-2030-long-running-child-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2030-long-running-child-expected-stdout",
     out: ["art-run-test-2030-long-running-child-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2030-long-running-child-expected-stderr",
+    out: ["art-run-test-2030-long-running-child-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2030-long-running-child/expected-stderr.txt b/test/2030-long-running-child/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2030-long-running-child/expected-stderr.txt
diff --git a/test/2031-zygote-compiled-frame-deopt/Android.bp b/test/2031-zygote-compiled-frame-deopt/Android.bp
index bbd36b4..5b19aff 100644
--- a/test/2031-zygote-compiled-frame-deopt/Android.bp
+++ b/test/2031-zygote-compiled-frame-deopt/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2031-zygote-compiled-frame-deopt-expected-stdout"],
+    data: [
+        ":art-run-test-2031-zygote-compiled-frame-deopt-expected-stdout",
+        ":art-run-test-2031-zygote-compiled-frame-deopt-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2031-zygote-compiled-frame-deopt-expected-stdout",
     out: ["art-run-test-2031-zygote-compiled-frame-deopt-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2031-zygote-compiled-frame-deopt-expected-stderr",
+    out: ["art-run-test-2031-zygote-compiled-frame-deopt-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2031-zygote-compiled-frame-deopt/expected-stderr.txt b/test/2031-zygote-compiled-frame-deopt/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2031-zygote-compiled-frame-deopt/expected-stderr.txt
diff --git a/test/2032-default-method-private-override/expected-stderr.txt b/test/2032-default-method-private-override/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2032-default-method-private-override/expected-stderr.txt
diff --git a/test/2033-shutdown-mechanics/Android.bp b/test/2033-shutdown-mechanics/Android.bp
index 8adfa82..8150ca8 100644
--- a/test/2033-shutdown-mechanics/Android.bp
+++ b/test/2033-shutdown-mechanics/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2033-shutdown-mechanics-expected-stdout"],
+    data: [
+        ":art-run-test-2033-shutdown-mechanics-expected-stdout",
+        ":art-run-test-2033-shutdown-mechanics-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2033-shutdown-mechanics-expected-stdout",
     out: ["art-run-test-2033-shutdown-mechanics-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2033-shutdown-mechanics-expected-stderr",
+    out: ["art-run-test-2033-shutdown-mechanics-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2033-shutdown-mechanics/check b/test/2033-shutdown-mechanics/check
index c24e09a..9523159 100755
--- a/test/2033-shutdown-mechanics/check
+++ b/test/2033-shutdown-mechanics/check
@@ -14,6 +14,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # The daemon thread seems to occasionally get stopped before finishing.
 # Check that the actual output is a line-by-line prefix of expected.
-head -n $(wc -l < $2) $1 | diff --strip-trailing-cr -q - "$2" >/dev/null
+head -n $(wc -l < $2) $1 | diff --strip-trailing-cr -q - "$2" >/dev/null \
+  && diff --strip-trailing-cr -q "$3" "$4" >/dev/null
diff --git a/test/2033-shutdown-mechanics/expected-stderr.txt b/test/2033-shutdown-mechanics/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2033-shutdown-mechanics/expected-stderr.txt
diff --git a/test/2034-spaces-in-SimpleName/expected-stderr.txt b/test/2034-spaces-in-SimpleName/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2034-spaces-in-SimpleName/expected-stderr.txt
diff --git a/test/2035-structural-native-method/expected-stderr.txt b/test/2035-structural-native-method/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2035-structural-native-method/expected-stderr.txt
diff --git a/test/2036-jni-filechannel/Android.bp b/test/2036-jni-filechannel/Android.bp
index f29fc19..d44d359 100644
--- a/test/2036-jni-filechannel/Android.bp
+++ b/test/2036-jni-filechannel/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2036-jni-filechannel-expected-stdout"],
+    data: [
+        ":art-run-test-2036-jni-filechannel-expected-stdout",
+        ":art-run-test-2036-jni-filechannel-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2036-jni-filechannel-expected-stdout",
     out: ["art-run-test-2036-jni-filechannel-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2036-jni-filechannel-expected-stderr",
+    out: ["art-run-test-2036-jni-filechannel-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2036-jni-filechannel/expected-stderr.txt b/test/2036-jni-filechannel/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2036-jni-filechannel/expected-stderr.txt
diff --git a/test/2036-structural-subclass-shadow/expected-stderr.txt b/test/2036-structural-subclass-shadow/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2036-structural-subclass-shadow/expected-stderr.txt
diff --git a/test/2037-thread-name-inherit/Android.bp b/test/2037-thread-name-inherit/Android.bp
index 0812c01..2f9c30a 100644
--- a/test/2037-thread-name-inherit/Android.bp
+++ b/test/2037-thread-name-inherit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2037-thread-name-inherit-expected-stdout"],
+    data: [
+        ":art-run-test-2037-thread-name-inherit-expected-stdout",
+        ":art-run-test-2037-thread-name-inherit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2037-thread-name-inherit-expected-stdout",
     out: ["art-run-test-2037-thread-name-inherit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2037-thread-name-inherit-expected-stderr",
+    out: ["art-run-test-2037-thread-name-inherit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2037-thread-name-inherit/expected-stderr.txt b/test/2037-thread-name-inherit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2037-thread-name-inherit/expected-stderr.txt
diff --git a/test/2230-profile-save-hotness/expected-stderr.txt b/test/2230-profile-save-hotness/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2230-profile-save-hotness/expected-stderr.txt
diff --git a/test/2231-checker-heap-poisoning/Android.bp b/test/2231-checker-heap-poisoning/Android.bp
index f91683c..07bad64 100644
--- a/test/2231-checker-heap-poisoning/Android.bp
+++ b/test/2231-checker-heap-poisoning/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-2231-checker-heap-poisoning-expected-stdout"],
+    data: [
+        ":art-run-test-2231-checker-heap-poisoning-expected-stdout",
+        ":art-run-test-2231-checker-heap-poisoning-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-2231-checker-heap-poisoning-expected-stdout",
     out: ["art-run-test-2231-checker-heap-poisoning-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-2231-checker-heap-poisoning-expected-stderr",
+    out: ["art-run-test-2231-checker-heap-poisoning-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/2231-checker-heap-poisoning/expected-stderr.txt b/test/2231-checker-heap-poisoning/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/2231-checker-heap-poisoning/expected-stderr.txt
diff --git a/test/300-package-override/Android.bp b/test/300-package-override/Android.bp
index 953d2d3..45c5ad7 100644
--- a/test/300-package-override/Android.bp
+++ b/test/300-package-override/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-300-package-override-expected-stdout"],
+    data: [
+        ":art-run-test-300-package-override-expected-stdout",
+        ":art-run-test-300-package-override-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-300-package-override-expected-stdout",
     out: ["art-run-test-300-package-override-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-300-package-override-expected-stderr",
+    out: ["art-run-test-300-package-override-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/300-package-override/expected-stderr.txt b/test/300-package-override/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/300-package-override/expected-stderr.txt
diff --git a/test/301-abstract-protected/Android.bp b/test/301-abstract-protected/Android.bp
index df0cc91..7644d9b 100644
--- a/test/301-abstract-protected/Android.bp
+++ b/test/301-abstract-protected/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-301-abstract-protected-expected-stdout"],
+    data: [
+        ":art-run-test-301-abstract-protected-expected-stdout",
+        ":art-run-test-301-abstract-protected-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-301-abstract-protected-expected-stdout",
     out: ["art-run-test-301-abstract-protected-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-301-abstract-protected-expected-stderr",
+    out: ["art-run-test-301-abstract-protected-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/301-abstract-protected/expected-stderr.txt b/test/301-abstract-protected/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/301-abstract-protected/expected-stderr.txt
diff --git a/test/302-float-conversion/Android.bp b/test/302-float-conversion/Android.bp
index 66a15fe..a577a7e 100644
--- a/test/302-float-conversion/Android.bp
+++ b/test/302-float-conversion/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-302-float-conversion-expected-stdout"],
+    data: [
+        ":art-run-test-302-float-conversion-expected-stdout",
+        ":art-run-test-302-float-conversion-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-302-float-conversion-expected-stdout",
     out: ["art-run-test-302-float-conversion-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-302-float-conversion-expected-stderr",
+    out: ["art-run-test-302-float-conversion-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/302-float-conversion/expected-stderr.txt b/test/302-float-conversion/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/302-float-conversion/expected-stderr.txt
diff --git a/test/303-verification-stress/expected-stderr.txt b/test/303-verification-stress/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/303-verification-stress/expected-stderr.txt
diff --git a/test/304-method-tracing/Android.bp b/test/304-method-tracing/Android.bp
index 4a3de93..d3113b1 100644
--- a/test/304-method-tracing/Android.bp
+++ b/test/304-method-tracing/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-304-method-tracing-expected-stdout"],
+    data: [
+        ":art-run-test-304-method-tracing-expected-stdout",
+        ":art-run-test-304-method-tracing-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-304-method-tracing-expected-stdout",
     out: ["art-run-test-304-method-tracing-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-304-method-tracing-expected-stderr",
+    out: ["art-run-test-304-method-tracing-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/304-method-tracing/expected-stderr.txt b/test/304-method-tracing/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/304-method-tracing/expected-stderr.txt
diff --git a/test/305-other-fault-handler/Android.bp b/test/305-other-fault-handler/Android.bp
index d241ea5..1fb6ffe 100644
--- a/test/305-other-fault-handler/Android.bp
+++ b/test/305-other-fault-handler/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-305-other-fault-handler-expected-stdout"],
+    data: [
+        ":art-run-test-305-other-fault-handler-expected-stdout",
+        ":art-run-test-305-other-fault-handler-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-305-other-fault-handler-expected-stdout",
     out: ["art-run-test-305-other-fault-handler-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-305-other-fault-handler-expected-stderr",
+    out: ["art-run-test-305-other-fault-handler-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/305-other-fault-handler/expected-stderr.txt b/test/305-other-fault-handler/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/305-other-fault-handler/expected-stderr.txt
diff --git a/test/370-dex-v37/expected-stderr.txt b/test/370-dex-v37/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/370-dex-v37/expected-stderr.txt
diff --git a/test/401-optimizing-compiler/Android.bp b/test/401-optimizing-compiler/Android.bp
index 6dffa22..3df7e72 100644
--- a/test/401-optimizing-compiler/Android.bp
+++ b/test/401-optimizing-compiler/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-401-optimizing-compiler-expected-stdout"],
+    data: [
+        ":art-run-test-401-optimizing-compiler-expected-stdout",
+        ":art-run-test-401-optimizing-compiler-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-401-optimizing-compiler-expected-stdout",
     out: ["art-run-test-401-optimizing-compiler-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-401-optimizing-compiler-expected-stderr",
+    out: ["art-run-test-401-optimizing-compiler-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/401-optimizing-compiler/expected-stderr.txt b/test/401-optimizing-compiler/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/401-optimizing-compiler/expected-stderr.txt
diff --git a/test/402-optimizing-control-flow/Android.bp b/test/402-optimizing-control-flow/Android.bp
index 7dd12eb..ed4eea7 100644
--- a/test/402-optimizing-control-flow/Android.bp
+++ b/test/402-optimizing-control-flow/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-402-optimizing-control-flow-expected-stdout"],
+    data: [
+        ":art-run-test-402-optimizing-control-flow-expected-stdout",
+        ":art-run-test-402-optimizing-control-flow-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-402-optimizing-control-flow-expected-stdout",
     out: ["art-run-test-402-optimizing-control-flow-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-402-optimizing-control-flow-expected-stderr",
+    out: ["art-run-test-402-optimizing-control-flow-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/402-optimizing-control-flow/expected-stderr.txt b/test/402-optimizing-control-flow/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/402-optimizing-control-flow/expected-stderr.txt
diff --git a/test/403-optimizing-long/Android.bp b/test/403-optimizing-long/Android.bp
index af58501..7e7ac4a 100644
--- a/test/403-optimizing-long/Android.bp
+++ b/test/403-optimizing-long/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-403-optimizing-long-expected-stdout"],
+    data: [
+        ":art-run-test-403-optimizing-long-expected-stdout",
+        ":art-run-test-403-optimizing-long-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-403-optimizing-long-expected-stdout",
     out: ["art-run-test-403-optimizing-long-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-403-optimizing-long-expected-stderr",
+    out: ["art-run-test-403-optimizing-long-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/403-optimizing-long/expected-stderr.txt b/test/403-optimizing-long/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/403-optimizing-long/expected-stderr.txt
diff --git a/test/404-optimizing-allocator/Android.bp b/test/404-optimizing-allocator/Android.bp
index ec38c4e..cb7c0df 100644
--- a/test/404-optimizing-allocator/Android.bp
+++ b/test/404-optimizing-allocator/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-404-optimizing-allocator-expected-stdout"],
+    data: [
+        ":art-run-test-404-optimizing-allocator-expected-stdout",
+        ":art-run-test-404-optimizing-allocator-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-404-optimizing-allocator-expected-stdout",
     out: ["art-run-test-404-optimizing-allocator-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-404-optimizing-allocator-expected-stderr",
+    out: ["art-run-test-404-optimizing-allocator-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/404-optimizing-allocator/expected-stderr.txt b/test/404-optimizing-allocator/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/404-optimizing-allocator/expected-stderr.txt
diff --git a/test/405-optimizing-long-allocator/Android.bp b/test/405-optimizing-long-allocator/Android.bp
index aea309e..3485624 100644
--- a/test/405-optimizing-long-allocator/Android.bp
+++ b/test/405-optimizing-long-allocator/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-405-optimizing-long-allocator-expected-stdout"],
+    data: [
+        ":art-run-test-405-optimizing-long-allocator-expected-stdout",
+        ":art-run-test-405-optimizing-long-allocator-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-405-optimizing-long-allocator-expected-stdout",
     out: ["art-run-test-405-optimizing-long-allocator-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-405-optimizing-long-allocator-expected-stderr",
+    out: ["art-run-test-405-optimizing-long-allocator-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/405-optimizing-long-allocator/expected-stderr.txt b/test/405-optimizing-long-allocator/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/405-optimizing-long-allocator/expected-stderr.txt
diff --git a/test/406-fields/Android.bp b/test/406-fields/Android.bp
index 68a7812..bf873a0 100644
--- a/test/406-fields/Android.bp
+++ b/test/406-fields/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-406-fields-expected-stdout"],
+    data: [
+        ":art-run-test-406-fields-expected-stdout",
+        ":art-run-test-406-fields-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-406-fields-expected-stdout",
     out: ["art-run-test-406-fields-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-406-fields-expected-stderr",
+    out: ["art-run-test-406-fields-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/406-fields/expected-stderr.txt b/test/406-fields/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/406-fields/expected-stderr.txt
diff --git a/test/407-arrays/Android.bp b/test/407-arrays/Android.bp
index 4698dde..ed863bd 100644
--- a/test/407-arrays/Android.bp
+++ b/test/407-arrays/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-407-arrays-expected-stdout"],
+    data: [
+        ":art-run-test-407-arrays-expected-stdout",
+        ":art-run-test-407-arrays-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-407-arrays-expected-stdout",
     out: ["art-run-test-407-arrays-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-407-arrays-expected-stderr",
+    out: ["art-run-test-407-arrays-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/407-arrays/expected-stderr.txt b/test/407-arrays/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/407-arrays/expected-stderr.txt
diff --git a/test/408-move-bug/Android.bp b/test/408-move-bug/Android.bp
index 1c2a816..5fb9620 100644
--- a/test/408-move-bug/Android.bp
+++ b/test/408-move-bug/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-408-move-bug-expected-stdout"],
+    data: [
+        ":art-run-test-408-move-bug-expected-stdout",
+        ":art-run-test-408-move-bug-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-408-move-bug-expected-stdout",
     out: ["art-run-test-408-move-bug-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-408-move-bug-expected-stderr",
+    out: ["art-run-test-408-move-bug-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/408-move-bug/expected-stderr.txt b/test/408-move-bug/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/408-move-bug/expected-stderr.txt
diff --git a/test/409-materialized-condition/Android.bp b/test/409-materialized-condition/Android.bp
index 0994a07..19ebae3 100644
--- a/test/409-materialized-condition/Android.bp
+++ b/test/409-materialized-condition/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-409-materialized-condition-expected-stdout"],
+    data: [
+        ":art-run-test-409-materialized-condition-expected-stdout",
+        ":art-run-test-409-materialized-condition-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-409-materialized-condition-expected-stdout",
     out: ["art-run-test-409-materialized-condition-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-409-materialized-condition-expected-stderr",
+    out: ["art-run-test-409-materialized-condition-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/409-materialized-condition/expected-stderr.txt b/test/409-materialized-condition/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/409-materialized-condition/expected-stderr.txt
diff --git a/test/410-floats/Android.bp b/test/410-floats/Android.bp
index 09c4317..6c87b9b 100644
--- a/test/410-floats/Android.bp
+++ b/test/410-floats/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-410-floats-expected-stdout"],
+    data: [
+        ":art-run-test-410-floats-expected-stdout",
+        ":art-run-test-410-floats-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-410-floats-expected-stdout",
     out: ["art-run-test-410-floats-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-410-floats-expected-stderr",
+    out: ["art-run-test-410-floats-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/410-floats/expected-stderr.txt b/test/410-floats/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/410-floats/expected-stderr.txt
diff --git a/test/411-checker-hdiv-hrem-const/Android.bp b/test/411-checker-hdiv-hrem-const/Android.bp
index b10f824..7823f7f 100644
--- a/test/411-checker-hdiv-hrem-const/Android.bp
+++ b/test/411-checker-hdiv-hrem-const/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-411-checker-hdiv-hrem-const-expected-stdout"],
+    data: [
+        ":art-run-test-411-checker-hdiv-hrem-const-expected-stdout",
+        ":art-run-test-411-checker-hdiv-hrem-const-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-411-checker-hdiv-hrem-const-expected-stdout",
     out: ["art-run-test-411-checker-hdiv-hrem-const-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-411-checker-hdiv-hrem-const-expected-stderr",
+    out: ["art-run-test-411-checker-hdiv-hrem-const-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/411-checker-hdiv-hrem-const/expected-stderr.txt b/test/411-checker-hdiv-hrem-const/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/411-checker-hdiv-hrem-const/expected-stderr.txt
diff --git a/test/411-checker-hdiv-hrem-pow2/Android.bp b/test/411-checker-hdiv-hrem-pow2/Android.bp
index c67375c..1778b84 100644
--- a/test/411-checker-hdiv-hrem-pow2/Android.bp
+++ b/test/411-checker-hdiv-hrem-pow2/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-411-checker-hdiv-hrem-pow2-expected-stdout"],
+    data: [
+        ":art-run-test-411-checker-hdiv-hrem-pow2-expected-stdout",
+        ":art-run-test-411-checker-hdiv-hrem-pow2-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-411-checker-hdiv-hrem-pow2-expected-stdout",
     out: ["art-run-test-411-checker-hdiv-hrem-pow2-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-411-checker-hdiv-hrem-pow2-expected-stderr",
+    out: ["art-run-test-411-checker-hdiv-hrem-pow2-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/411-checker-hdiv-hrem-pow2/expected-stderr.txt b/test/411-checker-hdiv-hrem-pow2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/411-checker-hdiv-hrem-pow2/expected-stderr.txt
diff --git a/test/411-checker-instruct-simplifier-hrem/Android.bp b/test/411-checker-instruct-simplifier-hrem/Android.bp
index 57be3f9..95eb5cf 100644
--- a/test/411-checker-instruct-simplifier-hrem/Android.bp
+++ b/test/411-checker-instruct-simplifier-hrem/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-411-checker-instruct-simplifier-hrem-expected-stdout"],
+    data: [
+        ":art-run-test-411-checker-instruct-simplifier-hrem-expected-stdout",
+        ":art-run-test-411-checker-instruct-simplifier-hrem-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-411-checker-instruct-simplifier-hrem-expected-stdout",
     out: ["art-run-test-411-checker-instruct-simplifier-hrem-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-411-checker-instruct-simplifier-hrem-expected-stderr",
+    out: ["art-run-test-411-checker-instruct-simplifier-hrem-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/411-checker-instruct-simplifier-hrem/expected-stderr.txt b/test/411-checker-instruct-simplifier-hrem/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/411-checker-instruct-simplifier-hrem/expected-stderr.txt
diff --git a/test/411-optimizing-arith/Android.bp b/test/411-optimizing-arith/Android.bp
index a2402f5..fd374c2 100644
--- a/test/411-optimizing-arith/Android.bp
+++ b/test/411-optimizing-arith/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-411-optimizing-arith-expected-stdout"],
+    data: [
+        ":art-run-test-411-optimizing-arith-expected-stdout",
+        ":art-run-test-411-optimizing-arith-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-411-optimizing-arith-expected-stdout",
     out: ["art-run-test-411-optimizing-arith-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-411-optimizing-arith-expected-stderr",
+    out: ["art-run-test-411-optimizing-arith-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/411-optimizing-arith/expected-stderr.txt b/test/411-optimizing-arith/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/411-optimizing-arith/expected-stderr.txt
diff --git a/test/412-new-array/expected-stderr.txt b/test/412-new-array/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/412-new-array/expected-stderr.txt
diff --git a/test/413-regalloc-regression/Android.bp b/test/413-regalloc-regression/Android.bp
index 159519b..2da9a21 100644
--- a/test/413-regalloc-regression/Android.bp
+++ b/test/413-regalloc-regression/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-413-regalloc-regression-expected-stdout"],
+    data: [
+        ":art-run-test-413-regalloc-regression-expected-stdout",
+        ":art-run-test-413-regalloc-regression-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-413-regalloc-regression-expected-stdout",
     out: ["art-run-test-413-regalloc-regression-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-413-regalloc-regression-expected-stderr",
+    out: ["art-run-test-413-regalloc-regression-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/413-regalloc-regression/expected-stderr.txt b/test/413-regalloc-regression/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/413-regalloc-regression/expected-stderr.txt
diff --git a/test/414-static-fields/Android.bp b/test/414-static-fields/Android.bp
index 1de8ec1..9800575 100644
--- a/test/414-static-fields/Android.bp
+++ b/test/414-static-fields/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-414-static-fields-expected-stdout"],
+    data: [
+        ":art-run-test-414-static-fields-expected-stdout",
+        ":art-run-test-414-static-fields-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-414-static-fields-expected-stdout",
     out: ["art-run-test-414-static-fields-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-414-static-fields-expected-stderr",
+    out: ["art-run-test-414-static-fields-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/414-static-fields/expected-stderr.txt b/test/414-static-fields/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/414-static-fields/expected-stderr.txt
diff --git a/test/416-optimizing-arith-not/expected-stderr.txt b/test/416-optimizing-arith-not/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/416-optimizing-arith-not/expected-stderr.txt
diff --git a/test/418-const-string/Android.bp b/test/418-const-string/Android.bp
index 6078a44..3d13242 100644
--- a/test/418-const-string/Android.bp
+++ b/test/418-const-string/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-418-const-string-expected-stdout"],
+    data: [
+        ":art-run-test-418-const-string-expected-stdout",
+        ":art-run-test-418-const-string-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-418-const-string-expected-stdout",
     out: ["art-run-test-418-const-string-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-418-const-string-expected-stderr",
+    out: ["art-run-test-418-const-string-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/418-const-string/expected-stderr.txt b/test/418-const-string/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/418-const-string/expected-stderr.txt
diff --git a/test/419-long-parameter/Android.bp b/test/419-long-parameter/Android.bp
index 694b09e..c2cc341 100644
--- a/test/419-long-parameter/Android.bp
+++ b/test/419-long-parameter/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-419-long-parameter-expected-stdout"],
+    data: [
+        ":art-run-test-419-long-parameter-expected-stdout",
+        ":art-run-test-419-long-parameter-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-419-long-parameter-expected-stdout",
     out: ["art-run-test-419-long-parameter-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-419-long-parameter-expected-stderr",
+    out: ["art-run-test-419-long-parameter-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/419-long-parameter/expected-stderr.txt b/test/419-long-parameter/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/419-long-parameter/expected-stderr.txt
diff --git a/test/420-const-class/Android.bp b/test/420-const-class/Android.bp
index 25864df..162ebb8 100644
--- a/test/420-const-class/Android.bp
+++ b/test/420-const-class/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-420-const-class-expected-stdout"],
+    data: [
+        ":art-run-test-420-const-class-expected-stdout",
+        ":art-run-test-420-const-class-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-420-const-class-expected-stdout",
     out: ["art-run-test-420-const-class-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-420-const-class-expected-stderr",
+    out: ["art-run-test-420-const-class-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/420-const-class/expected-stderr.txt b/test/420-const-class/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/420-const-class/expected-stderr.txt
diff --git a/test/421-exceptions/Android.bp b/test/421-exceptions/Android.bp
index 6bb4c84..eab821d 100644
--- a/test/421-exceptions/Android.bp
+++ b/test/421-exceptions/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-421-exceptions-expected-stdout"],
+    data: [
+        ":art-run-test-421-exceptions-expected-stdout",
+        ":art-run-test-421-exceptions-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-421-exceptions-expected-stdout",
     out: ["art-run-test-421-exceptions-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-421-exceptions-expected-stderr",
+    out: ["art-run-test-421-exceptions-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/421-exceptions/expected-stderr.txt b/test/421-exceptions/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/421-exceptions/expected-stderr.txt
diff --git a/test/421-large-frame/Android.bp b/test/421-large-frame/Android.bp
index 6cc678e..26a929a 100644
--- a/test/421-large-frame/Android.bp
+++ b/test/421-large-frame/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-421-large-frame-expected-stdout"],
+    data: [
+        ":art-run-test-421-large-frame-expected-stdout",
+        ":art-run-test-421-large-frame-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-421-large-frame-expected-stdout",
     out: ["art-run-test-421-large-frame-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-421-large-frame-expected-stderr",
+    out: ["art-run-test-421-large-frame-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/421-large-frame/expected-stderr.txt b/test/421-large-frame/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/421-large-frame/expected-stderr.txt
diff --git a/test/422-instanceof/Android.bp b/test/422-instanceof/Android.bp
index 9e1da09..456aa46 100644
--- a/test/422-instanceof/Android.bp
+++ b/test/422-instanceof/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-422-instanceof-expected-stdout"],
+    data: [
+        ":art-run-test-422-instanceof-expected-stdout",
+        ":art-run-test-422-instanceof-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-422-instanceof-expected-stdout",
     out: ["art-run-test-422-instanceof-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-422-instanceof-expected-stderr",
+    out: ["art-run-test-422-instanceof-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/422-instanceof/expected-stderr.txt b/test/422-instanceof/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/422-instanceof/expected-stderr.txt
diff --git a/test/422-type-conversion/Android.bp b/test/422-type-conversion/Android.bp
index 256845b..49b54ce 100644
--- a/test/422-type-conversion/Android.bp
+++ b/test/422-type-conversion/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-422-type-conversion-expected-stdout"],
+    data: [
+        ":art-run-test-422-type-conversion-expected-stdout",
+        ":art-run-test-422-type-conversion-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-422-type-conversion-expected-stdout",
     out: ["art-run-test-422-type-conversion-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-422-type-conversion-expected-stderr",
+    out: ["art-run-test-422-type-conversion-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/422-type-conversion/expected-stderr.txt b/test/422-type-conversion/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/422-type-conversion/expected-stderr.txt
diff --git a/test/423-invoke-interface/Android.bp b/test/423-invoke-interface/Android.bp
index 404d530..618bfdf 100644
--- a/test/423-invoke-interface/Android.bp
+++ b/test/423-invoke-interface/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-423-invoke-interface-expected-stdout"],
+    data: [
+        ":art-run-test-423-invoke-interface-expected-stdout",
+        ":art-run-test-423-invoke-interface-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-423-invoke-interface-expected-stdout",
     out: ["art-run-test-423-invoke-interface-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-423-invoke-interface-expected-stderr",
+    out: ["art-run-test-423-invoke-interface-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/423-invoke-interface/expected-stderr.txt b/test/423-invoke-interface/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/423-invoke-interface/expected-stderr.txt
diff --git a/test/424-checkcast/Android.bp b/test/424-checkcast/Android.bp
index b6cfd5f..23b787e 100644
--- a/test/424-checkcast/Android.bp
+++ b/test/424-checkcast/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-424-checkcast-expected-stdout"],
+    data: [
+        ":art-run-test-424-checkcast-expected-stdout",
+        ":art-run-test-424-checkcast-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-424-checkcast-expected-stdout",
     out: ["art-run-test-424-checkcast-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-424-checkcast-expected-stderr",
+    out: ["art-run-test-424-checkcast-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/424-checkcast/expected-stderr.txt b/test/424-checkcast/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/424-checkcast/expected-stderr.txt
diff --git a/test/425-invoke-super/expected-stderr.txt b/test/425-invoke-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/425-invoke-super/expected-stderr.txt
diff --git a/test/426-monitor/Android.bp b/test/426-monitor/Android.bp
index 82eb2fb..4914372 100644
--- a/test/426-monitor/Android.bp
+++ b/test/426-monitor/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-426-monitor-expected-stdout"],
+    data: [
+        ":art-run-test-426-monitor-expected-stdout",
+        ":art-run-test-426-monitor-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-426-monitor-expected-stdout",
     out: ["art-run-test-426-monitor-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-426-monitor-expected-stderr",
+    out: ["art-run-test-426-monitor-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/426-monitor/expected-stderr.txt b/test/426-monitor/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/426-monitor/expected-stderr.txt
diff --git a/test/427-bitwise/Android.bp b/test/427-bitwise/Android.bp
index c619fab..11c117d 100644
--- a/test/427-bitwise/Android.bp
+++ b/test/427-bitwise/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-427-bitwise-expected-stdout"],
+    data: [
+        ":art-run-test-427-bitwise-expected-stdout",
+        ":art-run-test-427-bitwise-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-427-bitwise-expected-stdout",
     out: ["art-run-test-427-bitwise-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-427-bitwise-expected-stderr",
+    out: ["art-run-test-427-bitwise-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/427-bitwise/expected-stderr.txt b/test/427-bitwise/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/427-bitwise/expected-stderr.txt
diff --git a/test/427-bounds/Android.bp b/test/427-bounds/Android.bp
index 62237be..02665a0 100644
--- a/test/427-bounds/Android.bp
+++ b/test/427-bounds/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-427-bounds-expected-stdout"],
+    data: [
+        ":art-run-test-427-bounds-expected-stdout",
+        ":art-run-test-427-bounds-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-427-bounds-expected-stdout",
     out: ["art-run-test-427-bounds-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-427-bounds-expected-stderr",
+    out: ["art-run-test-427-bounds-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/427-bounds/expected-stderr.txt b/test/427-bounds/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/427-bounds/expected-stderr.txt
diff --git a/test/429-ssa-builder/Android.bp b/test/429-ssa-builder/Android.bp
index 2956222..085f2fa 100644
--- a/test/429-ssa-builder/Android.bp
+++ b/test/429-ssa-builder/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-429-ssa-builder-expected-stdout"],
+    data: [
+        ":art-run-test-429-ssa-builder-expected-stdout",
+        ":art-run-test-429-ssa-builder-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-429-ssa-builder-expected-stdout",
     out: ["art-run-test-429-ssa-builder-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-429-ssa-builder-expected-stderr",
+    out: ["art-run-test-429-ssa-builder-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/429-ssa-builder/expected-stderr.txt b/test/429-ssa-builder/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/429-ssa-builder/expected-stderr.txt
diff --git a/test/430-live-register-slow-path/Android.bp b/test/430-live-register-slow-path/Android.bp
index 697309c..3518438 100644
--- a/test/430-live-register-slow-path/Android.bp
+++ b/test/430-live-register-slow-path/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-430-live-register-slow-path-expected-stdout"],
+    data: [
+        ":art-run-test-430-live-register-slow-path-expected-stdout",
+        ":art-run-test-430-live-register-slow-path-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-430-live-register-slow-path-expected-stdout",
     out: ["art-run-test-430-live-register-slow-path-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-430-live-register-slow-path-expected-stderr",
+    out: ["art-run-test-430-live-register-slow-path-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/430-live-register-slow-path/expected-stderr.txt b/test/430-live-register-slow-path/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/430-live-register-slow-path/expected-stderr.txt
diff --git a/test/431-type-propagation/expected-stderr.txt b/test/431-type-propagation/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/431-type-propagation/expected-stderr.txt
diff --git a/test/432-optimizing-cmp/expected-stderr.txt b/test/432-optimizing-cmp/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/432-optimizing-cmp/expected-stderr.txt
diff --git a/test/433-gvn/Android.bp b/test/433-gvn/Android.bp
index 926498c..86cf22c 100644
--- a/test/433-gvn/Android.bp
+++ b/test/433-gvn/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-433-gvn-expected-stdout"],
+    data: [
+        ":art-run-test-433-gvn-expected-stdout",
+        ":art-run-test-433-gvn-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-433-gvn-expected-stdout",
     out: ["art-run-test-433-gvn-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-433-gvn-expected-stderr",
+    out: ["art-run-test-433-gvn-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/433-gvn/expected-stderr.txt b/test/433-gvn/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/433-gvn/expected-stderr.txt
diff --git a/test/434-invoke-direct/expected-stderr.txt b/test/434-invoke-direct/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/434-invoke-direct/expected-stderr.txt
diff --git a/test/434-shifter-operand/Android.bp b/test/434-shifter-operand/Android.bp
index 5473d82..06fc595 100644
--- a/test/434-shifter-operand/Android.bp
+++ b/test/434-shifter-operand/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-434-shifter-operand-expected-stdout"],
+    data: [
+        ":art-run-test-434-shifter-operand-expected-stdout",
+        ":art-run-test-434-shifter-operand-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-434-shifter-operand-expected-stdout",
     out: ["art-run-test-434-shifter-operand-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-434-shifter-operand-expected-stderr",
+    out: ["art-run-test-434-shifter-operand-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/434-shifter-operand/expected-stderr.txt b/test/434-shifter-operand/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/434-shifter-operand/expected-stderr.txt
diff --git a/test/435-new-instance/expected-stderr.txt b/test/435-new-instance/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/435-new-instance/expected-stderr.txt
diff --git a/test/435-try-finally-without-catch/Android.bp b/test/435-try-finally-without-catch/Android.bp
index 6f2ad2f..410d3de 100644
--- a/test/435-try-finally-without-catch/Android.bp
+++ b/test/435-try-finally-without-catch/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-435-try-finally-without-catch-expected-stdout"],
+    data: [
+        ":art-run-test-435-try-finally-without-catch-expected-stdout",
+        ":art-run-test-435-try-finally-without-catch-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-435-try-finally-without-catch-expected-stdout",
     out: ["art-run-test-435-try-finally-without-catch-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-435-try-finally-without-catch-expected-stderr",
+    out: ["art-run-test-435-try-finally-without-catch-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/435-try-finally-without-catch/expected-stderr.txt b/test/435-try-finally-without-catch/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/435-try-finally-without-catch/expected-stderr.txt
diff --git a/test/436-rem-float/Android.bp b/test/436-rem-float/Android.bp
index febe50f..ac61344 100644
--- a/test/436-rem-float/Android.bp
+++ b/test/436-rem-float/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-436-rem-float-expected-stdout"],
+    data: [
+        ":art-run-test-436-rem-float-expected-stdout",
+        ":art-run-test-436-rem-float-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-436-rem-float-expected-stdout",
     out: ["art-run-test-436-rem-float-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-436-rem-float-expected-stderr",
+    out: ["art-run-test-436-rem-float-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/436-rem-float/expected-stderr.txt b/test/436-rem-float/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/436-rem-float/expected-stderr.txt
diff --git a/test/436-shift-constant/Android.bp b/test/436-shift-constant/Android.bp
index ef6f3d1..b534e32 100644
--- a/test/436-shift-constant/Android.bp
+++ b/test/436-shift-constant/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-436-shift-constant-expected-stdout"],
+    data: [
+        ":art-run-test-436-shift-constant-expected-stdout",
+        ":art-run-test-436-shift-constant-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-436-shift-constant-expected-stdout",
     out: ["art-run-test-436-shift-constant-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-436-shift-constant-expected-stderr",
+    out: ["art-run-test-436-shift-constant-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/436-shift-constant/expected-stderr.txt b/test/436-shift-constant/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/436-shift-constant/expected-stderr.txt
diff --git a/test/437-inline/Android.bp b/test/437-inline/Android.bp
index e4f02dc..7dfa691 100644
--- a/test/437-inline/Android.bp
+++ b/test/437-inline/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-437-inline-expected-stdout"],
+    data: [
+        ":art-run-test-437-inline-expected-stdout",
+        ":art-run-test-437-inline-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-437-inline-expected-stdout",
     out: ["art-run-test-437-inline-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-437-inline-expected-stderr",
+    out: ["art-run-test-437-inline-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/437-inline/expected-stderr.txt b/test/437-inline/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/437-inline/expected-stderr.txt
diff --git a/test/438-volatile/Android.bp b/test/438-volatile/Android.bp
index 94f5613..d81df27 100644
--- a/test/438-volatile/Android.bp
+++ b/test/438-volatile/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-438-volatile-expected-stdout"],
+    data: [
+        ":art-run-test-438-volatile-expected-stdout",
+        ":art-run-test-438-volatile-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-438-volatile-expected-stdout",
     out: ["art-run-test-438-volatile-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-438-volatile-expected-stderr",
+    out: ["art-run-test-438-volatile-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/438-volatile/expected-stderr.txt b/test/438-volatile/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/438-volatile/expected-stderr.txt
diff --git a/test/439-npe/Android.bp b/test/439-npe/Android.bp
index 317d247..20f9cbc 100644
--- a/test/439-npe/Android.bp
+++ b/test/439-npe/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-439-npe-expected-stdout"],
+    data: [
+        ":art-run-test-439-npe-expected-stdout",
+        ":art-run-test-439-npe-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-439-npe-expected-stdout",
     out: ["art-run-test-439-npe-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-439-npe-expected-stderr",
+    out: ["art-run-test-439-npe-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/439-npe/expected-stderr.txt b/test/439-npe/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/439-npe/expected-stderr.txt
diff --git a/test/439-swap-double/Android.bp b/test/439-swap-double/Android.bp
index eba39a7..ecb2475 100644
--- a/test/439-swap-double/Android.bp
+++ b/test/439-swap-double/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-439-swap-double-expected-stdout"],
+    data: [
+        ":art-run-test-439-swap-double-expected-stdout",
+        ":art-run-test-439-swap-double-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-439-swap-double-expected-stdout",
     out: ["art-run-test-439-swap-double-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-439-swap-double-expected-stderr",
+    out: ["art-run-test-439-swap-double-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/439-swap-double/expected-stderr.txt b/test/439-swap-double/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/439-swap-double/expected-stderr.txt
diff --git a/test/440-stmp/Android.bp b/test/440-stmp/Android.bp
index 895d211..74dd986 100644
--- a/test/440-stmp/Android.bp
+++ b/test/440-stmp/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-440-stmp-expected-stdout"],
+    data: [
+        ":art-run-test-440-stmp-expected-stdout",
+        ":art-run-test-440-stmp-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-440-stmp-expected-stdout",
     out: ["art-run-test-440-stmp-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-440-stmp-expected-stderr",
+    out: ["art-run-test-440-stmp-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/440-stmp/expected-stderr.txt b/test/440-stmp/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/440-stmp/expected-stderr.txt
diff --git a/test/441-checker-inliner/Android.bp b/test/441-checker-inliner/Android.bp
index 1bf981d..5fb8c81 100644
--- a/test/441-checker-inliner/Android.bp
+++ b/test/441-checker-inliner/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-441-checker-inliner-expected-stdout"],
+    data: [
+        ":art-run-test-441-checker-inliner-expected-stdout",
+        ":art-run-test-441-checker-inliner-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-441-checker-inliner-expected-stdout",
     out: ["art-run-test-441-checker-inliner-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-441-checker-inliner-expected-stderr",
+    out: ["art-run-test-441-checker-inliner-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/441-checker-inliner/expected-stderr.txt b/test/441-checker-inliner/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/441-checker-inliner/expected-stderr.txt
diff --git a/test/442-checker-constant-folding/expected-stderr.txt b/test/442-checker-constant-folding/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/442-checker-constant-folding/expected-stderr.txt
diff --git a/test/443-not-bool-inline/Android.bp b/test/443-not-bool-inline/Android.bp
index b5174d4..f291df0 100644
--- a/test/443-not-bool-inline/Android.bp
+++ b/test/443-not-bool-inline/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-443-not-bool-inline-expected-stdout"],
+    data: [
+        ":art-run-test-443-not-bool-inline-expected-stdout",
+        ":art-run-test-443-not-bool-inline-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-443-not-bool-inline-expected-stdout",
     out: ["art-run-test-443-not-bool-inline-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-443-not-bool-inline-expected-stderr",
+    out: ["art-run-test-443-not-bool-inline-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/443-not-bool-inline/expected-stderr.txt b/test/443-not-bool-inline/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/443-not-bool-inline/expected-stderr.txt
diff --git a/test/444-checker-nce/Android.bp b/test/444-checker-nce/Android.bp
index dac7527..a2dbf93 100644
--- a/test/444-checker-nce/Android.bp
+++ b/test/444-checker-nce/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-444-checker-nce-expected-stdout"],
+    data: [
+        ":art-run-test-444-checker-nce-expected-stdout",
+        ":art-run-test-444-checker-nce-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-444-checker-nce-expected-stdout",
     out: ["art-run-test-444-checker-nce-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-444-checker-nce-expected-stderr",
+    out: ["art-run-test-444-checker-nce-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/444-checker-nce/expected-stderr.txt b/test/444-checker-nce/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/444-checker-nce/expected-stderr.txt
diff --git a/test/445-checker-licm/Android.bp b/test/445-checker-licm/Android.bp
index 7e704a9..d57fd0c 100644
--- a/test/445-checker-licm/Android.bp
+++ b/test/445-checker-licm/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-445-checker-licm-expected-stdout"],
+    data: [
+        ":art-run-test-445-checker-licm-expected-stdout",
+        ":art-run-test-445-checker-licm-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-445-checker-licm-expected-stdout",
     out: ["art-run-test-445-checker-licm-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-445-checker-licm-expected-stderr",
+    out: ["art-run-test-445-checker-licm-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/445-checker-licm/expected-stderr.txt b/test/445-checker-licm/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/445-checker-licm/expected-stderr.txt
diff --git a/test/446-checker-inliner2/Android.bp b/test/446-checker-inliner2/Android.bp
index de61507..78f9921 100644
--- a/test/446-checker-inliner2/Android.bp
+++ b/test/446-checker-inliner2/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-446-checker-inliner2-expected-stdout"],
+    data: [
+        ":art-run-test-446-checker-inliner2-expected-stdout",
+        ":art-run-test-446-checker-inliner2-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-446-checker-inliner2-expected-stdout",
     out: ["art-run-test-446-checker-inliner2-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-446-checker-inliner2-expected-stderr",
+    out: ["art-run-test-446-checker-inliner2-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/446-checker-inliner2/expected-stderr.txt b/test/446-checker-inliner2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/446-checker-inliner2/expected-stderr.txt
diff --git a/test/447-checker-inliner3/Android.bp b/test/447-checker-inliner3/Android.bp
index 664cdae..a8d40fe 100644
--- a/test/447-checker-inliner3/Android.bp
+++ b/test/447-checker-inliner3/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-447-checker-inliner3-expected-stdout"],
+    data: [
+        ":art-run-test-447-checker-inliner3-expected-stdout",
+        ":art-run-test-447-checker-inliner3-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-447-checker-inliner3-expected-stdout",
     out: ["art-run-test-447-checker-inliner3-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-447-checker-inliner3-expected-stderr",
+    out: ["art-run-test-447-checker-inliner3-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/447-checker-inliner3/expected-stderr.txt b/test/447-checker-inliner3/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/447-checker-inliner3/expected-stderr.txt
diff --git a/test/448-multiple-returns/expected-stderr.txt b/test/448-multiple-returns/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/448-multiple-returns/expected-stderr.txt
diff --git a/test/449-checker-bce-rem/Android.bp b/test/449-checker-bce-rem/Android.bp
index 472c7c9..3c4e142 100644
--- a/test/449-checker-bce-rem/Android.bp
+++ b/test/449-checker-bce-rem/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-449-checker-bce-rem-expected-stdout"],
+    data: [
+        ":art-run-test-449-checker-bce-rem-expected-stdout",
+        ":art-run-test-449-checker-bce-rem-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-449-checker-bce-rem-expected-stdout",
     out: ["art-run-test-449-checker-bce-rem-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-449-checker-bce-rem-expected-stderr",
+    out: ["art-run-test-449-checker-bce-rem-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/449-checker-bce-rem/expected-stderr.txt b/test/449-checker-bce-rem/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/449-checker-bce-rem/expected-stderr.txt
diff --git a/test/449-checker-bce/Android.bp b/test/449-checker-bce/Android.bp
index 1cbd303..2fa168f 100644
--- a/test/449-checker-bce/Android.bp
+++ b/test/449-checker-bce/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-449-checker-bce-expected-stdout"],
+    data: [
+        ":art-run-test-449-checker-bce-expected-stdout",
+        ":art-run-test-449-checker-bce-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-449-checker-bce-expected-stdout",
     out: ["art-run-test-449-checker-bce-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-449-checker-bce-expected-stderr",
+    out: ["art-run-test-449-checker-bce-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/449-checker-bce/expected-stderr.txt b/test/449-checker-bce/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/449-checker-bce/expected-stderr.txt
diff --git a/test/450-checker-types/Android.bp b/test/450-checker-types/Android.bp
index 2ac311b..247f65f 100644
--- a/test/450-checker-types/Android.bp
+++ b/test/450-checker-types/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-450-checker-types-expected-stdout"],
+    data: [
+        ":art-run-test-450-checker-types-expected-stdout",
+        ":art-run-test-450-checker-types-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-450-checker-types-expected-stdout",
     out: ["art-run-test-450-checker-types-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-450-checker-types-expected-stderr",
+    out: ["art-run-test-450-checker-types-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/450-checker-types/expected-stderr.txt b/test/450-checker-types/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/450-checker-types/expected-stderr.txt
diff --git a/test/451-regression-add-float/Android.bp b/test/451-regression-add-float/Android.bp
index 9b0fa84..45c3041 100644
--- a/test/451-regression-add-float/Android.bp
+++ b/test/451-regression-add-float/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-451-regression-add-float-expected-stdout"],
+    data: [
+        ":art-run-test-451-regression-add-float-expected-stdout",
+        ":art-run-test-451-regression-add-float-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-451-regression-add-float-expected-stdout",
     out: ["art-run-test-451-regression-add-float-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-451-regression-add-float-expected-stderr",
+    out: ["art-run-test-451-regression-add-float-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/451-regression-add-float/expected-stderr.txt b/test/451-regression-add-float/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/451-regression-add-float/expected-stderr.txt
diff --git a/test/451-spill-splot/Android.bp b/test/451-spill-splot/Android.bp
index 2207e61..03539f0 100644
--- a/test/451-spill-splot/Android.bp
+++ b/test/451-spill-splot/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-451-spill-splot-expected-stdout"],
+    data: [
+        ":art-run-test-451-spill-splot-expected-stdout",
+        ":art-run-test-451-spill-splot-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-451-spill-splot-expected-stdout",
     out: ["art-run-test-451-spill-splot-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-451-spill-splot-expected-stderr",
+    out: ["art-run-test-451-spill-splot-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/451-spill-splot/expected-stderr.txt b/test/451-spill-splot/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/451-spill-splot/expected-stderr.txt
diff --git a/test/452-multiple-returns2/expected-stderr.txt b/test/452-multiple-returns2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/452-multiple-returns2/expected-stderr.txt
diff --git a/test/453-not-byte/expected-stderr.txt b/test/453-not-byte/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/453-not-byte/expected-stderr.txt
diff --git a/test/454-get-vreg/Android.bp b/test/454-get-vreg/Android.bp
index 2202c14..28e7fc6 100644
--- a/test/454-get-vreg/Android.bp
+++ b/test/454-get-vreg/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-454-get-vreg-expected-stdout"],
+    data: [
+        ":art-run-test-454-get-vreg-expected-stdout",
+        ":art-run-test-454-get-vreg-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-454-get-vreg-expected-stdout",
     out: ["art-run-test-454-get-vreg-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-454-get-vreg-expected-stderr",
+    out: ["art-run-test-454-get-vreg-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/454-get-vreg/expected-stderr.txt b/test/454-get-vreg/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/454-get-vreg/expected-stderr.txt
diff --git a/test/455-checker-gvn/Android.bp b/test/455-checker-gvn/Android.bp
index aa49882..0c0f2b6 100644
--- a/test/455-checker-gvn/Android.bp
+++ b/test/455-checker-gvn/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-455-checker-gvn-expected-stdout"],
+    data: [
+        ":art-run-test-455-checker-gvn-expected-stdout",
+        ":art-run-test-455-checker-gvn-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-455-checker-gvn-expected-stdout",
     out: ["art-run-test-455-checker-gvn-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-455-checker-gvn-expected-stderr",
+    out: ["art-run-test-455-checker-gvn-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/455-checker-gvn/expected-stderr.txt b/test/455-checker-gvn/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/455-checker-gvn/expected-stderr.txt
diff --git a/test/456-baseline-array-set/Android.bp b/test/456-baseline-array-set/Android.bp
index a4e716e..7b144c5 100644
--- a/test/456-baseline-array-set/Android.bp
+++ b/test/456-baseline-array-set/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-456-baseline-array-set-expected-stdout"],
+    data: [
+        ":art-run-test-456-baseline-array-set-expected-stdout",
+        ":art-run-test-456-baseline-array-set-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-456-baseline-array-set-expected-stdout",
     out: ["art-run-test-456-baseline-array-set-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-456-baseline-array-set-expected-stderr",
+    out: ["art-run-test-456-baseline-array-set-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/456-baseline-array-set/expected-stderr.txt b/test/456-baseline-array-set/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/456-baseline-array-set/expected-stderr.txt
diff --git a/test/457-regs/expected-stderr.txt b/test/457-regs/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/457-regs/expected-stderr.txt
diff --git a/test/458-checker-instruct-simplification/expected-stderr.txt b/test/458-checker-instruct-simplification/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/458-checker-instruct-simplification/expected-stderr.txt
diff --git a/test/458-long-to-fpu/Android.bp b/test/458-long-to-fpu/Android.bp
index 0e158f5..751825b 100644
--- a/test/458-long-to-fpu/Android.bp
+++ b/test/458-long-to-fpu/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-458-long-to-fpu-expected-stdout"],
+    data: [
+        ":art-run-test-458-long-to-fpu-expected-stdout",
+        ":art-run-test-458-long-to-fpu-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-458-long-to-fpu-expected-stdout",
     out: ["art-run-test-458-long-to-fpu-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-458-long-to-fpu-expected-stderr",
+    out: ["art-run-test-458-long-to-fpu-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/458-long-to-fpu/expected-stderr.txt b/test/458-long-to-fpu/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/458-long-to-fpu/expected-stderr.txt
diff --git a/test/459-dead-phi/expected-stderr.txt b/test/459-dead-phi/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/459-dead-phi/expected-stderr.txt
diff --git a/test/460-multiple-returns3/expected-stderr.txt b/test/460-multiple-returns3/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/460-multiple-returns3/expected-stderr.txt
diff --git a/test/461-get-reference-vreg/Android.bp b/test/461-get-reference-vreg/Android.bp
index 87762cc..18ca1a1 100644
--- a/test/461-get-reference-vreg/Android.bp
+++ b/test/461-get-reference-vreg/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-461-get-reference-vreg-expected-stdout"],
+    data: [
+        ":art-run-test-461-get-reference-vreg-expected-stdout",
+        ":art-run-test-461-get-reference-vreg-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-461-get-reference-vreg-expected-stdout",
     out: ["art-run-test-461-get-reference-vreg-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-461-get-reference-vreg-expected-stderr",
+    out: ["art-run-test-461-get-reference-vreg-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/461-get-reference-vreg/expected-stderr.txt b/test/461-get-reference-vreg/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/461-get-reference-vreg/expected-stderr.txt
diff --git a/test/462-checker-inlining-dex-files/expected-stderr.txt b/test/462-checker-inlining-dex-files/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/462-checker-inlining-dex-files/expected-stderr.txt
diff --git a/test/463-checker-boolean-simplifier/expected-stderr.txt b/test/463-checker-boolean-simplifier/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/463-checker-boolean-simplifier/expected-stderr.txt
diff --git a/test/464-checker-inline-sharpen-calls/Android.bp b/test/464-checker-inline-sharpen-calls/Android.bp
index 80931f6..9f5ef28 100644
--- a/test/464-checker-inline-sharpen-calls/Android.bp
+++ b/test/464-checker-inline-sharpen-calls/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-464-checker-inline-sharpen-calls-expected-stdout"],
+    data: [
+        ":art-run-test-464-checker-inline-sharpen-calls-expected-stdout",
+        ":art-run-test-464-checker-inline-sharpen-calls-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-464-checker-inline-sharpen-calls-expected-stdout",
     out: ["art-run-test-464-checker-inline-sharpen-calls-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-464-checker-inline-sharpen-calls-expected-stderr",
+    out: ["art-run-test-464-checker-inline-sharpen-calls-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/464-checker-inline-sharpen-calls/expected-stderr.txt b/test/464-checker-inline-sharpen-calls/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/464-checker-inline-sharpen-calls/expected-stderr.txt
diff --git a/test/465-checker-clinit-gvn/Android.bp b/test/465-checker-clinit-gvn/Android.bp
index 3aadfe8..70a2d94 100644
--- a/test/465-checker-clinit-gvn/Android.bp
+++ b/test/465-checker-clinit-gvn/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-465-checker-clinit-gvn-expected-stdout"],
+    data: [
+        ":art-run-test-465-checker-clinit-gvn-expected-stdout",
+        ":art-run-test-465-checker-clinit-gvn-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-465-checker-clinit-gvn-expected-stdout",
     out: ["art-run-test-465-checker-clinit-gvn-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-465-checker-clinit-gvn-expected-stderr",
+    out: ["art-run-test-465-checker-clinit-gvn-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/465-checker-clinit-gvn/expected-stderr.txt b/test/465-checker-clinit-gvn/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/465-checker-clinit-gvn/expected-stderr.txt
diff --git a/test/466-get-live-vreg/Android.bp b/test/466-get-live-vreg/Android.bp
index 8d1ec30..608830d 100644
--- a/test/466-get-live-vreg/Android.bp
+++ b/test/466-get-live-vreg/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-466-get-live-vreg-expected-stdout"],
+    data: [
+        ":art-run-test-466-get-live-vreg-expected-stdout",
+        ":art-run-test-466-get-live-vreg-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-466-get-live-vreg-expected-stdout",
     out: ["art-run-test-466-get-live-vreg-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-466-get-live-vreg-expected-stderr",
+    out: ["art-run-test-466-get-live-vreg-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/466-get-live-vreg/expected-stderr.txt b/test/466-get-live-vreg/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/466-get-live-vreg/expected-stderr.txt
diff --git a/test/467-regalloc-pair/expected-stderr.txt b/test/467-regalloc-pair/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/467-regalloc-pair/expected-stderr.txt
diff --git a/test/468-checker-bool-simplif-regression/expected-stderr.txt b/test/468-checker-bool-simplif-regression/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/468-checker-bool-simplif-regression/expected-stderr.txt
diff --git a/test/469-condition-materialization/Android.bp b/test/469-condition-materialization/Android.bp
index b2c551e..ff789cf 100644
--- a/test/469-condition-materialization/Android.bp
+++ b/test/469-condition-materialization/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-469-condition-materialization-expected-stdout"],
+    data: [
+        ":art-run-test-469-condition-materialization-expected-stdout",
+        ":art-run-test-469-condition-materialization-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-469-condition-materialization-expected-stdout",
     out: ["art-run-test-469-condition-materialization-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-469-condition-materialization-expected-stderr",
+    out: ["art-run-test-469-condition-materialization-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/469-condition-materialization/expected-stderr.txt b/test/469-condition-materialization/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/469-condition-materialization/expected-stderr.txt
diff --git a/test/470-huge-method/Android.bp b/test/470-huge-method/Android.bp
index a35b641..b418ffd 100644
--- a/test/470-huge-method/Android.bp
+++ b/test/470-huge-method/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-470-huge-method-expected-stdout"],
+    data: [
+        ":art-run-test-470-huge-method-expected-stdout",
+        ":art-run-test-470-huge-method-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-470-huge-method-expected-stdout",
     out: ["art-run-test-470-huge-method-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-470-huge-method-expected-stderr",
+    out: ["art-run-test-470-huge-method-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/470-huge-method/expected-stderr.txt b/test/470-huge-method/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/470-huge-method/expected-stderr.txt
diff --git a/test/471-deopt-environment/Android.bp b/test/471-deopt-environment/Android.bp
index 21e64bb..f05892b 100644
--- a/test/471-deopt-environment/Android.bp
+++ b/test/471-deopt-environment/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-471-deopt-environment-expected-stdout"],
+    data: [
+        ":art-run-test-471-deopt-environment-expected-stdout",
+        ":art-run-test-471-deopt-environment-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-471-deopt-environment-expected-stdout",
     out: ["art-run-test-471-deopt-environment-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-471-deopt-environment-expected-stderr",
+    out: ["art-run-test-471-deopt-environment-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/471-deopt-environment/expected-stderr.txt b/test/471-deopt-environment/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/471-deopt-environment/expected-stderr.txt
diff --git a/test/471-uninitialized-locals/expected-stderr.txt b/test/471-uninitialized-locals/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/471-uninitialized-locals/expected-stderr.txt
diff --git a/test/472-type-propagation/Android.bp b/test/472-type-propagation/Android.bp
index bd716e7..4394791 100644
--- a/test/472-type-propagation/Android.bp
+++ b/test/472-type-propagation/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-472-type-propagation-expected-stdout"],
+    data: [
+        ":art-run-test-472-type-propagation-expected-stdout",
+        ":art-run-test-472-type-propagation-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-472-type-propagation-expected-stdout",
     out: ["art-run-test-472-type-propagation-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-472-type-propagation-expected-stderr",
+    out: ["art-run-test-472-type-propagation-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/472-type-propagation/expected-stderr.txt b/test/472-type-propagation/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/472-type-propagation/expected-stderr.txt
diff --git a/test/472-unreachable-if-regression/expected-stderr.txt b/test/472-unreachable-if-regression/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/472-unreachable-if-regression/expected-stderr.txt
diff --git a/test/473-checker-inliner-constants/Android.bp b/test/473-checker-inliner-constants/Android.bp
index 6bf8d36..338c41c 100644
--- a/test/473-checker-inliner-constants/Android.bp
+++ b/test/473-checker-inliner-constants/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-473-checker-inliner-constants-expected-stdout"],
+    data: [
+        ":art-run-test-473-checker-inliner-constants-expected-stdout",
+        ":art-run-test-473-checker-inliner-constants-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-473-checker-inliner-constants-expected-stdout",
     out: ["art-run-test-473-checker-inliner-constants-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-473-checker-inliner-constants-expected-stderr",
+    out: ["art-run-test-473-checker-inliner-constants-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/473-checker-inliner-constants/expected-stderr.txt b/test/473-checker-inliner-constants/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/473-checker-inliner-constants/expected-stderr.txt
diff --git a/test/473-remove-dead-block/Android.bp b/test/473-remove-dead-block/Android.bp
index 8c6ab71..ddddee6 100644
--- a/test/473-remove-dead-block/Android.bp
+++ b/test/473-remove-dead-block/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-473-remove-dead-block-expected-stdout"],
+    data: [
+        ":art-run-test-473-remove-dead-block-expected-stdout",
+        ":art-run-test-473-remove-dead-block-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-473-remove-dead-block-expected-stdout",
     out: ["art-run-test-473-remove-dead-block-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-473-remove-dead-block-expected-stderr",
+    out: ["art-run-test-473-remove-dead-block-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/473-remove-dead-block/expected-stderr.txt b/test/473-remove-dead-block/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/473-remove-dead-block/expected-stderr.txt
diff --git a/test/474-checker-boolean-input/Android.bp b/test/474-checker-boolean-input/Android.bp
index ab7306c..393b430 100644
--- a/test/474-checker-boolean-input/Android.bp
+++ b/test/474-checker-boolean-input/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-474-checker-boolean-input-expected-stdout"],
+    data: [
+        ":art-run-test-474-checker-boolean-input-expected-stdout",
+        ":art-run-test-474-checker-boolean-input-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-474-checker-boolean-input-expected-stdout",
     out: ["art-run-test-474-checker-boolean-input-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-474-checker-boolean-input-expected-stderr",
+    out: ["art-run-test-474-checker-boolean-input-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/474-checker-boolean-input/expected-stderr.txt b/test/474-checker-boolean-input/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/474-checker-boolean-input/expected-stderr.txt
diff --git a/test/474-fp-sub-neg/Android.bp b/test/474-fp-sub-neg/Android.bp
index a3d236a..2e33f95 100644
--- a/test/474-fp-sub-neg/Android.bp
+++ b/test/474-fp-sub-neg/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-474-fp-sub-neg-expected-stdout"],
+    data: [
+        ":art-run-test-474-fp-sub-neg-expected-stdout",
+        ":art-run-test-474-fp-sub-neg-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-474-fp-sub-neg-expected-stdout",
     out: ["art-run-test-474-fp-sub-neg-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-474-fp-sub-neg-expected-stderr",
+    out: ["art-run-test-474-fp-sub-neg-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/474-fp-sub-neg/expected-stderr.txt b/test/474-fp-sub-neg/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/474-fp-sub-neg/expected-stderr.txt
diff --git a/test/475-regression-inliner-ids/expected-stderr.txt b/test/475-regression-inliner-ids/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/475-regression-inliner-ids/expected-stderr.txt
diff --git a/test/475-simplify-mul-zero/Android.bp b/test/475-simplify-mul-zero/Android.bp
index 9b6161a..15eecff 100644
--- a/test/475-simplify-mul-zero/Android.bp
+++ b/test/475-simplify-mul-zero/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-475-simplify-mul-zero-expected-stdout"],
+    data: [
+        ":art-run-test-475-simplify-mul-zero-expected-stdout",
+        ":art-run-test-475-simplify-mul-zero-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-475-simplify-mul-zero-expected-stdout",
     out: ["art-run-test-475-simplify-mul-zero-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-475-simplify-mul-zero-expected-stderr",
+    out: ["art-run-test-475-simplify-mul-zero-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/475-simplify-mul-zero/expected-stderr.txt b/test/475-simplify-mul-zero/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/475-simplify-mul-zero/expected-stderr.txt
diff --git a/test/476-checker-ctor-fence-redun-elim/Android.bp b/test/476-checker-ctor-fence-redun-elim/Android.bp
index c9417da..a23a6db 100644
--- a/test/476-checker-ctor-fence-redun-elim/Android.bp
+++ b/test/476-checker-ctor-fence-redun-elim/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-476-checker-ctor-fence-redun-elim-expected-stdout"],
+    data: [
+        ":art-run-test-476-checker-ctor-fence-redun-elim-expected-stdout",
+        ":art-run-test-476-checker-ctor-fence-redun-elim-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-476-checker-ctor-fence-redun-elim-expected-stdout",
     out: ["art-run-test-476-checker-ctor-fence-redun-elim-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-476-checker-ctor-fence-redun-elim-expected-stderr",
+    out: ["art-run-test-476-checker-ctor-fence-redun-elim-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/476-checker-ctor-fence-redun-elim/expected-stderr.txt b/test/476-checker-ctor-fence-redun-elim/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/476-checker-ctor-fence-redun-elim/expected-stderr.txt
diff --git a/test/476-checker-ctor-memory-barrier/Android.bp b/test/476-checker-ctor-memory-barrier/Android.bp
index dd27d34..17976e5 100644
--- a/test/476-checker-ctor-memory-barrier/Android.bp
+++ b/test/476-checker-ctor-memory-barrier/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-476-checker-ctor-memory-barrier-expected-stdout"],
+    data: [
+        ":art-run-test-476-checker-ctor-memory-barrier-expected-stdout",
+        ":art-run-test-476-checker-ctor-memory-barrier-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-476-checker-ctor-memory-barrier-expected-stdout",
     out: ["art-run-test-476-checker-ctor-memory-barrier-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-476-checker-ctor-memory-barrier-expected-stderr",
+    out: ["art-run-test-476-checker-ctor-memory-barrier-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/476-checker-ctor-memory-barrier/expected-stderr.txt b/test/476-checker-ctor-memory-barrier/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/476-checker-ctor-memory-barrier/expected-stderr.txt
diff --git a/test/476-clinit-inline-static-invoke/Android.bp b/test/476-clinit-inline-static-invoke/Android.bp
index f43cf46..2d9ecaf 100644
--- a/test/476-clinit-inline-static-invoke/Android.bp
+++ b/test/476-clinit-inline-static-invoke/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-476-clinit-inline-static-invoke-expected-stdout"],
+    data: [
+        ":art-run-test-476-clinit-inline-static-invoke-expected-stdout",
+        ":art-run-test-476-clinit-inline-static-invoke-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-476-clinit-inline-static-invoke-expected-stdout",
     out: ["art-run-test-476-clinit-inline-static-invoke-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-476-clinit-inline-static-invoke-expected-stderr",
+    out: ["art-run-test-476-clinit-inline-static-invoke-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/476-clinit-inline-static-invoke/expected-stderr.txt b/test/476-clinit-inline-static-invoke/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/476-clinit-inline-static-invoke/expected-stderr.txt
diff --git a/test/477-checker-bound-type/Android.bp b/test/477-checker-bound-type/Android.bp
index f6ca552..33bf946 100644
--- a/test/477-checker-bound-type/Android.bp
+++ b/test/477-checker-bound-type/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-477-checker-bound-type-expected-stdout"],
+    data: [
+        ":art-run-test-477-checker-bound-type-expected-stdout",
+        ":art-run-test-477-checker-bound-type-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-477-checker-bound-type-expected-stdout",
     out: ["art-run-test-477-checker-bound-type-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-477-checker-bound-type-expected-stderr",
+    out: ["art-run-test-477-checker-bound-type-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/477-checker-bound-type/expected-stderr.txt b/test/477-checker-bound-type/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/477-checker-bound-type/expected-stderr.txt
diff --git a/test/477-long-2-float-convers-precision/Android.bp b/test/477-long-2-float-convers-precision/Android.bp
index c11f556..6b500e5 100644
--- a/test/477-long-2-float-convers-precision/Android.bp
+++ b/test/477-long-2-float-convers-precision/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-477-long-2-float-convers-precision-expected-stdout"],
+    data: [
+        ":art-run-test-477-long-2-float-convers-precision-expected-stdout",
+        ":art-run-test-477-long-2-float-convers-precision-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-477-long-2-float-convers-precision-expected-stdout",
     out: ["art-run-test-477-long-2-float-convers-precision-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-477-long-2-float-convers-precision-expected-stderr",
+    out: ["art-run-test-477-long-2-float-convers-precision-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/477-long-2-float-convers-precision/expected-stderr.txt b/test/477-long-2-float-convers-precision/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/477-long-2-float-convers-precision/expected-stderr.txt
diff --git a/test/478-checker-clinit-check-pruning/Android.bp b/test/478-checker-clinit-check-pruning/Android.bp
index cacc5f8..382a5ed 100644
--- a/test/478-checker-clinit-check-pruning/Android.bp
+++ b/test/478-checker-clinit-check-pruning/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-478-checker-clinit-check-pruning-expected-stdout"],
+    data: [
+        ":art-run-test-478-checker-clinit-check-pruning-expected-stdout",
+        ":art-run-test-478-checker-clinit-check-pruning-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-478-checker-clinit-check-pruning-expected-stdout",
     out: ["art-run-test-478-checker-clinit-check-pruning-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-478-checker-clinit-check-pruning-expected-stderr",
+    out: ["art-run-test-478-checker-clinit-check-pruning-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/478-checker-clinit-check-pruning/expected-stderr.txt b/test/478-checker-clinit-check-pruning/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/478-checker-clinit-check-pruning/expected-stderr.txt
diff --git a/test/478-checker-inline-noreturn/Android.bp b/test/478-checker-inline-noreturn/Android.bp
index 919fdc1..a3addbb 100644
--- a/test/478-checker-inline-noreturn/Android.bp
+++ b/test/478-checker-inline-noreturn/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-478-checker-inline-noreturn-expected-stdout"],
+    data: [
+        ":art-run-test-478-checker-inline-noreturn-expected-stdout",
+        ":art-run-test-478-checker-inline-noreturn-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-478-checker-inline-noreturn-expected-stdout",
     out: ["art-run-test-478-checker-inline-noreturn-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-478-checker-inline-noreturn-expected-stderr",
+    out: ["art-run-test-478-checker-inline-noreturn-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/478-checker-inline-noreturn/expected-stderr.txt b/test/478-checker-inline-noreturn/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/478-checker-inline-noreturn/expected-stderr.txt
diff --git a/test/478-checker-inliner-nested-loop/Android.bp b/test/478-checker-inliner-nested-loop/Android.bp
index 4ceb7b1..df03a4f 100644
--- a/test/478-checker-inliner-nested-loop/Android.bp
+++ b/test/478-checker-inliner-nested-loop/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-478-checker-inliner-nested-loop-expected-stdout"],
+    data: [
+        ":art-run-test-478-checker-inliner-nested-loop-expected-stdout",
+        ":art-run-test-478-checker-inliner-nested-loop-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-478-checker-inliner-nested-loop-expected-stdout",
     out: ["art-run-test-478-checker-inliner-nested-loop-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-478-checker-inliner-nested-loop-expected-stderr",
+    out: ["art-run-test-478-checker-inliner-nested-loop-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/478-checker-inliner-nested-loop/expected-stderr.txt b/test/478-checker-inliner-nested-loop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/478-checker-inliner-nested-loop/expected-stderr.txt
diff --git a/test/479-regression-implicit-null-check/Android.bp b/test/479-regression-implicit-null-check/Android.bp
index 000aa0c..dc6ec55 100644
--- a/test/479-regression-implicit-null-check/Android.bp
+++ b/test/479-regression-implicit-null-check/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-479-regression-implicit-null-check-expected-stdout"],
+    data: [
+        ":art-run-test-479-regression-implicit-null-check-expected-stdout",
+        ":art-run-test-479-regression-implicit-null-check-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-479-regression-implicit-null-check-expected-stdout",
     out: ["art-run-test-479-regression-implicit-null-check-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-479-regression-implicit-null-check-expected-stderr",
+    out: ["art-run-test-479-regression-implicit-null-check-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/479-regression-implicit-null-check/expected-stderr.txt b/test/479-regression-implicit-null-check/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/479-regression-implicit-null-check/expected-stderr.txt
diff --git a/test/480-checker-dead-blocks/Android.bp b/test/480-checker-dead-blocks/Android.bp
index 76e6fef..6b2a519 100644
--- a/test/480-checker-dead-blocks/Android.bp
+++ b/test/480-checker-dead-blocks/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-480-checker-dead-blocks-expected-stdout"],
+    data: [
+        ":art-run-test-480-checker-dead-blocks-expected-stdout",
+        ":art-run-test-480-checker-dead-blocks-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-480-checker-dead-blocks-expected-stdout",
     out: ["art-run-test-480-checker-dead-blocks-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-480-checker-dead-blocks-expected-stderr",
+    out: ["art-run-test-480-checker-dead-blocks-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/480-checker-dead-blocks/expected-stderr.txt b/test/480-checker-dead-blocks/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/480-checker-dead-blocks/expected-stderr.txt
diff --git a/test/481-regression-phi-cond/Android.bp b/test/481-regression-phi-cond/Android.bp
index 4c90708..86c45ff 100644
--- a/test/481-regression-phi-cond/Android.bp
+++ b/test/481-regression-phi-cond/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-481-regression-phi-cond-expected-stdout"],
+    data: [
+        ":art-run-test-481-regression-phi-cond-expected-stdout",
+        ":art-run-test-481-regression-phi-cond-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-481-regression-phi-cond-expected-stdout",
     out: ["art-run-test-481-regression-phi-cond-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-481-regression-phi-cond-expected-stderr",
+    out: ["art-run-test-481-regression-phi-cond-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/481-regression-phi-cond/expected-stderr.txt b/test/481-regression-phi-cond/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/481-regression-phi-cond/expected-stderr.txt
diff --git a/test/482-checker-loop-back-edge-use/Android.bp b/test/482-checker-loop-back-edge-use/Android.bp
index e8d20b8..a0e8453 100644
--- a/test/482-checker-loop-back-edge-use/Android.bp
+++ b/test/482-checker-loop-back-edge-use/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-482-checker-loop-back-edge-use-expected-stdout"],
+    data: [
+        ":art-run-test-482-checker-loop-back-edge-use-expected-stdout",
+        ":art-run-test-482-checker-loop-back-edge-use-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-482-checker-loop-back-edge-use-expected-stdout",
     out: ["art-run-test-482-checker-loop-back-edge-use-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-482-checker-loop-back-edge-use-expected-stderr",
+    out: ["art-run-test-482-checker-loop-back-edge-use-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/482-checker-loop-back-edge-use/expected-stderr.txt b/test/482-checker-loop-back-edge-use/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/482-checker-loop-back-edge-use/expected-stderr.txt
diff --git a/test/483-dce-block/Android.bp b/test/483-dce-block/Android.bp
index c258a68..189b173 100644
--- a/test/483-dce-block/Android.bp
+++ b/test/483-dce-block/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-483-dce-block-expected-stdout"],
+    data: [
+        ":art-run-test-483-dce-block-expected-stdout",
+        ":art-run-test-483-dce-block-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-483-dce-block-expected-stdout",
     out: ["art-run-test-483-dce-block-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-483-dce-block-expected-stderr",
+    out: ["art-run-test-483-dce-block-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/483-dce-block/expected-stderr.txt b/test/483-dce-block/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/483-dce-block/expected-stderr.txt
diff --git a/test/484-checker-register-hints/expected-stderr.txt b/test/484-checker-register-hints/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/484-checker-register-hints/expected-stderr.txt
diff --git a/test/485-checker-dce-loop-update/expected-stderr.txt b/test/485-checker-dce-loop-update/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/485-checker-dce-loop-update/expected-stderr.txt
diff --git a/test/485-checker-dce-switch/Android.bp b/test/485-checker-dce-switch/Android.bp
index a07c2df..150dc3b 100644
--- a/test/485-checker-dce-switch/Android.bp
+++ b/test/485-checker-dce-switch/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-485-checker-dce-switch-expected-stdout"],
+    data: [
+        ":art-run-test-485-checker-dce-switch-expected-stdout",
+        ":art-run-test-485-checker-dce-switch-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-485-checker-dce-switch-expected-stdout",
     out: ["art-run-test-485-checker-dce-switch-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-485-checker-dce-switch-expected-stderr",
+    out: ["art-run-test-485-checker-dce-switch-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/485-checker-dce-switch/expected-stderr.txt b/test/485-checker-dce-switch/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/485-checker-dce-switch/expected-stderr.txt
diff --git a/test/486-checker-must-do-null-check/Android.bp b/test/486-checker-must-do-null-check/Android.bp
index 81f104d..fa97447 100644
--- a/test/486-checker-must-do-null-check/Android.bp
+++ b/test/486-checker-must-do-null-check/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-486-checker-must-do-null-check-expected-stdout"],
+    data: [
+        ":art-run-test-486-checker-must-do-null-check-expected-stdout",
+        ":art-run-test-486-checker-must-do-null-check-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-486-checker-must-do-null-check-expected-stdout",
     out: ["art-run-test-486-checker-must-do-null-check-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-486-checker-must-do-null-check-expected-stderr",
+    out: ["art-run-test-486-checker-must-do-null-check-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/486-checker-must-do-null-check/expected-stderr.txt b/test/486-checker-must-do-null-check/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/486-checker-must-do-null-check/expected-stderr.txt
diff --git a/test/487-checker-inline-calls/Android.bp b/test/487-checker-inline-calls/Android.bp
index 5322806..494137b 100644
--- a/test/487-checker-inline-calls/Android.bp
+++ b/test/487-checker-inline-calls/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-487-checker-inline-calls-expected-stdout"],
+    data: [
+        ":art-run-test-487-checker-inline-calls-expected-stdout",
+        ":art-run-test-487-checker-inline-calls-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-487-checker-inline-calls-expected-stdout",
     out: ["art-run-test-487-checker-inline-calls-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-487-checker-inline-calls-expected-stderr",
+    out: ["art-run-test-487-checker-inline-calls-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/487-checker-inline-calls/expected-stderr.txt b/test/487-checker-inline-calls/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/487-checker-inline-calls/expected-stderr.txt
diff --git a/test/488-checker-inline-recursive-calls/Android.bp b/test/488-checker-inline-recursive-calls/Android.bp
index 854660f..2db18f3 100644
--- a/test/488-checker-inline-recursive-calls/Android.bp
+++ b/test/488-checker-inline-recursive-calls/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-488-checker-inline-recursive-calls-expected-stdout"],
+    data: [
+        ":art-run-test-488-checker-inline-recursive-calls-expected-stdout",
+        ":art-run-test-488-checker-inline-recursive-calls-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-488-checker-inline-recursive-calls-expected-stdout",
     out: ["art-run-test-488-checker-inline-recursive-calls-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-488-checker-inline-recursive-calls-expected-stderr",
+    out: ["art-run-test-488-checker-inline-recursive-calls-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/488-checker-inline-recursive-calls/expected-stderr.txt b/test/488-checker-inline-recursive-calls/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/488-checker-inline-recursive-calls/expected-stderr.txt
diff --git a/test/489-current-method-regression/Android.bp b/test/489-current-method-regression/Android.bp
index 723ae10..eb017e0 100644
--- a/test/489-current-method-regression/Android.bp
+++ b/test/489-current-method-regression/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-489-current-method-regression-expected-stdout"],
+    data: [
+        ":art-run-test-489-current-method-regression-expected-stdout",
+        ":art-run-test-489-current-method-regression-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-489-current-method-regression-expected-stdout",
     out: ["art-run-test-489-current-method-regression-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-489-current-method-regression-expected-stderr",
+    out: ["art-run-test-489-current-method-regression-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/489-current-method-regression/expected-stderr.txt b/test/489-current-method-regression/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/489-current-method-regression/expected-stderr.txt
diff --git a/test/490-checker-inline/Android.bp b/test/490-checker-inline/Android.bp
index 1e833b6..46b3b90 100644
--- a/test/490-checker-inline/Android.bp
+++ b/test/490-checker-inline/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-490-checker-inline-expected-stdout"],
+    data: [
+        ":art-run-test-490-checker-inline-expected-stdout",
+        ":art-run-test-490-checker-inline-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-490-checker-inline-expected-stdout",
     out: ["art-run-test-490-checker-inline-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-490-checker-inline-expected-stderr",
+    out: ["art-run-test-490-checker-inline-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/490-checker-inline/expected-stderr.txt b/test/490-checker-inline/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/490-checker-inline/expected-stderr.txt
diff --git a/test/491-current-method/Android.bp b/test/491-current-method/Android.bp
index 78e8688..8810305 100644
--- a/test/491-current-method/Android.bp
+++ b/test/491-current-method/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-491-current-method-expected-stdout"],
+    data: [
+        ":art-run-test-491-current-method-expected-stdout",
+        ":art-run-test-491-current-method-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-491-current-method-expected-stdout",
     out: ["art-run-test-491-current-method-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-491-current-method-expected-stderr",
+    out: ["art-run-test-491-current-method-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/491-current-method/expected-stderr.txt b/test/491-current-method/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/491-current-method/expected-stderr.txt
diff --git a/test/492-checker-inline-invoke-interface/Android.bp b/test/492-checker-inline-invoke-interface/Android.bp
index 9e1a3f1..dc0797e 100644
--- a/test/492-checker-inline-invoke-interface/Android.bp
+++ b/test/492-checker-inline-invoke-interface/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-492-checker-inline-invoke-interface-expected-stdout"],
+    data: [
+        ":art-run-test-492-checker-inline-invoke-interface-expected-stdout",
+        ":art-run-test-492-checker-inline-invoke-interface-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-492-checker-inline-invoke-interface-expected-stdout",
     out: ["art-run-test-492-checker-inline-invoke-interface-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-492-checker-inline-invoke-interface-expected-stderr",
+    out: ["art-run-test-492-checker-inline-invoke-interface-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/492-checker-inline-invoke-interface/expected-stderr.txt b/test/492-checker-inline-invoke-interface/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/492-checker-inline-invoke-interface/expected-stderr.txt
diff --git a/test/493-checker-inline-invoke-interface/Android.bp b/test/493-checker-inline-invoke-interface/Android.bp
index 72be63b..cd8b071 100644
--- a/test/493-checker-inline-invoke-interface/Android.bp
+++ b/test/493-checker-inline-invoke-interface/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-493-checker-inline-invoke-interface-expected-stdout"],
+    data: [
+        ":art-run-test-493-checker-inline-invoke-interface-expected-stdout",
+        ":art-run-test-493-checker-inline-invoke-interface-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-493-checker-inline-invoke-interface-expected-stdout",
     out: ["art-run-test-493-checker-inline-invoke-interface-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-493-checker-inline-invoke-interface-expected-stderr",
+    out: ["art-run-test-493-checker-inline-invoke-interface-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/493-checker-inline-invoke-interface/expected-stderr.txt b/test/493-checker-inline-invoke-interface/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/493-checker-inline-invoke-interface/expected-stderr.txt
diff --git a/test/494-checker-instanceof-tests/Android.bp b/test/494-checker-instanceof-tests/Android.bp
index c139c0d..c8243af 100644
--- a/test/494-checker-instanceof-tests/Android.bp
+++ b/test/494-checker-instanceof-tests/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-494-checker-instanceof-tests-expected-stdout"],
+    data: [
+        ":art-run-test-494-checker-instanceof-tests-expected-stdout",
+        ":art-run-test-494-checker-instanceof-tests-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-494-checker-instanceof-tests-expected-stdout",
     out: ["art-run-test-494-checker-instanceof-tests-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-494-checker-instanceof-tests-expected-stderr",
+    out: ["art-run-test-494-checker-instanceof-tests-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/494-checker-instanceof-tests/expected-stderr.txt b/test/494-checker-instanceof-tests/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/494-checker-instanceof-tests/expected-stderr.txt
diff --git a/test/495-checker-checkcast-tests/Android.bp b/test/495-checker-checkcast-tests/Android.bp
index acf24cd..59942ac 100644
--- a/test/495-checker-checkcast-tests/Android.bp
+++ b/test/495-checker-checkcast-tests/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-495-checker-checkcast-tests-expected-stdout"],
+    data: [
+        ":art-run-test-495-checker-checkcast-tests-expected-stdout",
+        ":art-run-test-495-checker-checkcast-tests-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-495-checker-checkcast-tests-expected-stdout",
     out: ["art-run-test-495-checker-checkcast-tests-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-495-checker-checkcast-tests-expected-stderr",
+    out: ["art-run-test-495-checker-checkcast-tests-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/495-checker-checkcast-tests/expected-stderr.txt b/test/495-checker-checkcast-tests/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/495-checker-checkcast-tests/expected-stderr.txt
diff --git a/test/496-checker-inlining-class-loader/Android.bp b/test/496-checker-inlining-class-loader/Android.bp
index 7c684c5..b5d227b 100644
--- a/test/496-checker-inlining-class-loader/Android.bp
+++ b/test/496-checker-inlining-class-loader/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-496-checker-inlining-class-loader-expected-stdout"],
+    data: [
+        ":art-run-test-496-checker-inlining-class-loader-expected-stdout",
+        ":art-run-test-496-checker-inlining-class-loader-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-496-checker-inlining-class-loader-expected-stdout",
     out: ["art-run-test-496-checker-inlining-class-loader-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-496-checker-inlining-class-loader-expected-stderr",
+    out: ["art-run-test-496-checker-inlining-class-loader-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/496-checker-inlining-class-loader/expected-stderr.txt b/test/496-checker-inlining-class-loader/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/496-checker-inlining-class-loader/expected-stderr.txt
diff --git a/test/497-inlining-and-class-loader/Android.bp b/test/497-inlining-and-class-loader/Android.bp
index 539b42c..88d90da 100644
--- a/test/497-inlining-and-class-loader/Android.bp
+++ b/test/497-inlining-and-class-loader/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-497-inlining-and-class-loader-expected-stdout"],
+    data: [
+        ":art-run-test-497-inlining-and-class-loader-expected-stdout",
+        ":art-run-test-497-inlining-and-class-loader-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-497-inlining-and-class-loader-expected-stdout",
     out: ["art-run-test-497-inlining-and-class-loader-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-497-inlining-and-class-loader-expected-stderr",
+    out: ["art-run-test-497-inlining-and-class-loader-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/497-inlining-and-class-loader/expected-stderr.txt b/test/497-inlining-and-class-loader/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/497-inlining-and-class-loader/expected-stderr.txt
diff --git a/test/498-type-propagation/expected-stderr.txt b/test/498-type-propagation/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/498-type-propagation/expected-stderr.txt
diff --git a/test/499-bce-phi-array-length/Android.bp b/test/499-bce-phi-array-length/Android.bp
index d11b508..2df1d2f 100644
--- a/test/499-bce-phi-array-length/Android.bp
+++ b/test/499-bce-phi-array-length/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-499-bce-phi-array-length-expected-stdout"],
+    data: [
+        ":art-run-test-499-bce-phi-array-length-expected-stdout",
+        ":art-run-test-499-bce-phi-array-length-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-499-bce-phi-array-length-expected-stdout",
     out: ["art-run-test-499-bce-phi-array-length-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-499-bce-phi-array-length-expected-stderr",
+    out: ["art-run-test-499-bce-phi-array-length-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/499-bce-phi-array-length/expected-stderr.txt b/test/499-bce-phi-array-length/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/499-bce-phi-array-length/expected-stderr.txt
diff --git a/test/500-instanceof/Android.bp b/test/500-instanceof/Android.bp
index 9a54922..2d44d02 100644
--- a/test/500-instanceof/Android.bp
+++ b/test/500-instanceof/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-500-instanceof-expected-stdout"],
+    data: [
+        ":art-run-test-500-instanceof-expected-stdout",
+        ":art-run-test-500-instanceof-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-500-instanceof-expected-stdout",
     out: ["art-run-test-500-instanceof-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-500-instanceof-expected-stderr",
+    out: ["art-run-test-500-instanceof-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/500-instanceof/expected-stderr.txt b/test/500-instanceof/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/500-instanceof/expected-stderr.txt
diff --git a/test/501-null-constant-dce/expected-stderr.txt b/test/501-null-constant-dce/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/501-null-constant-dce/expected-stderr.txt
diff --git a/test/501-regression-packed-switch/expected-stderr.txt b/test/501-regression-packed-switch/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/501-regression-packed-switch/expected-stderr.txt
diff --git a/test/503-dead-instructions/expected-stderr.txt b/test/503-dead-instructions/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/503-dead-instructions/expected-stderr.txt
diff --git a/test/504-regression-baseline-entry/expected-stderr.txt b/test/504-regression-baseline-entry/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/504-regression-baseline-entry/expected-stderr.txt
diff --git a/test/505-simplifier-type-propagation/Android.bp b/test/505-simplifier-type-propagation/Android.bp
index 82c3218..fb580bf 100644
--- a/test/505-simplifier-type-propagation/Android.bp
+++ b/test/505-simplifier-type-propagation/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-505-simplifier-type-propagation-expected-stdout"],
+    data: [
+        ":art-run-test-505-simplifier-type-propagation-expected-stdout",
+        ":art-run-test-505-simplifier-type-propagation-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-505-simplifier-type-propagation-expected-stdout",
     out: ["art-run-test-505-simplifier-type-propagation-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-505-simplifier-type-propagation-expected-stderr",
+    out: ["art-run-test-505-simplifier-type-propagation-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/505-simplifier-type-propagation/expected-stderr.txt b/test/505-simplifier-type-propagation/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/505-simplifier-type-propagation/expected-stderr.txt
diff --git a/test/506-verify-aput/expected-stderr.txt b/test/506-verify-aput/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/506-verify-aput/expected-stderr.txt
diff --git a/test/507-boolean-test/Android.bp b/test/507-boolean-test/Android.bp
index 6cf0514..982c554 100644
--- a/test/507-boolean-test/Android.bp
+++ b/test/507-boolean-test/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-507-boolean-test-expected-stdout"],
+    data: [
+        ":art-run-test-507-boolean-test-expected-stdout",
+        ":art-run-test-507-boolean-test-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-507-boolean-test-expected-stdout",
     out: ["art-run-test-507-boolean-test-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-507-boolean-test-expected-stderr",
+    out: ["art-run-test-507-boolean-test-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/507-boolean-test/expected-stderr.txt b/test/507-boolean-test/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/507-boolean-test/expected-stderr.txt
diff --git a/test/507-referrer/Android.bp b/test/507-referrer/Android.bp
index f1b24ff..61e6172 100644
--- a/test/507-referrer/Android.bp
+++ b/test/507-referrer/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-507-referrer-expected-stdout"],
+    data: [
+        ":art-run-test-507-referrer-expected-stdout",
+        ":art-run-test-507-referrer-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-507-referrer-expected-stdout",
     out: ["art-run-test-507-referrer-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-507-referrer-expected-stderr",
+    out: ["art-run-test-507-referrer-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/507-referrer/expected-stderr.txt b/test/507-referrer/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/507-referrer/expected-stderr.txt
diff --git a/test/508-checker-disassembly/Android.bp b/test/508-checker-disassembly/Android.bp
index 0b2d45f..aaefef5 100644
--- a/test/508-checker-disassembly/Android.bp
+++ b/test/508-checker-disassembly/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-508-checker-disassembly-expected-stdout"],
+    data: [
+        ":art-run-test-508-checker-disassembly-expected-stdout",
+        ":art-run-test-508-checker-disassembly-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-508-checker-disassembly-expected-stdout",
     out: ["art-run-test-508-checker-disassembly-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-508-checker-disassembly-expected-stderr",
+    out: ["art-run-test-508-checker-disassembly-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/508-checker-disassembly/expected-stderr.txt b/test/508-checker-disassembly/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/508-checker-disassembly/expected-stderr.txt
diff --git a/test/508-referrer-method/Android.bp b/test/508-referrer-method/Android.bp
index fb26624..13dc8c5 100644
--- a/test/508-referrer-method/Android.bp
+++ b/test/508-referrer-method/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-508-referrer-method-expected-stdout"],
+    data: [
+        ":art-run-test-508-referrer-method-expected-stdout",
+        ":art-run-test-508-referrer-method-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-508-referrer-method-expected-stdout",
     out: ["art-run-test-508-referrer-method-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-508-referrer-method-expected-stderr",
+    out: ["art-run-test-508-referrer-method-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/508-referrer-method/expected-stderr.txt b/test/508-referrer-method/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/508-referrer-method/expected-stderr.txt
diff --git a/test/509-pre-header/expected-stderr.txt b/test/509-pre-header/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/509-pre-header/expected-stderr.txt
diff --git a/test/510-checker-try-catch/expected-stderr.txt b/test/510-checker-try-catch/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/510-checker-try-catch/expected-stderr.txt
diff --git a/test/511-clinit-interface/expected-stderr.txt b/test/511-clinit-interface/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/511-clinit-interface/expected-stderr.txt
diff --git a/test/513-array-deopt/Android.bp b/test/513-array-deopt/Android.bp
index 4236ad7..fe8a948 100644
--- a/test/513-array-deopt/Android.bp
+++ b/test/513-array-deopt/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-513-array-deopt-expected-stdout"],
+    data: [
+        ":art-run-test-513-array-deopt-expected-stdout",
+        ":art-run-test-513-array-deopt-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-513-array-deopt-expected-stdout",
     out: ["art-run-test-513-array-deopt-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-513-array-deopt-expected-stderr",
+    out: ["art-run-test-513-array-deopt-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/513-array-deopt/expected-stderr.txt b/test/513-array-deopt/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/513-array-deopt/expected-stderr.txt
diff --git a/test/514-shifts/Android.bp b/test/514-shifts/Android.bp
index 26f4a3d..2251c59 100644
--- a/test/514-shifts/Android.bp
+++ b/test/514-shifts/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-514-shifts-expected-stdout"],
+    data: [
+        ":art-run-test-514-shifts-expected-stdout",
+        ":art-run-test-514-shifts-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-514-shifts-expected-stdout",
     out: ["art-run-test-514-shifts-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-514-shifts-expected-stderr",
+    out: ["art-run-test-514-shifts-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/514-shifts/expected-stderr.txt b/test/514-shifts/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/514-shifts/expected-stderr.txt
diff --git a/test/515-dce-dominator/expected-stderr.txt b/test/515-dce-dominator/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/515-dce-dominator/expected-stderr.txt
diff --git a/test/516-dead-move-result/expected-stderr.txt b/test/516-dead-move-result/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/516-dead-move-result/expected-stderr.txt
diff --git a/test/517-checker-builder-fallthrough/expected-stderr.txt b/test/517-checker-builder-fallthrough/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/517-checker-builder-fallthrough/expected-stderr.txt
diff --git a/test/518-null-array-get/expected-stderr.txt b/test/518-null-array-get/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/518-null-array-get/expected-stderr.txt
diff --git a/test/519-bound-load-class/Android.bp b/test/519-bound-load-class/Android.bp
index 0c37356..a7520be 100644
--- a/test/519-bound-load-class/Android.bp
+++ b/test/519-bound-load-class/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-519-bound-load-class-expected-stdout"],
+    data: [
+        ":art-run-test-519-bound-load-class-expected-stdout",
+        ":art-run-test-519-bound-load-class-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-519-bound-load-class-expected-stdout",
     out: ["art-run-test-519-bound-load-class-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-519-bound-load-class-expected-stderr",
+    out: ["art-run-test-519-bound-load-class-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/519-bound-load-class/expected-stderr.txt b/test/519-bound-load-class/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/519-bound-load-class/expected-stderr.txt
diff --git a/test/520-equivalent-phi/expected-stderr.txt b/test/520-equivalent-phi/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/520-equivalent-phi/expected-stderr.txt
diff --git a/test/521-checker-array-set-null/Android.bp b/test/521-checker-array-set-null/Android.bp
index 3a11247..f27f87f 100644
--- a/test/521-checker-array-set-null/Android.bp
+++ b/test/521-checker-array-set-null/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-521-checker-array-set-null-expected-stdout"],
+    data: [
+        ":art-run-test-521-checker-array-set-null-expected-stdout",
+        ":art-run-test-521-checker-array-set-null-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-521-checker-array-set-null-expected-stdout",
     out: ["art-run-test-521-checker-array-set-null-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-521-checker-array-set-null-expected-stderr",
+    out: ["art-run-test-521-checker-array-set-null-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/521-checker-array-set-null/expected-stderr.txt b/test/521-checker-array-set-null/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/521-checker-array-set-null/expected-stderr.txt
diff --git a/test/521-regression-integer-field-set/Android.bp b/test/521-regression-integer-field-set/Android.bp
index cd32bba..80b4ec6 100644
--- a/test/521-regression-integer-field-set/Android.bp
+++ b/test/521-regression-integer-field-set/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-521-regression-integer-field-set-expected-stdout"],
+    data: [
+        ":art-run-test-521-regression-integer-field-set-expected-stdout",
+        ":art-run-test-521-regression-integer-field-set-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-521-regression-integer-field-set-expected-stdout",
     out: ["art-run-test-521-regression-integer-field-set-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-521-regression-integer-field-set-expected-stderr",
+    out: ["art-run-test-521-regression-integer-field-set-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/521-regression-integer-field-set/expected-stderr.txt b/test/521-regression-integer-field-set/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/521-regression-integer-field-set/expected-stderr.txt
diff --git a/test/522-checker-regression-monitor-exit/expected-stderr.txt b/test/522-checker-regression-monitor-exit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/522-checker-regression-monitor-exit/expected-stderr.txt
diff --git a/test/523-checker-can-throw-regression/expected-stderr.txt b/test/523-checker-can-throw-regression/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/523-checker-can-throw-regression/expected-stderr.txt
diff --git a/test/524-boolean-simplifier-regression/Android.bp b/test/524-boolean-simplifier-regression/Android.bp
index 4a58143..31996ef 100644
--- a/test/524-boolean-simplifier-regression/Android.bp
+++ b/test/524-boolean-simplifier-regression/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-524-boolean-simplifier-regression-expected-stdout"],
+    data: [
+        ":art-run-test-524-boolean-simplifier-regression-expected-stdout",
+        ":art-run-test-524-boolean-simplifier-regression-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-524-boolean-simplifier-regression-expected-stdout",
     out: ["art-run-test-524-boolean-simplifier-regression-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-524-boolean-simplifier-regression-expected-stderr",
+    out: ["art-run-test-524-boolean-simplifier-regression-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/524-boolean-simplifier-regression/expected-stderr.txt b/test/524-boolean-simplifier-regression/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/524-boolean-simplifier-regression/expected-stderr.txt
diff --git a/test/525-checker-arrays-fields1/Android.bp b/test/525-checker-arrays-fields1/Android.bp
index 0bf84be..e7f72ca 100644
--- a/test/525-checker-arrays-fields1/Android.bp
+++ b/test/525-checker-arrays-fields1/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-525-checker-arrays-fields1-expected-stdout"],
+    data: [
+        ":art-run-test-525-checker-arrays-fields1-expected-stdout",
+        ":art-run-test-525-checker-arrays-fields1-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-525-checker-arrays-fields1-expected-stdout",
     out: ["art-run-test-525-checker-arrays-fields1-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-525-checker-arrays-fields1-expected-stderr",
+    out: ["art-run-test-525-checker-arrays-fields1-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/525-checker-arrays-fields1/expected-stderr.txt b/test/525-checker-arrays-fields1/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/525-checker-arrays-fields1/expected-stderr.txt
diff --git a/test/525-checker-arrays-fields2/Android.bp b/test/525-checker-arrays-fields2/Android.bp
index e603694..4a7b32a 100644
--- a/test/525-checker-arrays-fields2/Android.bp
+++ b/test/525-checker-arrays-fields2/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-525-checker-arrays-fields2-expected-stdout"],
+    data: [
+        ":art-run-test-525-checker-arrays-fields2-expected-stdout",
+        ":art-run-test-525-checker-arrays-fields2-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-525-checker-arrays-fields2-expected-stdout",
     out: ["art-run-test-525-checker-arrays-fields2-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-525-checker-arrays-fields2-expected-stderr",
+    out: ["art-run-test-525-checker-arrays-fields2-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/525-checker-arrays-fields2/expected-stderr.txt b/test/525-checker-arrays-fields2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/525-checker-arrays-fields2/expected-stderr.txt
diff --git a/test/526-checker-caller-callee-regs/Android.bp b/test/526-checker-caller-callee-regs/Android.bp
index 19a7d1e..e22e742 100644
--- a/test/526-checker-caller-callee-regs/Android.bp
+++ b/test/526-checker-caller-callee-regs/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-526-checker-caller-callee-regs-expected-stdout"],
+    data: [
+        ":art-run-test-526-checker-caller-callee-regs-expected-stdout",
+        ":art-run-test-526-checker-caller-callee-regs-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-526-checker-caller-callee-regs-expected-stdout",
     out: ["art-run-test-526-checker-caller-callee-regs-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-526-checker-caller-callee-regs-expected-stderr",
+    out: ["art-run-test-526-checker-caller-callee-regs-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/526-checker-caller-callee-regs/expected-stderr.txt b/test/526-checker-caller-callee-regs/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/526-checker-caller-callee-regs/expected-stderr.txt
diff --git a/test/526-long-regalloc/Android.bp b/test/526-long-regalloc/Android.bp
index dd907a2..779f7f7 100644
--- a/test/526-long-regalloc/Android.bp
+++ b/test/526-long-regalloc/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-526-long-regalloc-expected-stdout"],
+    data: [
+        ":art-run-test-526-long-regalloc-expected-stdout",
+        ":art-run-test-526-long-regalloc-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-526-long-regalloc-expected-stdout",
     out: ["art-run-test-526-long-regalloc-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-526-long-regalloc-expected-stderr",
+    out: ["art-run-test-526-long-regalloc-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/526-long-regalloc/expected-stderr.txt b/test/526-long-regalloc/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/526-long-regalloc/expected-stderr.txt
diff --git a/test/527-checker-array-access-simd/Android.bp b/test/527-checker-array-access-simd/Android.bp
index 82b8848..9c4e84b 100644
--- a/test/527-checker-array-access-simd/Android.bp
+++ b/test/527-checker-array-access-simd/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-527-checker-array-access-simd-expected-stdout"],
+    data: [
+        ":art-run-test-527-checker-array-access-simd-expected-stdout",
+        ":art-run-test-527-checker-array-access-simd-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-527-checker-array-access-simd-expected-stdout",
     out: ["art-run-test-527-checker-array-access-simd-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-527-checker-array-access-simd-expected-stderr",
+    out: ["art-run-test-527-checker-array-access-simd-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/527-checker-array-access-simd/expected-stderr.txt b/test/527-checker-array-access-simd/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/527-checker-array-access-simd/expected-stderr.txt
diff --git a/test/527-checker-array-access-split/Android.bp b/test/527-checker-array-access-split/Android.bp
index db92aec..f2f6032 100644
--- a/test/527-checker-array-access-split/Android.bp
+++ b/test/527-checker-array-access-split/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-527-checker-array-access-split-expected-stdout"],
+    data: [
+        ":art-run-test-527-checker-array-access-split-expected-stdout",
+        ":art-run-test-527-checker-array-access-split-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-527-checker-array-access-split-expected-stdout",
     out: ["art-run-test-527-checker-array-access-split-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-527-checker-array-access-split-expected-stderr",
+    out: ["art-run-test-527-checker-array-access-split-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/527-checker-array-access-split/expected-stderr.txt b/test/527-checker-array-access-split/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/527-checker-array-access-split/expected-stderr.txt
diff --git a/test/528-long-hint/Android.bp b/test/528-long-hint/Android.bp
index 6155c43..8ece402 100644
--- a/test/528-long-hint/Android.bp
+++ b/test/528-long-hint/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-528-long-hint-expected-stdout"],
+    data: [
+        ":art-run-test-528-long-hint-expected-stdout",
+        ":art-run-test-528-long-hint-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-528-long-hint-expected-stdout",
     out: ["art-run-test-528-long-hint-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-528-long-hint-expected-stderr",
+    out: ["art-run-test-528-long-hint-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/528-long-hint/expected-stderr.txt b/test/528-long-hint/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/528-long-hint/expected-stderr.txt
diff --git a/test/529-checker-unresolved/expected-stderr.txt b/test/529-checker-unresolved/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/529-checker-unresolved/expected-stderr.txt
diff --git a/test/529-long-split/Android.bp b/test/529-long-split/Android.bp
index ae05550..acd1bab 100644
--- a/test/529-long-split/Android.bp
+++ b/test/529-long-split/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-529-long-split-expected-stdout"],
+    data: [
+        ":art-run-test-529-long-split-expected-stdout",
+        ":art-run-test-529-long-split-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-529-long-split-expected-stdout",
     out: ["art-run-test-529-long-split-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-529-long-split-expected-stderr",
+    out: ["art-run-test-529-long-split-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/529-long-split/expected-stderr.txt b/test/529-long-split/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/529-long-split/expected-stderr.txt
diff --git a/test/530-checker-loops1/Android.bp b/test/530-checker-loops1/Android.bp
index 2baadae..e8421a7 100644
--- a/test/530-checker-loops1/Android.bp
+++ b/test/530-checker-loops1/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-530-checker-loops1-expected-stdout"],
+    data: [
+        ":art-run-test-530-checker-loops1-expected-stdout",
+        ":art-run-test-530-checker-loops1-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-530-checker-loops1-expected-stdout",
     out: ["art-run-test-530-checker-loops1-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-530-checker-loops1-expected-stderr",
+    out: ["art-run-test-530-checker-loops1-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/530-checker-loops1/expected-stderr.txt b/test/530-checker-loops1/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/530-checker-loops1/expected-stderr.txt
diff --git a/test/530-checker-loops2/Android.bp b/test/530-checker-loops2/Android.bp
index c3c75a2..16aaa90 100644
--- a/test/530-checker-loops2/Android.bp
+++ b/test/530-checker-loops2/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-530-checker-loops2-expected-stdout"],
+    data: [
+        ":art-run-test-530-checker-loops2-expected-stdout",
+        ":art-run-test-530-checker-loops2-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-530-checker-loops2-expected-stdout",
     out: ["art-run-test-530-checker-loops2-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-530-checker-loops2-expected-stderr",
+    out: ["art-run-test-530-checker-loops2-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/530-checker-loops2/expected-stderr.txt b/test/530-checker-loops2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/530-checker-loops2/expected-stderr.txt
diff --git a/test/530-checker-loops3/Android.bp b/test/530-checker-loops3/Android.bp
index 5c39784..1574547 100644
--- a/test/530-checker-loops3/Android.bp
+++ b/test/530-checker-loops3/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-530-checker-loops3-expected-stdout"],
+    data: [
+        ":art-run-test-530-checker-loops3-expected-stdout",
+        ":art-run-test-530-checker-loops3-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-530-checker-loops3-expected-stdout",
     out: ["art-run-test-530-checker-loops3-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-530-checker-loops3-expected-stderr",
+    out: ["art-run-test-530-checker-loops3-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/530-checker-loops3/expected-stderr.txt b/test/530-checker-loops3/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/530-checker-loops3/expected-stderr.txt
diff --git a/test/530-checker-loops4/Android.bp b/test/530-checker-loops4/Android.bp
index 390dad9..800c48b 100644
--- a/test/530-checker-loops4/Android.bp
+++ b/test/530-checker-loops4/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-530-checker-loops4-expected-stdout"],
+    data: [
+        ":art-run-test-530-checker-loops4-expected-stdout",
+        ":art-run-test-530-checker-loops4-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-530-checker-loops4-expected-stdout",
     out: ["art-run-test-530-checker-loops4-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-530-checker-loops4-expected-stderr",
+    out: ["art-run-test-530-checker-loops4-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/530-checker-loops4/expected-stderr.txt b/test/530-checker-loops4/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/530-checker-loops4/expected-stderr.txt
diff --git a/test/530-checker-loops5/Android.bp b/test/530-checker-loops5/Android.bp
index 12487ed..b029616 100644
--- a/test/530-checker-loops5/Android.bp
+++ b/test/530-checker-loops5/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-530-checker-loops5-expected-stdout"],
+    data: [
+        ":art-run-test-530-checker-loops5-expected-stdout",
+        ":art-run-test-530-checker-loops5-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-530-checker-loops5-expected-stdout",
     out: ["art-run-test-530-checker-loops5-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-530-checker-loops5-expected-stderr",
+    out: ["art-run-test-530-checker-loops5-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/530-checker-loops5/expected-stderr.txt b/test/530-checker-loops5/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/530-checker-loops5/expected-stderr.txt
diff --git a/test/530-checker-lse-ctor-fences/Android.bp b/test/530-checker-lse-ctor-fences/Android.bp
index 5e9a265..8a5f6aa 100644
--- a/test/530-checker-lse-ctor-fences/Android.bp
+++ b/test/530-checker-lse-ctor-fences/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-530-checker-lse-ctor-fences-expected-stdout"],
+    data: [
+        ":art-run-test-530-checker-lse-ctor-fences-expected-stdout",
+        ":art-run-test-530-checker-lse-ctor-fences-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-530-checker-lse-ctor-fences-expected-stdout",
     out: ["art-run-test-530-checker-lse-ctor-fences-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-530-checker-lse-ctor-fences-expected-stderr",
+    out: ["art-run-test-530-checker-lse-ctor-fences-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/530-checker-lse-ctor-fences/expected-stderr.txt b/test/530-checker-lse-ctor-fences/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/530-checker-lse-ctor-fences/expected-stderr.txt
diff --git a/test/530-checker-lse-simd/Android.bp b/test/530-checker-lse-simd/Android.bp
index 88dc1ad..e3c86cf 100644
--- a/test/530-checker-lse-simd/Android.bp
+++ b/test/530-checker-lse-simd/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-530-checker-lse-simd-expected-stdout"],
+    data: [
+        ":art-run-test-530-checker-lse-simd-expected-stdout",
+        ":art-run-test-530-checker-lse-simd-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-530-checker-lse-simd-expected-stdout",
     out: ["art-run-test-530-checker-lse-simd-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-530-checker-lse-simd-expected-stderr",
+    out: ["art-run-test-530-checker-lse-simd-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/530-checker-lse-simd/expected-stderr.txt b/test/530-checker-lse-simd/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/530-checker-lse-simd/expected-stderr.txt
diff --git a/test/530-checker-lse/Android.bp b/test/530-checker-lse/Android.bp
index 82f0a79..6c5d849 100644
--- a/test/530-checker-lse/Android.bp
+++ b/test/530-checker-lse/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-530-checker-lse-expected-stdout"],
+    data: [
+        ":art-run-test-530-checker-lse-expected-stdout",
+        ":art-run-test-530-checker-lse-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-530-checker-lse-expected-stdout",
     out: ["art-run-test-530-checker-lse-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-530-checker-lse-expected-stderr",
+    out: ["art-run-test-530-checker-lse-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/530-checker-lse/expected-stderr.txt b/test/530-checker-lse/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/530-checker-lse/expected-stderr.txt
diff --git a/test/530-checker-lse2/Android.bp b/test/530-checker-lse2/Android.bp
index e74b268..4d85205 100644
--- a/test/530-checker-lse2/Android.bp
+++ b/test/530-checker-lse2/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-530-checker-lse2-expected-stdout"],
+    data: [
+        ":art-run-test-530-checker-lse2-expected-stdout",
+        ":art-run-test-530-checker-lse2-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-530-checker-lse2-expected-stdout",
     out: ["art-run-test-530-checker-lse2-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-530-checker-lse2-expected-stderr",
+    out: ["art-run-test-530-checker-lse2-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/530-checker-lse2/expected-stderr.txt b/test/530-checker-lse2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/530-checker-lse2/expected-stderr.txt
diff --git a/test/530-checker-lse3/expected-stderr.txt b/test/530-checker-lse3/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/530-checker-lse3/expected-stderr.txt
diff --git a/test/530-checker-peel-unroll/expected-stderr.txt b/test/530-checker-peel-unroll/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/530-checker-peel-unroll/expected-stderr.txt
diff --git a/test/530-checker-regression-reftyp-final/expected-stderr.txt b/test/530-checker-regression-reftyp-final/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/530-checker-regression-reftyp-final/expected-stderr.txt
diff --git a/test/530-instanceof-checkcast/Android.bp b/test/530-instanceof-checkcast/Android.bp
index 858a5af..dc50f78 100644
--- a/test/530-instanceof-checkcast/Android.bp
+++ b/test/530-instanceof-checkcast/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-530-instanceof-checkcast-expected-stdout"],
+    data: [
+        ":art-run-test-530-instanceof-checkcast-expected-stdout",
+        ":art-run-test-530-instanceof-checkcast-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-530-instanceof-checkcast-expected-stdout",
     out: ["art-run-test-530-instanceof-checkcast-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-530-instanceof-checkcast-expected-stderr",
+    out: ["art-run-test-530-instanceof-checkcast-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/530-instanceof-checkcast/expected-stderr.txt b/test/530-instanceof-checkcast/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/530-instanceof-checkcast/expected-stderr.txt
diff --git a/test/530-regression-lse/Android.bp b/test/530-regression-lse/Android.bp
index e9c2d43..a00167c 100644
--- a/test/530-regression-lse/Android.bp
+++ b/test/530-regression-lse/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-530-regression-lse-expected-stdout"],
+    data: [
+        ":art-run-test-530-regression-lse-expected-stdout",
+        ":art-run-test-530-regression-lse-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-530-regression-lse-expected-stdout",
     out: ["art-run-test-530-regression-lse-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-530-regression-lse-expected-stderr",
+    out: ["art-run-test-530-regression-lse-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/530-regression-lse/expected-stderr.txt b/test/530-regression-lse/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/530-regression-lse/expected-stderr.txt
diff --git a/test/531-regression-debugphi/expected-stderr.txt b/test/531-regression-debugphi/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/531-regression-debugphi/expected-stderr.txt
diff --git a/test/532-checker-nonnull-arrayset/Android.bp b/test/532-checker-nonnull-arrayset/Android.bp
index b165e2a..d2a9b02 100644
--- a/test/532-checker-nonnull-arrayset/Android.bp
+++ b/test/532-checker-nonnull-arrayset/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-532-checker-nonnull-arrayset-expected-stdout"],
+    data: [
+        ":art-run-test-532-checker-nonnull-arrayset-expected-stdout",
+        ":art-run-test-532-checker-nonnull-arrayset-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-532-checker-nonnull-arrayset-expected-stdout",
     out: ["art-run-test-532-checker-nonnull-arrayset-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-532-checker-nonnull-arrayset-expected-stderr",
+    out: ["art-run-test-532-checker-nonnull-arrayset-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/532-checker-nonnull-arrayset/expected-stderr.txt b/test/532-checker-nonnull-arrayset/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/532-checker-nonnull-arrayset/expected-stderr.txt
diff --git a/test/533-regression-debugphi/expected-stderr.txt b/test/533-regression-debugphi/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/533-regression-debugphi/expected-stderr.txt
diff --git a/test/534-checker-bce-deoptimization/Android.bp b/test/534-checker-bce-deoptimization/Android.bp
index 82c94a8..a7e87e1 100644
--- a/test/534-checker-bce-deoptimization/Android.bp
+++ b/test/534-checker-bce-deoptimization/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-534-checker-bce-deoptimization-expected-stdout"],
+    data: [
+        ":art-run-test-534-checker-bce-deoptimization-expected-stdout",
+        ":art-run-test-534-checker-bce-deoptimization-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-534-checker-bce-deoptimization-expected-stdout",
     out: ["art-run-test-534-checker-bce-deoptimization-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-534-checker-bce-deoptimization-expected-stderr",
+    out: ["art-run-test-534-checker-bce-deoptimization-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/534-checker-bce-deoptimization/expected-stderr.txt b/test/534-checker-bce-deoptimization/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/534-checker-bce-deoptimization/expected-stderr.txt
diff --git a/test/535-deopt-and-inlining/Android.bp b/test/535-deopt-and-inlining/Android.bp
index e48d1a1..edf9bba 100644
--- a/test/535-deopt-and-inlining/Android.bp
+++ b/test/535-deopt-and-inlining/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-535-deopt-and-inlining-expected-stdout"],
+    data: [
+        ":art-run-test-535-deopt-and-inlining-expected-stdout",
+        ":art-run-test-535-deopt-and-inlining-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-535-deopt-and-inlining-expected-stdout",
     out: ["art-run-test-535-deopt-and-inlining-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-535-deopt-and-inlining-expected-stderr",
+    out: ["art-run-test-535-deopt-and-inlining-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/535-deopt-and-inlining/expected-stderr.txt b/test/535-deopt-and-inlining/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/535-deopt-and-inlining/expected-stderr.txt
diff --git a/test/535-regression-const-val/expected-stderr.txt b/test/535-regression-const-val/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/535-regression-const-val/expected-stderr.txt
diff --git a/test/536-checker-intrinsic-optimization/Android.bp b/test/536-checker-intrinsic-optimization/Android.bp
index 92079a9..b4e2f63 100644
--- a/test/536-checker-intrinsic-optimization/Android.bp
+++ b/test/536-checker-intrinsic-optimization/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-536-checker-intrinsic-optimization-expected-stdout"],
+    data: [
+        ":art-run-test-536-checker-intrinsic-optimization-expected-stdout",
+        ":art-run-test-536-checker-intrinsic-optimization-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-536-checker-intrinsic-optimization-expected-stdout",
     out: ["art-run-test-536-checker-intrinsic-optimization-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-536-checker-intrinsic-optimization-expected-stderr",
+    out: ["art-run-test-536-checker-intrinsic-optimization-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/536-checker-intrinsic-optimization/expected-stderr.txt b/test/536-checker-intrinsic-optimization/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/536-checker-intrinsic-optimization/expected-stderr.txt
diff --git a/test/536-checker-needs-access-check/expected-stderr.txt b/test/536-checker-needs-access-check/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/536-checker-needs-access-check/expected-stderr.txt
diff --git a/test/537-checker-arraycopy/Android.bp b/test/537-checker-arraycopy/Android.bp
index 3b3fc68..70edd9b 100644
--- a/test/537-checker-arraycopy/Android.bp
+++ b/test/537-checker-arraycopy/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-537-checker-arraycopy-expected-stdout"],
+    data: [
+        ":art-run-test-537-checker-arraycopy-expected-stdout",
+        ":art-run-test-537-checker-arraycopy-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-537-checker-arraycopy-expected-stdout",
     out: ["art-run-test-537-checker-arraycopy-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-537-checker-arraycopy-expected-stderr",
+    out: ["art-run-test-537-checker-arraycopy-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/537-checker-arraycopy/expected-stderr.txt b/test/537-checker-arraycopy/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/537-checker-arraycopy/expected-stderr.txt
diff --git a/test/537-checker-debuggable/expected-stderr.txt b/test/537-checker-debuggable/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/537-checker-debuggable/expected-stderr.txt
diff --git a/test/537-checker-inline-and-unverified/expected-stderr.txt b/test/537-checker-inline-and-unverified/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/537-checker-inline-and-unverified/expected-stderr.txt
diff --git a/test/537-checker-jump-over-jump/Android.bp b/test/537-checker-jump-over-jump/Android.bp
index 6ab9bb5..6a4ef9a 100644
--- a/test/537-checker-jump-over-jump/Android.bp
+++ b/test/537-checker-jump-over-jump/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-537-checker-jump-over-jump-expected-stdout"],
+    data: [
+        ":art-run-test-537-checker-jump-over-jump-expected-stdout",
+        ":art-run-test-537-checker-jump-over-jump-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-537-checker-jump-over-jump-expected-stdout",
     out: ["art-run-test-537-checker-jump-over-jump-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-537-checker-jump-over-jump-expected-stderr",
+    out: ["art-run-test-537-checker-jump-over-jump-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/537-checker-jump-over-jump/expected-stderr.txt b/test/537-checker-jump-over-jump/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/537-checker-jump-over-jump/expected-stderr.txt
diff --git a/test/538-checker-embed-constants/Android.bp b/test/538-checker-embed-constants/Android.bp
index 97be862..8c23e53 100644
--- a/test/538-checker-embed-constants/Android.bp
+++ b/test/538-checker-embed-constants/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-538-checker-embed-constants-expected-stdout"],
+    data: [
+        ":art-run-test-538-checker-embed-constants-expected-stdout",
+        ":art-run-test-538-checker-embed-constants-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-538-checker-embed-constants-expected-stdout",
     out: ["art-run-test-538-checker-embed-constants-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-538-checker-embed-constants-expected-stderr",
+    out: ["art-run-test-538-checker-embed-constants-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/538-checker-embed-constants/expected-stderr.txt b/test/538-checker-embed-constants/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/538-checker-embed-constants/expected-stderr.txt
diff --git a/test/540-checker-rtp-bug/Android.bp b/test/540-checker-rtp-bug/Android.bp
index 34b4550..6c9ef1e 100644
--- a/test/540-checker-rtp-bug/Android.bp
+++ b/test/540-checker-rtp-bug/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-540-checker-rtp-bug-expected-stdout"],
+    data: [
+        ":art-run-test-540-checker-rtp-bug-expected-stdout",
+        ":art-run-test-540-checker-rtp-bug-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-540-checker-rtp-bug-expected-stdout",
     out: ["art-run-test-540-checker-rtp-bug-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-540-checker-rtp-bug-expected-stderr",
+    out: ["art-run-test-540-checker-rtp-bug-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/540-checker-rtp-bug/expected-stderr.txt b/test/540-checker-rtp-bug/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/540-checker-rtp-bug/expected-stderr.txt
diff --git a/test/541-regression-inlined-deopt/expected-stderr.txt b/test/541-regression-inlined-deopt/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/541-regression-inlined-deopt/expected-stderr.txt
diff --git a/test/542-bitfield-rotates/Android.bp b/test/542-bitfield-rotates/Android.bp
index c0f22fc..80d8572 100644
--- a/test/542-bitfield-rotates/Android.bp
+++ b/test/542-bitfield-rotates/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-542-bitfield-rotates-expected-stdout"],
+    data: [
+        ":art-run-test-542-bitfield-rotates-expected-stdout",
+        ":art-run-test-542-bitfield-rotates-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-542-bitfield-rotates-expected-stdout",
     out: ["art-run-test-542-bitfield-rotates-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-542-bitfield-rotates-expected-stderr",
+    out: ["art-run-test-542-bitfield-rotates-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/542-bitfield-rotates/expected-stderr.txt b/test/542-bitfield-rotates/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/542-bitfield-rotates/expected-stderr.txt
diff --git a/test/542-inline-trycatch/Android.bp b/test/542-inline-trycatch/Android.bp
index a87d1da..82e2873 100644
--- a/test/542-inline-trycatch/Android.bp
+++ b/test/542-inline-trycatch/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-542-inline-trycatch-expected-stdout"],
+    data: [
+        ":art-run-test-542-inline-trycatch-expected-stdout",
+        ":art-run-test-542-inline-trycatch-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-542-inline-trycatch-expected-stdout",
     out: ["art-run-test-542-inline-trycatch-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-542-inline-trycatch-expected-stderr",
+    out: ["art-run-test-542-inline-trycatch-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/542-inline-trycatch/expected-stderr.txt b/test/542-inline-trycatch/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/542-inline-trycatch/expected-stderr.txt
diff --git a/test/542-unresolved-access-check/Android.bp b/test/542-unresolved-access-check/Android.bp
index 8fcc49d..89bf854 100644
--- a/test/542-unresolved-access-check/Android.bp
+++ b/test/542-unresolved-access-check/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-542-unresolved-access-check-expected-stdout"],
+    data: [
+        ":art-run-test-542-unresolved-access-check-expected-stdout",
+        ":art-run-test-542-unresolved-access-check-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-542-unresolved-access-check-expected-stdout",
     out: ["art-run-test-542-unresolved-access-check-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-542-unresolved-access-check-expected-stderr",
+    out: ["art-run-test-542-unresolved-access-check-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/542-unresolved-access-check/expected-stderr.txt b/test/542-unresolved-access-check/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/542-unresolved-access-check/expected-stderr.txt
diff --git a/test/543-checker-dce-trycatch/expected-stderr.txt b/test/543-checker-dce-trycatch/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/543-checker-dce-trycatch/expected-stderr.txt
diff --git a/test/543-env-long-ref/expected-stderr.txt b/test/543-env-long-ref/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/543-env-long-ref/expected-stderr.txt
diff --git a/test/545-tracing-and-jit/Android.bp b/test/545-tracing-and-jit/Android.bp
index 378459f..252fe88 100644
--- a/test/545-tracing-and-jit/Android.bp
+++ b/test/545-tracing-and-jit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-545-tracing-and-jit-expected-stdout"],
+    data: [
+        ":art-run-test-545-tracing-and-jit-expected-stdout",
+        ":art-run-test-545-tracing-and-jit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-545-tracing-and-jit-expected-stdout",
     out: ["art-run-test-545-tracing-and-jit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-545-tracing-and-jit-expected-stderr",
+    out: ["art-run-test-545-tracing-and-jit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/545-tracing-and-jit/expected-stderr.txt b/test/545-tracing-and-jit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/545-tracing-and-jit/expected-stderr.txt
diff --git a/test/546-regression-simplify-catch/expected-stderr.txt b/test/546-regression-simplify-catch/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/546-regression-simplify-catch/expected-stderr.txt
diff --git a/test/547-regression-trycatch-critic-edge/expected-stderr.txt b/test/547-regression-trycatch-critic-edge/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/547-regression-trycatch-critic-edge/expected-stderr.txt
diff --git a/test/548-checker-inlining-and-dce/Android.bp b/test/548-checker-inlining-and-dce/Android.bp
index 66fa5a9..46dd3b9 100644
--- a/test/548-checker-inlining-and-dce/Android.bp
+++ b/test/548-checker-inlining-and-dce/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-548-checker-inlining-and-dce-expected-stdout"],
+    data: [
+        ":art-run-test-548-checker-inlining-and-dce-expected-stdout",
+        ":art-run-test-548-checker-inlining-and-dce-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-548-checker-inlining-and-dce-expected-stdout",
     out: ["art-run-test-548-checker-inlining-and-dce-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-548-checker-inlining-and-dce-expected-stderr",
+    out: ["art-run-test-548-checker-inlining-and-dce-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/548-checker-inlining-and-dce/expected-stderr.txt b/test/548-checker-inlining-and-dce/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/548-checker-inlining-and-dce/expected-stderr.txt
diff --git a/test/549-checker-types-merge/Android.bp b/test/549-checker-types-merge/Android.bp
index 7673fb5..9ca0f0b 100644
--- a/test/549-checker-types-merge/Android.bp
+++ b/test/549-checker-types-merge/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-549-checker-types-merge-expected-stdout"],
+    data: [
+        ":art-run-test-549-checker-types-merge-expected-stdout",
+        ":art-run-test-549-checker-types-merge-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-549-checker-types-merge-expected-stdout",
     out: ["art-run-test-549-checker-types-merge-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-549-checker-types-merge-expected-stderr",
+    out: ["art-run-test-549-checker-types-merge-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/549-checker-types-merge/expected-stderr.txt b/test/549-checker-types-merge/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/549-checker-types-merge/expected-stderr.txt
diff --git a/test/550-checker-multiply-accumulate/Android.bp b/test/550-checker-multiply-accumulate/Android.bp
index 149872c..666726f 100644
--- a/test/550-checker-multiply-accumulate/Android.bp
+++ b/test/550-checker-multiply-accumulate/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-550-checker-multiply-accumulate-expected-stdout"],
+    data: [
+        ":art-run-test-550-checker-multiply-accumulate-expected-stdout",
+        ":art-run-test-550-checker-multiply-accumulate-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-550-checker-multiply-accumulate-expected-stdout",
     out: ["art-run-test-550-checker-multiply-accumulate-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-550-checker-multiply-accumulate-expected-stderr",
+    out: ["art-run-test-550-checker-multiply-accumulate-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/550-checker-multiply-accumulate/expected-stderr.txt b/test/550-checker-multiply-accumulate/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/550-checker-multiply-accumulate/expected-stderr.txt
diff --git a/test/550-checker-regression-wide-store/expected-stderr.txt b/test/550-checker-regression-wide-store/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/550-checker-regression-wide-store/expected-stderr.txt
diff --git a/test/550-new-instance-clinit/Android.bp b/test/550-new-instance-clinit/Android.bp
index edd6bbe..a5c8be8 100644
--- a/test/550-new-instance-clinit/Android.bp
+++ b/test/550-new-instance-clinit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-550-new-instance-clinit-expected-stdout"],
+    data: [
+        ":art-run-test-550-new-instance-clinit-expected-stdout",
+        ":art-run-test-550-new-instance-clinit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-550-new-instance-clinit-expected-stdout",
     out: ["art-run-test-550-new-instance-clinit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-550-new-instance-clinit-expected-stderr",
+    out: ["art-run-test-550-new-instance-clinit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/550-new-instance-clinit/expected-stderr.txt b/test/550-new-instance-clinit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/550-new-instance-clinit/expected-stderr.txt
diff --git a/test/551-checker-clinit/Android.bp b/test/551-checker-clinit/Android.bp
index 14ec30e..ba5bcbe 100644
--- a/test/551-checker-clinit/Android.bp
+++ b/test/551-checker-clinit/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-551-checker-clinit-expected-stdout"],
+    data: [
+        ":art-run-test-551-checker-clinit-expected-stdout",
+        ":art-run-test-551-checker-clinit-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-551-checker-clinit-expected-stdout",
     out: ["art-run-test-551-checker-clinit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-551-checker-clinit-expected-stderr",
+    out: ["art-run-test-551-checker-clinit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/551-checker-clinit/expected-stderr.txt b/test/551-checker-clinit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/551-checker-clinit/expected-stderr.txt
diff --git a/test/551-checker-shifter-operand/Android.bp b/test/551-checker-shifter-operand/Android.bp
index a68f861..14f4971 100644
--- a/test/551-checker-shifter-operand/Android.bp
+++ b/test/551-checker-shifter-operand/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-551-checker-shifter-operand-expected-stdout"],
+    data: [
+        ":art-run-test-551-checker-shifter-operand-expected-stdout",
+        ":art-run-test-551-checker-shifter-operand-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-551-checker-shifter-operand-expected-stdout",
     out: ["art-run-test-551-checker-shifter-operand-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-551-checker-shifter-operand-expected-stderr",
+    out: ["art-run-test-551-checker-shifter-operand-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/551-checker-shifter-operand/expected-stderr.txt b/test/551-checker-shifter-operand/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/551-checker-shifter-operand/expected-stderr.txt
diff --git a/test/551-implicit-null-checks/Android.bp b/test/551-implicit-null-checks/Android.bp
index 48e3ffe..b5066fc 100644
--- a/test/551-implicit-null-checks/Android.bp
+++ b/test/551-implicit-null-checks/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-551-implicit-null-checks-expected-stdout"],
+    data: [
+        ":art-run-test-551-implicit-null-checks-expected-stdout",
+        ":art-run-test-551-implicit-null-checks-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-551-implicit-null-checks-expected-stdout",
     out: ["art-run-test-551-implicit-null-checks-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-551-implicit-null-checks-expected-stderr",
+    out: ["art-run-test-551-implicit-null-checks-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/551-implicit-null-checks/expected-stderr.txt b/test/551-implicit-null-checks/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/551-implicit-null-checks/expected-stderr.txt
diff --git a/test/551-invoke-super/expected-stderr.txt b/test/551-invoke-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/551-invoke-super/expected-stderr.txt
diff --git a/test/552-checker-primitive-typeprop/expected-stderr.txt b/test/552-checker-primitive-typeprop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/552-checker-primitive-typeprop/expected-stderr.txt
diff --git a/test/552-checker-sharpening/Android.bp b/test/552-checker-sharpening/Android.bp
index 66658ec..ffdf971 100644
--- a/test/552-checker-sharpening/Android.bp
+++ b/test/552-checker-sharpening/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-552-checker-sharpening-expected-stdout"],
+    data: [
+        ":art-run-test-552-checker-sharpening-expected-stdout",
+        ":art-run-test-552-checker-sharpening-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-552-checker-sharpening-expected-stdout",
     out: ["art-run-test-552-checker-sharpening-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-552-checker-sharpening-expected-stderr",
+    out: ["art-run-test-552-checker-sharpening-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/552-checker-sharpening/expected-stderr.txt b/test/552-checker-sharpening/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/552-checker-sharpening/expected-stderr.txt
diff --git a/test/552-checker-x86-avx2-bit-manipulation/Android.bp b/test/552-checker-x86-avx2-bit-manipulation/Android.bp
index dc7f092..7d49a89 100644
--- a/test/552-checker-x86-avx2-bit-manipulation/Android.bp
+++ b/test/552-checker-x86-avx2-bit-manipulation/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-552-checker-x86-avx2-bit-manipulation-expected-stdout"],
+    data: [
+        ":art-run-test-552-checker-x86-avx2-bit-manipulation-expected-stdout",
+        ":art-run-test-552-checker-x86-avx2-bit-manipulation-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-552-checker-x86-avx2-bit-manipulation-expected-stdout",
     out: ["art-run-test-552-checker-x86-avx2-bit-manipulation-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-552-checker-x86-avx2-bit-manipulation-expected-stderr",
+    out: ["art-run-test-552-checker-x86-avx2-bit-manipulation-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/552-checker-x86-avx2-bit-manipulation/expected-stderr.txt b/test/552-checker-x86-avx2-bit-manipulation/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/552-checker-x86-avx2-bit-manipulation/expected-stderr.txt
diff --git a/test/552-invoke-non-existent-super/expected-stderr.txt b/test/552-invoke-non-existent-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/552-invoke-non-existent-super/expected-stderr.txt
diff --git a/test/553-invoke-super/expected-stderr.txt b/test/553-invoke-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/553-invoke-super/expected-stderr.txt
diff --git a/test/554-checker-rtp-checkcast/Android.bp b/test/554-checker-rtp-checkcast/Android.bp
index 49038fb..c3fc3cc 100644
--- a/test/554-checker-rtp-checkcast/Android.bp
+++ b/test/554-checker-rtp-checkcast/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-554-checker-rtp-checkcast-expected-stdout"],
+    data: [
+        ":art-run-test-554-checker-rtp-checkcast-expected-stdout",
+        ":art-run-test-554-checker-rtp-checkcast-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-554-checker-rtp-checkcast-expected-stdout",
     out: ["art-run-test-554-checker-rtp-checkcast-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-554-checker-rtp-checkcast-expected-stderr",
+    out: ["art-run-test-554-checker-rtp-checkcast-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/554-checker-rtp-checkcast/expected-stderr.txt b/test/554-checker-rtp-checkcast/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/554-checker-rtp-checkcast/expected-stderr.txt
diff --git a/test/555-UnsafeGetLong-regression/Android.bp b/test/555-UnsafeGetLong-regression/Android.bp
index 89072af..979d37f 100644
--- a/test/555-UnsafeGetLong-regression/Android.bp
+++ b/test/555-UnsafeGetLong-regression/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-555-UnsafeGetLong-regression-expected-stdout"],
+    data: [
+        ":art-run-test-555-UnsafeGetLong-regression-expected-stdout",
+        ":art-run-test-555-UnsafeGetLong-regression-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-555-UnsafeGetLong-regression-expected-stdout",
     out: ["art-run-test-555-UnsafeGetLong-regression-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-555-UnsafeGetLong-regression-expected-stderr",
+    out: ["art-run-test-555-UnsafeGetLong-regression-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/555-UnsafeGetLong-regression/expected-stderr.txt b/test/555-UnsafeGetLong-regression/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/555-UnsafeGetLong-regression/expected-stderr.txt
diff --git a/test/556-invoke-super/expected-stderr.txt b/test/556-invoke-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/556-invoke-super/expected-stderr.txt
diff --git a/test/557-checker-instruct-simplifier-ror/Android.bp b/test/557-checker-instruct-simplifier-ror/Android.bp
index 24b3747..1e19570 100644
--- a/test/557-checker-instruct-simplifier-ror/Android.bp
+++ b/test/557-checker-instruct-simplifier-ror/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-557-checker-instruct-simplifier-ror-expected-stdout"],
+    data: [
+        ":art-run-test-557-checker-instruct-simplifier-ror-expected-stdout",
+        ":art-run-test-557-checker-instruct-simplifier-ror-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-557-checker-instruct-simplifier-ror-expected-stdout",
     out: ["art-run-test-557-checker-instruct-simplifier-ror-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-557-checker-instruct-simplifier-ror-expected-stderr",
+    out: ["art-run-test-557-checker-instruct-simplifier-ror-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/557-checker-instruct-simplifier-ror/expected-stderr.txt b/test/557-checker-instruct-simplifier-ror/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/557-checker-instruct-simplifier-ror/expected-stderr.txt
diff --git a/test/557-checker-ref-equivalent/expected-stderr.txt b/test/557-checker-ref-equivalent/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/557-checker-ref-equivalent/expected-stderr.txt
diff --git a/test/558-switch/Android.bp b/test/558-switch/Android.bp
index 2bcacb0..88289f2 100644
--- a/test/558-switch/Android.bp
+++ b/test/558-switch/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-558-switch-expected-stdout"],
+    data: [
+        ":art-run-test-558-switch-expected-stdout",
+        ":art-run-test-558-switch-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-558-switch-expected-stdout",
     out: ["art-run-test-558-switch-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-558-switch-expected-stderr",
+    out: ["art-run-test-558-switch-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/558-switch/expected-stderr.txt b/test/558-switch/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/558-switch/expected-stderr.txt
diff --git a/test/559-bce-ssa/Android.bp b/test/559-bce-ssa/Android.bp
index 3921fbf..f11ac32 100644
--- a/test/559-bce-ssa/Android.bp
+++ b/test/559-bce-ssa/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-559-bce-ssa-expected-stdout"],
+    data: [
+        ":art-run-test-559-bce-ssa-expected-stdout",
+        ":art-run-test-559-bce-ssa-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-559-bce-ssa-expected-stdout",
     out: ["art-run-test-559-bce-ssa-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-559-bce-ssa-expected-stderr",
+    out: ["art-run-test-559-bce-ssa-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/559-bce-ssa/expected-stderr.txt b/test/559-bce-ssa/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/559-bce-ssa/expected-stderr.txt
diff --git a/test/559-checker-irreducible-loop/expected-stderr.txt b/test/559-checker-irreducible-loop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/559-checker-irreducible-loop/expected-stderr.txt
diff --git a/test/559-checker-rtp-ifnotnull/Android.bp b/test/559-checker-rtp-ifnotnull/Android.bp
index 7a61169..a23d57e 100644
--- a/test/559-checker-rtp-ifnotnull/Android.bp
+++ b/test/559-checker-rtp-ifnotnull/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-559-checker-rtp-ifnotnull-expected-stdout"],
+    data: [
+        ":art-run-test-559-checker-rtp-ifnotnull-expected-stdout",
+        ":art-run-test-559-checker-rtp-ifnotnull-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-559-checker-rtp-ifnotnull-expected-stdout",
     out: ["art-run-test-559-checker-rtp-ifnotnull-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-559-checker-rtp-ifnotnull-expected-stderr",
+    out: ["art-run-test-559-checker-rtp-ifnotnull-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/559-checker-rtp-ifnotnull/expected-stderr.txt b/test/559-checker-rtp-ifnotnull/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/559-checker-rtp-ifnotnull/expected-stderr.txt
diff --git a/test/560-packed-switch/Android.bp b/test/560-packed-switch/Android.bp
index 125535e..62ff581 100644
--- a/test/560-packed-switch/Android.bp
+++ b/test/560-packed-switch/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-560-packed-switch-expected-stdout"],
+    data: [
+        ":art-run-test-560-packed-switch-expected-stdout",
+        ":art-run-test-560-packed-switch-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-560-packed-switch-expected-stdout",
     out: ["art-run-test-560-packed-switch-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-560-packed-switch-expected-stderr",
+    out: ["art-run-test-560-packed-switch-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/560-packed-switch/expected-stderr.txt b/test/560-packed-switch/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/560-packed-switch/expected-stderr.txt
diff --git a/test/561-divrem/Android.bp b/test/561-divrem/Android.bp
index 9555807..42f58c1 100644
--- a/test/561-divrem/Android.bp
+++ b/test/561-divrem/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-561-divrem-expected-stdout"],
+    data: [
+        ":art-run-test-561-divrem-expected-stdout",
+        ":art-run-test-561-divrem-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-561-divrem-expected-stdout",
     out: ["art-run-test-561-divrem-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-561-divrem-expected-stderr",
+    out: ["art-run-test-561-divrem-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/561-divrem/expected-stderr.txt b/test/561-divrem/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/561-divrem/expected-stderr.txt
diff --git a/test/561-shared-slowpaths/Android.bp b/test/561-shared-slowpaths/Android.bp
index b0029cd..ea18822 100644
--- a/test/561-shared-slowpaths/Android.bp
+++ b/test/561-shared-slowpaths/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-561-shared-slowpaths-expected-stdout"],
+    data: [
+        ":art-run-test-561-shared-slowpaths-expected-stdout",
+        ":art-run-test-561-shared-slowpaths-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-561-shared-slowpaths-expected-stdout",
     out: ["art-run-test-561-shared-slowpaths-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-561-shared-slowpaths-expected-stderr",
+    out: ["art-run-test-561-shared-slowpaths-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/561-shared-slowpaths/expected-stderr.txt b/test/561-shared-slowpaths/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/561-shared-slowpaths/expected-stderr.txt
diff --git a/test/562-bce-preheader/Android.bp b/test/562-bce-preheader/Android.bp
index dd129ab..a1a4361 100644
--- a/test/562-bce-preheader/Android.bp
+++ b/test/562-bce-preheader/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-562-bce-preheader-expected-stdout"],
+    data: [
+        ":art-run-test-562-bce-preheader-expected-stdout",
+        ":art-run-test-562-bce-preheader-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-562-bce-preheader-expected-stdout",
     out: ["art-run-test-562-bce-preheader-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-562-bce-preheader-expected-stderr",
+    out: ["art-run-test-562-bce-preheader-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/562-bce-preheader/expected-stderr.txt b/test/562-bce-preheader/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/562-bce-preheader/expected-stderr.txt
diff --git a/test/562-checker-no-intermediate/Android.bp b/test/562-checker-no-intermediate/Android.bp
index bf68dcb..2f009c2 100644
--- a/test/562-checker-no-intermediate/Android.bp
+++ b/test/562-checker-no-intermediate/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-562-checker-no-intermediate-expected-stdout"],
+    data: [
+        ":art-run-test-562-checker-no-intermediate-expected-stdout",
+        ":art-run-test-562-checker-no-intermediate-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-562-checker-no-intermediate-expected-stdout",
     out: ["art-run-test-562-checker-no-intermediate-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-562-checker-no-intermediate-expected-stderr",
+    out: ["art-run-test-562-checker-no-intermediate-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/562-checker-no-intermediate/expected-stderr.txt b/test/562-checker-no-intermediate/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/562-checker-no-intermediate/expected-stderr.txt
diff --git a/test/563-checker-fakestring/expected-stderr.txt b/test/563-checker-fakestring/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/563-checker-fakestring/expected-stderr.txt
diff --git a/test/563-checker-invoke-super/Android.bp b/test/563-checker-invoke-super/Android.bp
index ff38836..34ecdfe 100644
--- a/test/563-checker-invoke-super/Android.bp
+++ b/test/563-checker-invoke-super/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-563-checker-invoke-super-expected-stdout"],
+    data: [
+        ":art-run-test-563-checker-invoke-super-expected-stdout",
+        ":art-run-test-563-checker-invoke-super-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-563-checker-invoke-super-expected-stdout",
     out: ["art-run-test-563-checker-invoke-super-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-563-checker-invoke-super-expected-stderr",
+    out: ["art-run-test-563-checker-invoke-super-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/563-checker-invoke-super/expected-stderr.txt b/test/563-checker-invoke-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/563-checker-invoke-super/expected-stderr.txt
diff --git a/test/564-checker-bitcount/Android.bp b/test/564-checker-bitcount/Android.bp
index 0dad882..8f1e9d9 100644
--- a/test/564-checker-bitcount/Android.bp
+++ b/test/564-checker-bitcount/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-564-checker-bitcount-expected-stdout"],
+    data: [
+        ":art-run-test-564-checker-bitcount-expected-stdout",
+        ":art-run-test-564-checker-bitcount-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-564-checker-bitcount-expected-stdout",
     out: ["art-run-test-564-checker-bitcount-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-564-checker-bitcount-expected-stderr",
+    out: ["art-run-test-564-checker-bitcount-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/564-checker-bitcount/expected-stderr.txt b/test/564-checker-bitcount/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/564-checker-bitcount/expected-stderr.txt
diff --git a/test/564-checker-inline-loop/Android.bp b/test/564-checker-inline-loop/Android.bp
index 1b0a377..6cc6189 100644
--- a/test/564-checker-inline-loop/Android.bp
+++ b/test/564-checker-inline-loop/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-564-checker-inline-loop-expected-stdout"],
+    data: [
+        ":art-run-test-564-checker-inline-loop-expected-stdout",
+        ":art-run-test-564-checker-inline-loop-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-564-checker-inline-loop-expected-stdout",
     out: ["art-run-test-564-checker-inline-loop-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-564-checker-inline-loop-expected-stderr",
+    out: ["art-run-test-564-checker-inline-loop-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/564-checker-inline-loop/expected-stderr.txt b/test/564-checker-inline-loop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/564-checker-inline-loop/expected-stderr.txt
diff --git a/test/564-checker-irreducible-loop/expected-stderr.txt b/test/564-checker-irreducible-loop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/564-checker-irreducible-loop/expected-stderr.txt
diff --git a/test/564-checker-negbitwise/Android.bp b/test/564-checker-negbitwise/Android.bp
index 55749ee..45247eb 100644
--- a/test/564-checker-negbitwise/Android.bp
+++ b/test/564-checker-negbitwise/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-564-checker-negbitwise-expected-stdout"],
+    data: [
+        ":art-run-test-564-checker-negbitwise-expected-stdout",
+        ":art-run-test-564-checker-negbitwise-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-564-checker-negbitwise-expected-stdout",
     out: ["art-run-test-564-checker-negbitwise-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-564-checker-negbitwise-expected-stderr",
+    out: ["art-run-test-564-checker-negbitwise-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/564-checker-negbitwise/expected-stderr.txt b/test/564-checker-negbitwise/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/564-checker-negbitwise/expected-stderr.txt
diff --git a/test/565-checker-condition-liveness/Android.bp b/test/565-checker-condition-liveness/Android.bp
index 1d1c0ee..f71fd9b 100644
--- a/test/565-checker-condition-liveness/Android.bp
+++ b/test/565-checker-condition-liveness/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-565-checker-condition-liveness-expected-stdout"],
+    data: [
+        ":art-run-test-565-checker-condition-liveness-expected-stdout",
+        ":art-run-test-565-checker-condition-liveness-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-565-checker-condition-liveness-expected-stdout",
     out: ["art-run-test-565-checker-condition-liveness-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-565-checker-condition-liveness-expected-stderr",
+    out: ["art-run-test-565-checker-condition-liveness-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/565-checker-condition-liveness/expected-stderr.txt b/test/565-checker-condition-liveness/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/565-checker-condition-liveness/expected-stderr.txt
diff --git a/test/565-checker-doublenegbitwise/expected-stderr.txt b/test/565-checker-doublenegbitwise/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/565-checker-doublenegbitwise/expected-stderr.txt
diff --git a/test/565-checker-irreducible-loop/expected-stderr.txt b/test/565-checker-irreducible-loop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/565-checker-irreducible-loop/expected-stderr.txt
diff --git a/test/566-checker-codegen-select/Android.bp b/test/566-checker-codegen-select/Android.bp
index 1bd641e..aad559f 100644
--- a/test/566-checker-codegen-select/Android.bp
+++ b/test/566-checker-codegen-select/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-566-checker-codegen-select-expected-stdout"],
+    data: [
+        ":art-run-test-566-checker-codegen-select-expected-stdout",
+        ":art-run-test-566-checker-codegen-select-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-566-checker-codegen-select-expected-stdout",
     out: ["art-run-test-566-checker-codegen-select-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-566-checker-codegen-select-expected-stderr",
+    out: ["art-run-test-566-checker-codegen-select-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/566-checker-codegen-select/expected-stderr.txt b/test/566-checker-codegen-select/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/566-checker-codegen-select/expected-stderr.txt
diff --git a/test/566-polymorphic-inlining/Android.bp b/test/566-polymorphic-inlining/Android.bp
index 0c118af..eb5d3b2 100644
--- a/test/566-polymorphic-inlining/Android.bp
+++ b/test/566-polymorphic-inlining/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-566-polymorphic-inlining-expected-stdout"],
+    data: [
+        ":art-run-test-566-polymorphic-inlining-expected-stdout",
+        ":art-run-test-566-polymorphic-inlining-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-566-polymorphic-inlining-expected-stdout",
     out: ["art-run-test-566-polymorphic-inlining-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-566-polymorphic-inlining-expected-stderr",
+    out: ["art-run-test-566-polymorphic-inlining-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/566-polymorphic-inlining/expected-stderr.txt b/test/566-polymorphic-inlining/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/566-polymorphic-inlining/expected-stderr.txt
diff --git a/test/567-checker-builder-intrinsics/Android.bp b/test/567-checker-builder-intrinsics/Android.bp
index 7a2c01d..bc2ca9e 100644
--- a/test/567-checker-builder-intrinsics/Android.bp
+++ b/test/567-checker-builder-intrinsics/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-567-checker-builder-intrinsics-expected-stdout"],
+    data: [
+        ":art-run-test-567-checker-builder-intrinsics-expected-stdout",
+        ":art-run-test-567-checker-builder-intrinsics-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-567-checker-builder-intrinsics-expected-stdout",
     out: ["art-run-test-567-checker-builder-intrinsics-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-567-checker-builder-intrinsics-expected-stderr",
+    out: ["art-run-test-567-checker-builder-intrinsics-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/567-checker-builder-intrinsics/expected-stderr.txt b/test/567-checker-builder-intrinsics/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/567-checker-builder-intrinsics/expected-stderr.txt
diff --git a/test/568-checker-onebit/Android.bp b/test/568-checker-onebit/Android.bp
index 87b95a7..d2d615d 100644
--- a/test/568-checker-onebit/Android.bp
+++ b/test/568-checker-onebit/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-568-checker-onebit-expected-stdout"],
+    data: [
+        ":art-run-test-568-checker-onebit-expected-stdout",
+        ":art-run-test-568-checker-onebit-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-568-checker-onebit-expected-stdout",
     out: ["art-run-test-568-checker-onebit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-568-checker-onebit-expected-stderr",
+    out: ["art-run-test-568-checker-onebit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/568-checker-onebit/expected-stderr.txt b/test/568-checker-onebit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/568-checker-onebit/expected-stderr.txt
diff --git a/test/569-checker-pattern-replacement/expected-stderr.txt b/test/569-checker-pattern-replacement/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/569-checker-pattern-replacement/expected-stderr.txt
diff --git a/test/570-checker-osr-locals/expected-stderr.txt b/test/570-checker-osr-locals/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/570-checker-osr-locals/expected-stderr.txt
diff --git a/test/570-checker-osr/expected-stderr.txt b/test/570-checker-osr/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/570-checker-osr/expected-stderr.txt
diff --git a/test/570-checker-select/Android.bp b/test/570-checker-select/Android.bp
index 0c1bbf9..9a51570 100644
--- a/test/570-checker-select/Android.bp
+++ b/test/570-checker-select/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-570-checker-select-expected-stdout"],
+    data: [
+        ":art-run-test-570-checker-select-expected-stdout",
+        ":art-run-test-570-checker-select-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-570-checker-select-expected-stdout",
     out: ["art-run-test-570-checker-select-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-570-checker-select-expected-stderr",
+    out: ["art-run-test-570-checker-select-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/570-checker-select/expected-stderr.txt b/test/570-checker-select/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/570-checker-select/expected-stderr.txt
diff --git a/test/571-irreducible-loop/expected-stderr.txt b/test/571-irreducible-loop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/571-irreducible-loop/expected-stderr.txt
diff --git a/test/572-checker-array-get-regression/Android.bp b/test/572-checker-array-get-regression/Android.bp
index e6564d5..bbd6107 100644
--- a/test/572-checker-array-get-regression/Android.bp
+++ b/test/572-checker-array-get-regression/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-572-checker-array-get-regression-expected-stdout"],
+    data: [
+        ":art-run-test-572-checker-array-get-regression-expected-stdout",
+        ":art-run-test-572-checker-array-get-regression-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-572-checker-array-get-regression-expected-stdout",
     out: ["art-run-test-572-checker-array-get-regression-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-572-checker-array-get-regression-expected-stderr",
+    out: ["art-run-test-572-checker-array-get-regression-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/572-checker-array-get-regression/expected-stderr.txt b/test/572-checker-array-get-regression/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/572-checker-array-get-regression/expected-stderr.txt
diff --git a/test/573-checker-checkcast-regression/Android.bp b/test/573-checker-checkcast-regression/Android.bp
index 61ea46e..3aa4ab8 100644
--- a/test/573-checker-checkcast-regression/Android.bp
+++ b/test/573-checker-checkcast-regression/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-573-checker-checkcast-regression-expected-stdout"],
+    data: [
+        ":art-run-test-573-checker-checkcast-regression-expected-stdout",
+        ":art-run-test-573-checker-checkcast-regression-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-573-checker-checkcast-regression-expected-stdout",
     out: ["art-run-test-573-checker-checkcast-regression-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-573-checker-checkcast-regression-expected-stderr",
+    out: ["art-run-test-573-checker-checkcast-regression-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/573-checker-checkcast-regression/expected-stderr.txt b/test/573-checker-checkcast-regression/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/573-checker-checkcast-regression/expected-stderr.txt
diff --git a/test/574-irreducible-and-constant-area/expected-stderr.txt b/test/574-irreducible-and-constant-area/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/574-irreducible-and-constant-area/expected-stderr.txt
diff --git a/test/575-checker-string-init-alias/expected-stderr.txt b/test/575-checker-string-init-alias/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/575-checker-string-init-alias/expected-stderr.txt
diff --git a/test/576-polymorphic-inlining/Android.bp b/test/576-polymorphic-inlining/Android.bp
index cfeff29..2f59800 100644
--- a/test/576-polymorphic-inlining/Android.bp
+++ b/test/576-polymorphic-inlining/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-576-polymorphic-inlining-expected-stdout"],
+    data: [
+        ":art-run-test-576-polymorphic-inlining-expected-stdout",
+        ":art-run-test-576-polymorphic-inlining-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-576-polymorphic-inlining-expected-stdout",
     out: ["art-run-test-576-polymorphic-inlining-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-576-polymorphic-inlining-expected-stderr",
+    out: ["art-run-test-576-polymorphic-inlining-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/576-polymorphic-inlining/expected-stderr.txt b/test/576-polymorphic-inlining/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/576-polymorphic-inlining/expected-stderr.txt
diff --git a/test/577-checker-fp2int/Android.bp b/test/577-checker-fp2int/Android.bp
index a9f9acb..109aa8a 100644
--- a/test/577-checker-fp2int/Android.bp
+++ b/test/577-checker-fp2int/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-577-checker-fp2int-expected-stdout"],
+    data: [
+        ":art-run-test-577-checker-fp2int-expected-stdout",
+        ":art-run-test-577-checker-fp2int-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-577-checker-fp2int-expected-stdout",
     out: ["art-run-test-577-checker-fp2int-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-577-checker-fp2int-expected-stderr",
+    out: ["art-run-test-577-checker-fp2int-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/577-checker-fp2int/expected-stderr.txt b/test/577-checker-fp2int/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/577-checker-fp2int/expected-stderr.txt
diff --git a/test/578-bce-visit/Android.bp b/test/578-bce-visit/Android.bp
index bcb81c3..8580c39 100644
--- a/test/578-bce-visit/Android.bp
+++ b/test/578-bce-visit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-578-bce-visit-expected-stdout"],
+    data: [
+        ":art-run-test-578-bce-visit-expected-stdout",
+        ":art-run-test-578-bce-visit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-578-bce-visit-expected-stdout",
     out: ["art-run-test-578-bce-visit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-578-bce-visit-expected-stderr",
+    out: ["art-run-test-578-bce-visit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/578-bce-visit/expected-stderr.txt b/test/578-bce-visit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/578-bce-visit/expected-stderr.txt
diff --git a/test/578-polymorphic-inlining/Android.bp b/test/578-polymorphic-inlining/Android.bp
index b8bed4c..3b9dda7 100644
--- a/test/578-polymorphic-inlining/Android.bp
+++ b/test/578-polymorphic-inlining/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-578-polymorphic-inlining-expected-stdout"],
+    data: [
+        ":art-run-test-578-polymorphic-inlining-expected-stdout",
+        ":art-run-test-578-polymorphic-inlining-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-578-polymorphic-inlining-expected-stdout",
     out: ["art-run-test-578-polymorphic-inlining-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-578-polymorphic-inlining-expected-stderr",
+    out: ["art-run-test-578-polymorphic-inlining-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/578-polymorphic-inlining/expected-stderr.txt b/test/578-polymorphic-inlining/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/578-polymorphic-inlining/expected-stderr.txt
diff --git a/test/579-inline-infinite/Android.bp b/test/579-inline-infinite/Android.bp
index f31f06e..d0c10b4 100644
--- a/test/579-inline-infinite/Android.bp
+++ b/test/579-inline-infinite/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-579-inline-infinite-expected-stdout"],
+    data: [
+        ":art-run-test-579-inline-infinite-expected-stdout",
+        ":art-run-test-579-inline-infinite-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-579-inline-infinite-expected-stdout",
     out: ["art-run-test-579-inline-infinite-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-579-inline-infinite-expected-stderr",
+    out: ["art-run-test-579-inline-infinite-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/579-inline-infinite/expected-stderr.txt b/test/579-inline-infinite/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/579-inline-infinite/expected-stderr.txt
diff --git a/test/580-checker-round/Android.bp b/test/580-checker-round/Android.bp
index 55c77cc..cb30ae6 100644
--- a/test/580-checker-round/Android.bp
+++ b/test/580-checker-round/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-580-checker-round-expected-stdout"],
+    data: [
+        ":art-run-test-580-checker-round-expected-stdout",
+        ":art-run-test-580-checker-round-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-580-checker-round-expected-stdout",
     out: ["art-run-test-580-checker-round-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-580-checker-round-expected-stderr",
+    out: ["art-run-test-580-checker-round-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/580-checker-round/expected-stderr.txt b/test/580-checker-round/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/580-checker-round/expected-stderr.txt
diff --git a/test/580-checker-string-fact-intrinsics/expected-stderr.txt b/test/580-checker-string-fact-intrinsics/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/580-checker-string-fact-intrinsics/expected-stderr.txt
diff --git a/test/580-crc32/Android.bp b/test/580-crc32/Android.bp
index 07dfc96..d69afb9 100644
--- a/test/580-crc32/Android.bp
+++ b/test/580-crc32/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-580-crc32-expected-stdout"],
+    data: [
+        ":art-run-test-580-crc32-expected-stdout",
+        ":art-run-test-580-crc32-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-580-crc32-expected-stdout",
     out: ["art-run-test-580-crc32-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-580-crc32-expected-stderr",
+    out: ["art-run-test-580-crc32-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/580-crc32/expected-stderr.txt b/test/580-crc32/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/580-crc32/expected-stderr.txt
diff --git a/test/580-fp16/expected-stderr.txt b/test/580-fp16/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/580-fp16/expected-stderr.txt
diff --git a/test/581-rtp/Android.bp b/test/581-rtp/Android.bp
index 7d321cd..a9c86ba 100644
--- a/test/581-rtp/Android.bp
+++ b/test/581-rtp/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-581-rtp-expected-stdout"],
+    data: [
+        ":art-run-test-581-rtp-expected-stdout",
+        ":art-run-test-581-rtp-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-581-rtp-expected-stdout",
     out: ["art-run-test-581-rtp-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-581-rtp-expected-stderr",
+    out: ["art-run-test-581-rtp-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/581-rtp/expected-stderr.txt b/test/581-rtp/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/581-rtp/expected-stderr.txt
diff --git a/test/582-checker-bce-length/Android.bp b/test/582-checker-bce-length/Android.bp
index 016a51a..8a37086 100644
--- a/test/582-checker-bce-length/Android.bp
+++ b/test/582-checker-bce-length/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-582-checker-bce-length-expected-stdout"],
+    data: [
+        ":art-run-test-582-checker-bce-length-expected-stdout",
+        ":art-run-test-582-checker-bce-length-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-582-checker-bce-length-expected-stdout",
     out: ["art-run-test-582-checker-bce-length-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-582-checker-bce-length-expected-stderr",
+    out: ["art-run-test-582-checker-bce-length-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/582-checker-bce-length/expected-stderr.txt b/test/582-checker-bce-length/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/582-checker-bce-length/expected-stderr.txt
diff --git a/test/583-checker-zero/Android.bp b/test/583-checker-zero/Android.bp
index 0792faf..31cd9af 100644
--- a/test/583-checker-zero/Android.bp
+++ b/test/583-checker-zero/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-583-checker-zero-expected-stdout"],
+    data: [
+        ":art-run-test-583-checker-zero-expected-stdout",
+        ":art-run-test-583-checker-zero-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-583-checker-zero-expected-stdout",
     out: ["art-run-test-583-checker-zero-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-583-checker-zero-expected-stderr",
+    out: ["art-run-test-583-checker-zero-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/583-checker-zero/expected-stderr.txt b/test/583-checker-zero/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/583-checker-zero/expected-stderr.txt
diff --git a/test/584-checker-div-bool/Android.bp b/test/584-checker-div-bool/Android.bp
index 96d64f3..781fe54 100644
--- a/test/584-checker-div-bool/Android.bp
+++ b/test/584-checker-div-bool/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-584-checker-div-bool-expected-stdout"],
+    data: [
+        ":art-run-test-584-checker-div-bool-expected-stdout",
+        ":art-run-test-584-checker-div-bool-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-584-checker-div-bool-expected-stdout",
     out: ["art-run-test-584-checker-div-bool-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-584-checker-div-bool-expected-stderr",
+    out: ["art-run-test-584-checker-div-bool-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/584-checker-div-bool/expected-stderr.txt b/test/584-checker-div-bool/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/584-checker-div-bool/expected-stderr.txt
diff --git a/test/585-inline-unresolved/expected-stderr.txt b/test/585-inline-unresolved/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/585-inline-unresolved/expected-stderr.txt
diff --git a/test/586-checker-null-array-get/expected-stderr.txt b/test/586-checker-null-array-get/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/586-checker-null-array-get/expected-stderr.txt
diff --git a/test/587-inline-class-error/expected-stderr.txt b/test/587-inline-class-error/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/587-inline-class-error/expected-stderr.txt
diff --git a/test/588-checker-irreducib-lifetime-hole/expected-stderr.txt b/test/588-checker-irreducib-lifetime-hole/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/588-checker-irreducib-lifetime-hole/expected-stderr.txt
diff --git a/test/589-super-imt/Android.bp b/test/589-super-imt/Android.bp
index 1bb6538..956dd93f 100644
--- a/test/589-super-imt/Android.bp
+++ b/test/589-super-imt/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-589-super-imt-expected-stdout"],
+    data: [
+        ":art-run-test-589-super-imt-expected-stdout",
+        ":art-run-test-589-super-imt-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-589-super-imt-expected-stdout",
     out: ["art-run-test-589-super-imt-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-589-super-imt-expected-stderr",
+    out: ["art-run-test-589-super-imt-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/589-super-imt/expected-stderr.txt b/test/589-super-imt/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/589-super-imt/expected-stderr.txt
diff --git a/test/590-checker-arr-set-null-regression/Android.bp b/test/590-checker-arr-set-null-regression/Android.bp
index 578e8a8..7716540 100644
--- a/test/590-checker-arr-set-null-regression/Android.bp
+++ b/test/590-checker-arr-set-null-regression/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-590-checker-arr-set-null-regression-expected-stdout"],
+    data: [
+        ":art-run-test-590-checker-arr-set-null-regression-expected-stdout",
+        ":art-run-test-590-checker-arr-set-null-regression-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-590-checker-arr-set-null-regression-expected-stdout",
     out: ["art-run-test-590-checker-arr-set-null-regression-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-590-checker-arr-set-null-regression-expected-stderr",
+    out: ["art-run-test-590-checker-arr-set-null-regression-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/590-checker-arr-set-null-regression/expected-stderr.txt b/test/590-checker-arr-set-null-regression/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/590-checker-arr-set-null-regression/expected-stderr.txt
diff --git a/test/590-infinite-loop-with-nop/expected-stderr.txt b/test/590-infinite-loop-with-nop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/590-infinite-loop-with-nop/expected-stderr.txt
diff --git a/test/591-checker-regression-dead-loop/Android.bp b/test/591-checker-regression-dead-loop/Android.bp
index 8aa6149..9f3d098 100644
--- a/test/591-checker-regression-dead-loop/Android.bp
+++ b/test/591-checker-regression-dead-loop/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-591-checker-regression-dead-loop-expected-stdout"],
+    data: [
+        ":art-run-test-591-checker-regression-dead-loop-expected-stdout",
+        ":art-run-test-591-checker-regression-dead-loop-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-591-checker-regression-dead-loop-expected-stdout",
     out: ["art-run-test-591-checker-regression-dead-loop-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-591-checker-regression-dead-loop-expected-stderr",
+    out: ["art-run-test-591-checker-regression-dead-loop-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/591-checker-regression-dead-loop/expected-stderr.txt b/test/591-checker-regression-dead-loop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/591-checker-regression-dead-loop/expected-stderr.txt
diff --git a/test/591-new-instance-string/expected-stderr.txt b/test/591-new-instance-string/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/591-new-instance-string/expected-stderr.txt
diff --git a/test/592-checker-regression-bool-input/expected-stderr.txt b/test/592-checker-regression-bool-input/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/592-checker-regression-bool-input/expected-stderr.txt
diff --git a/test/593-checker-boolean-2-integral-conv/expected-stderr.txt b/test/593-checker-boolean-2-integral-conv/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/593-checker-boolean-2-integral-conv/expected-stderr.txt
diff --git a/test/593-checker-long-2-float-regression/Android.bp b/test/593-checker-long-2-float-regression/Android.bp
index a6eaaac..fca51bb 100644
--- a/test/593-checker-long-2-float-regression/Android.bp
+++ b/test/593-checker-long-2-float-regression/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-593-checker-long-2-float-regression-expected-stdout"],
+    data: [
+        ":art-run-test-593-checker-long-2-float-regression-expected-stdout",
+        ":art-run-test-593-checker-long-2-float-regression-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-593-checker-long-2-float-regression-expected-stdout",
     out: ["art-run-test-593-checker-long-2-float-regression-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-593-checker-long-2-float-regression-expected-stderr",
+    out: ["art-run-test-593-checker-long-2-float-regression-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/593-checker-long-2-float-regression/expected-stderr.txt b/test/593-checker-long-2-float-regression/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/593-checker-long-2-float-regression/expected-stderr.txt
diff --git a/test/593-checker-shift-and-simplifier/expected-stderr.txt b/test/593-checker-shift-and-simplifier/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/593-checker-shift-and-simplifier/expected-stderr.txt
diff --git a/test/594-checker-array-alias/Android.bp b/test/594-checker-array-alias/Android.bp
index b3a2bcf..e432f94 100644
--- a/test/594-checker-array-alias/Android.bp
+++ b/test/594-checker-array-alias/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-594-checker-array-alias-expected-stdout"],
+    data: [
+        ":art-run-test-594-checker-array-alias-expected-stdout",
+        ":art-run-test-594-checker-array-alias-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-594-checker-array-alias-expected-stdout",
     out: ["art-run-test-594-checker-array-alias-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-594-checker-array-alias-expected-stderr",
+    out: ["art-run-test-594-checker-array-alias-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/594-checker-array-alias/expected-stderr.txt b/test/594-checker-array-alias/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/594-checker-array-alias/expected-stderr.txt
diff --git a/test/594-checker-irreducible-linorder/expected-stderr.txt b/test/594-checker-irreducible-linorder/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/594-checker-irreducible-linorder/expected-stderr.txt
diff --git a/test/594-invoke-super/expected-stderr.txt b/test/594-invoke-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/594-invoke-super/expected-stderr.txt
diff --git a/test/594-load-string-regression/Android.bp b/test/594-load-string-regression/Android.bp
index e70bad9..5dfa18a 100644
--- a/test/594-load-string-regression/Android.bp
+++ b/test/594-load-string-regression/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-594-load-string-regression-expected-stdout"],
+    data: [
+        ":art-run-test-594-load-string-regression-expected-stdout",
+        ":art-run-test-594-load-string-regression-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-594-load-string-regression-expected-stdout",
     out: ["art-run-test-594-load-string-regression-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-594-load-string-regression-expected-stderr",
+    out: ["art-run-test-594-load-string-regression-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/594-load-string-regression/expected-stderr.txt b/test/594-load-string-regression/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/594-load-string-regression/expected-stderr.txt
diff --git a/test/595-error-class/expected-stderr.txt b/test/595-error-class/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/595-error-class/expected-stderr.txt
diff --git a/test/595-profile-saving/Android.bp b/test/595-profile-saving/Android.bp
index f0144f3..8ef1c6e 100644
--- a/test/595-profile-saving/Android.bp
+++ b/test/595-profile-saving/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-595-profile-saving-expected-stdout"],
+    data: [
+        ":art-run-test-595-profile-saving-expected-stdout",
+        ":art-run-test-595-profile-saving-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-595-profile-saving-expected-stdout",
     out: ["art-run-test-595-profile-saving-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-595-profile-saving-expected-stderr",
+    out: ["art-run-test-595-profile-saving-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/595-profile-saving/expected-stderr.txt b/test/595-profile-saving/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/595-profile-saving/expected-stderr.txt
diff --git a/test/596-app-images/expected-stderr.txt b/test/596-app-images/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/596-app-images/expected-stderr.txt
diff --git a/test/596-checker-dead-phi/expected-stderr.txt b/test/596-checker-dead-phi/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/596-checker-dead-phi/expected-stderr.txt
diff --git a/test/596-monitor-inflation/expected-stderr.txt b/test/596-monitor-inflation/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/596-monitor-inflation/expected-stderr.txt
diff --git a/test/597-app-images-same-classloader/expected-stderr.txt b/test/597-app-images-same-classloader/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/597-app-images-same-classloader/expected-stderr.txt
diff --git a/test/597-deopt-busy-loop/Android.bp b/test/597-deopt-busy-loop/Android.bp
index c8d5d34..b62af23 100644
--- a/test/597-deopt-busy-loop/Android.bp
+++ b/test/597-deopt-busy-loop/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-597-deopt-busy-loop-expected-stdout"],
+    data: [
+        ":art-run-test-597-deopt-busy-loop-expected-stdout",
+        ":art-run-test-597-deopt-busy-loop-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-597-deopt-busy-loop-expected-stdout",
     out: ["art-run-test-597-deopt-busy-loop-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-597-deopt-busy-loop-expected-stderr",
+    out: ["art-run-test-597-deopt-busy-loop-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/597-deopt-busy-loop/expected-stderr.txt b/test/597-deopt-busy-loop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/597-deopt-busy-loop/expected-stderr.txt
diff --git a/test/597-deopt-invoke-stub/Android.bp b/test/597-deopt-invoke-stub/Android.bp
index 4c1ed1f..3237dd7 100644
--- a/test/597-deopt-invoke-stub/Android.bp
+++ b/test/597-deopt-invoke-stub/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-597-deopt-invoke-stub-expected-stdout"],
+    data: [
+        ":art-run-test-597-deopt-invoke-stub-expected-stdout",
+        ":art-run-test-597-deopt-invoke-stub-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-597-deopt-invoke-stub-expected-stdout",
     out: ["art-run-test-597-deopt-invoke-stub-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-597-deopt-invoke-stub-expected-stderr",
+    out: ["art-run-test-597-deopt-invoke-stub-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/597-deopt-invoke-stub/expected-stderr.txt b/test/597-deopt-invoke-stub/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/597-deopt-invoke-stub/expected-stderr.txt
diff --git a/test/597-deopt-new-string/Android.bp b/test/597-deopt-new-string/Android.bp
index 63eedbc..44204dc 100644
--- a/test/597-deopt-new-string/Android.bp
+++ b/test/597-deopt-new-string/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-597-deopt-new-string-expected-stdout"],
+    data: [
+        ":art-run-test-597-deopt-new-string-expected-stdout",
+        ":art-run-test-597-deopt-new-string-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-597-deopt-new-string-expected-stdout",
     out: ["art-run-test-597-deopt-new-string-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-597-deopt-new-string-expected-stderr",
+    out: ["art-run-test-597-deopt-new-string-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/597-deopt-new-string/expected-stderr.txt b/test/597-deopt-new-string/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/597-deopt-new-string/expected-stderr.txt
diff --git a/test/598-checker-irreducible-dominance/expected-stderr.txt b/test/598-checker-irreducible-dominance/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/598-checker-irreducible-dominance/expected-stderr.txt
diff --git a/test/599-checker-irreducible-loop/expected-stderr.txt b/test/599-checker-irreducible-loop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/599-checker-irreducible-loop/expected-stderr.txt
diff --git a/test/600-verifier-fails/expected-stderr.txt b/test/600-verifier-fails/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/600-verifier-fails/expected-stderr.txt
diff --git a/test/601-method-access/expected-stderr.txt b/test/601-method-access/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/601-method-access/expected-stderr.txt
diff --git a/test/602-deoptimizeable/Android.bp b/test/602-deoptimizeable/Android.bp
index 95f0af3..f9900ae 100644
--- a/test/602-deoptimizeable/Android.bp
+++ b/test/602-deoptimizeable/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-602-deoptimizeable-expected-stdout"],
+    data: [
+        ":art-run-test-602-deoptimizeable-expected-stdout",
+        ":art-run-test-602-deoptimizeable-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-602-deoptimizeable-expected-stdout",
     out: ["art-run-test-602-deoptimizeable-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-602-deoptimizeable-expected-stderr",
+    out: ["art-run-test-602-deoptimizeable-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/602-deoptimizeable/expected-stderr.txt b/test/602-deoptimizeable/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/602-deoptimizeable/expected-stderr.txt
diff --git a/test/603-checker-instanceof/Android.bp b/test/603-checker-instanceof/Android.bp
index 4185424..4550a24 100644
--- a/test/603-checker-instanceof/Android.bp
+++ b/test/603-checker-instanceof/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-603-checker-instanceof-expected-stdout"],
+    data: [
+        ":art-run-test-603-checker-instanceof-expected-stdout",
+        ":art-run-test-603-checker-instanceof-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-603-checker-instanceof-expected-stdout",
     out: ["art-run-test-603-checker-instanceof-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-603-checker-instanceof-expected-stderr",
+    out: ["art-run-test-603-checker-instanceof-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/603-checker-instanceof/expected-stderr.txt b/test/603-checker-instanceof/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/603-checker-instanceof/expected-stderr.txt
diff --git a/test/604-hot-static-interface/Android.bp b/test/604-hot-static-interface/Android.bp
index 59c3623..6eb6f2c 100644
--- a/test/604-hot-static-interface/Android.bp
+++ b/test/604-hot-static-interface/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-604-hot-static-interface-expected-stdout"],
+    data: [
+        ":art-run-test-604-hot-static-interface-expected-stdout",
+        ":art-run-test-604-hot-static-interface-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-604-hot-static-interface-expected-stdout",
     out: ["art-run-test-604-hot-static-interface-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-604-hot-static-interface-expected-stderr",
+    out: ["art-run-test-604-hot-static-interface-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/604-hot-static-interface/expected-stderr.txt b/test/604-hot-static-interface/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/604-hot-static-interface/expected-stderr.txt
diff --git a/test/605-new-string-from-bytes/Android.bp b/test/605-new-string-from-bytes/Android.bp
index 3524a8b..67952d2 100644
--- a/test/605-new-string-from-bytes/Android.bp
+++ b/test/605-new-string-from-bytes/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-605-new-string-from-bytes-expected-stdout"],
+    data: [
+        ":art-run-test-605-new-string-from-bytes-expected-stdout",
+        ":art-run-test-605-new-string-from-bytes-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-605-new-string-from-bytes-expected-stdout",
     out: ["art-run-test-605-new-string-from-bytes-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-605-new-string-from-bytes-expected-stderr",
+    out: ["art-run-test-605-new-string-from-bytes-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/605-new-string-from-bytes/expected-stderr.txt b/test/605-new-string-from-bytes/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/605-new-string-from-bytes/expected-stderr.txt
diff --git a/test/606-erroneous-class/expected-stderr.txt b/test/606-erroneous-class/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/606-erroneous-class/expected-stderr.txt
diff --git a/test/607-daemon-stress/Android.bp b/test/607-daemon-stress/Android.bp
index 2f539db..90120a3 100644
--- a/test/607-daemon-stress/Android.bp
+++ b/test/607-daemon-stress/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-607-daemon-stress-expected-stdout"],
+    data: [
+        ":art-run-test-607-daemon-stress-expected-stdout",
+        ":art-run-test-607-daemon-stress-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-607-daemon-stress-expected-stdout",
     out: ["art-run-test-607-daemon-stress-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-607-daemon-stress-expected-stderr",
+    out: ["art-run-test-607-daemon-stress-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/607-daemon-stress/expected-stderr.txt b/test/607-daemon-stress/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/607-daemon-stress/expected-stderr.txt
diff --git a/test/608-checker-unresolved-lse/expected-stderr.txt b/test/608-checker-unresolved-lse/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/608-checker-unresolved-lse/expected-stderr.txt
diff --git a/test/609-checker-inline-interface/Android.bp b/test/609-checker-inline-interface/Android.bp
index b2ad70c..d8c19bb 100644
--- a/test/609-checker-inline-interface/Android.bp
+++ b/test/609-checker-inline-interface/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-609-checker-inline-interface-expected-stdout"],
+    data: [
+        ":art-run-test-609-checker-inline-interface-expected-stdout",
+        ":art-run-test-609-checker-inline-interface-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-609-checker-inline-interface-expected-stdout",
     out: ["art-run-test-609-checker-inline-interface-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-609-checker-inline-interface-expected-stderr",
+    out: ["art-run-test-609-checker-inline-interface-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/609-checker-inline-interface/expected-stderr.txt b/test/609-checker-inline-interface/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/609-checker-inline-interface/expected-stderr.txt
diff --git a/test/609-checker-x86-bounds-check/Android.bp b/test/609-checker-x86-bounds-check/Android.bp
index eab2ab6..e8e724d 100644
--- a/test/609-checker-x86-bounds-check/Android.bp
+++ b/test/609-checker-x86-bounds-check/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-609-checker-x86-bounds-check-expected-stdout"],
+    data: [
+        ":art-run-test-609-checker-x86-bounds-check-expected-stdout",
+        ":art-run-test-609-checker-x86-bounds-check-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-609-checker-x86-bounds-check-expected-stdout",
     out: ["art-run-test-609-checker-x86-bounds-check-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-609-checker-x86-bounds-check-expected-stderr",
+    out: ["art-run-test-609-checker-x86-bounds-check-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/609-checker-x86-bounds-check/expected-stderr.txt b/test/609-checker-x86-bounds-check/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/609-checker-x86-bounds-check/expected-stderr.txt
diff --git a/test/610-arraycopy/Android.bp b/test/610-arraycopy/Android.bp
index d775c13..e89b1c0 100644
--- a/test/610-arraycopy/Android.bp
+++ b/test/610-arraycopy/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-610-arraycopy-expected-stdout"],
+    data: [
+        ":art-run-test-610-arraycopy-expected-stdout",
+        ":art-run-test-610-arraycopy-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-610-arraycopy-expected-stdout",
     out: ["art-run-test-610-arraycopy-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-610-arraycopy-expected-stderr",
+    out: ["art-run-test-610-arraycopy-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/610-arraycopy/expected-stderr.txt b/test/610-arraycopy/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/610-arraycopy/expected-stderr.txt
diff --git a/test/611-checker-simplify-if/Android.bp b/test/611-checker-simplify-if/Android.bp
index be60c4b..94a2bc8 100644
--- a/test/611-checker-simplify-if/Android.bp
+++ b/test/611-checker-simplify-if/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-611-checker-simplify-if-expected-stdout"],
+    data: [
+        ":art-run-test-611-checker-simplify-if-expected-stdout",
+        ":art-run-test-611-checker-simplify-if-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-611-checker-simplify-if-expected-stdout",
     out: ["art-run-test-611-checker-simplify-if-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-611-checker-simplify-if-expected-stderr",
+    out: ["art-run-test-611-checker-simplify-if-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/611-checker-simplify-if/expected-stderr.txt b/test/611-checker-simplify-if/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/611-checker-simplify-if/expected-stderr.txt
diff --git a/test/612-jit-dex-cache/expected-stderr.txt b/test/612-jit-dex-cache/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/612-jit-dex-cache/expected-stderr.txt
diff --git a/test/613-inlining-dex-cache/expected-stderr.txt b/test/613-inlining-dex-cache/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/613-inlining-dex-cache/expected-stderr.txt
diff --git a/test/614-checker-dump-constant-location/Android.bp b/test/614-checker-dump-constant-location/Android.bp
index dca6dc9..67cb052 100644
--- a/test/614-checker-dump-constant-location/Android.bp
+++ b/test/614-checker-dump-constant-location/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-614-checker-dump-constant-location-expected-stdout"],
+    data: [
+        ":art-run-test-614-checker-dump-constant-location-expected-stdout",
+        ":art-run-test-614-checker-dump-constant-location-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-614-checker-dump-constant-location-expected-stdout",
     out: ["art-run-test-614-checker-dump-constant-location-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-614-checker-dump-constant-location-expected-stderr",
+    out: ["art-run-test-614-checker-dump-constant-location-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/614-checker-dump-constant-location/expected-stderr.txt b/test/614-checker-dump-constant-location/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/614-checker-dump-constant-location/expected-stderr.txt
diff --git a/test/615-checker-arm64-store-zero/Android.bp b/test/615-checker-arm64-store-zero/Android.bp
index 6c1687e..ba1705e 100644
--- a/test/615-checker-arm64-store-zero/Android.bp
+++ b/test/615-checker-arm64-store-zero/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-615-checker-arm64-store-zero-expected-stdout"],
+    data: [
+        ":art-run-test-615-checker-arm64-store-zero-expected-stdout",
+        ":art-run-test-615-checker-arm64-store-zero-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-615-checker-arm64-store-zero-expected-stdout",
     out: ["art-run-test-615-checker-arm64-store-zero-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-615-checker-arm64-store-zero-expected-stderr",
+    out: ["art-run-test-615-checker-arm64-store-zero-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/615-checker-arm64-store-zero/expected-stderr.txt b/test/615-checker-arm64-store-zero/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/615-checker-arm64-store-zero/expected-stderr.txt
diff --git a/test/616-cha-abstract/Android.bp b/test/616-cha-abstract/Android.bp
index 856561e..e452788 100644
--- a/test/616-cha-abstract/Android.bp
+++ b/test/616-cha-abstract/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-616-cha-abstract-expected-stdout"],
+    data: [
+        ":art-run-test-616-cha-abstract-expected-stdout",
+        ":art-run-test-616-cha-abstract-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-616-cha-abstract-expected-stdout",
     out: ["art-run-test-616-cha-abstract-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-616-cha-abstract-expected-stderr",
+    out: ["art-run-test-616-cha-abstract-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/616-cha-abstract/expected-stderr.txt b/test/616-cha-abstract/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/616-cha-abstract/expected-stderr.txt
diff --git a/test/616-cha-interface-default/expected-stderr.txt b/test/616-cha-interface-default/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/616-cha-interface-default/expected-stderr.txt
diff --git a/test/616-cha-interface/Android.bp b/test/616-cha-interface/Android.bp
index 404594b..15a2137 100644
--- a/test/616-cha-interface/Android.bp
+++ b/test/616-cha-interface/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-616-cha-interface-expected-stdout"],
+    data: [
+        ":art-run-test-616-cha-interface-expected-stdout",
+        ":art-run-test-616-cha-interface-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-616-cha-interface-expected-stdout",
     out: ["art-run-test-616-cha-interface-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-616-cha-interface-expected-stderr",
+    out: ["art-run-test-616-cha-interface-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/616-cha-interface/expected-stderr.txt b/test/616-cha-interface/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/616-cha-interface/expected-stderr.txt
diff --git a/test/616-cha-miranda/Android.bp b/test/616-cha-miranda/Android.bp
index 81d4ba9..3f37928 100644
--- a/test/616-cha-miranda/Android.bp
+++ b/test/616-cha-miranda/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-616-cha-miranda-expected-stdout"],
+    data: [
+        ":art-run-test-616-cha-miranda-expected-stdout",
+        ":art-run-test-616-cha-miranda-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-616-cha-miranda-expected-stdout",
     out: ["art-run-test-616-cha-miranda-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-616-cha-miranda-expected-stderr",
+    out: ["art-run-test-616-cha-miranda-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/616-cha-miranda/expected-stderr.txt b/test/616-cha-miranda/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/616-cha-miranda/expected-stderr.txt
diff --git a/test/616-cha-native/Android.bp b/test/616-cha-native/Android.bp
index d903271..728e8d2 100644
--- a/test/616-cha-native/Android.bp
+++ b/test/616-cha-native/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-616-cha-native-expected-stdout"],
+    data: [
+        ":art-run-test-616-cha-native-expected-stdout",
+        ":art-run-test-616-cha-native-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-616-cha-native-expected-stdout",
     out: ["art-run-test-616-cha-native-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-616-cha-native-expected-stderr",
+    out: ["art-run-test-616-cha-native-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/616-cha-native/expected-stderr.txt b/test/616-cha-native/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/616-cha-native/expected-stderr.txt
diff --git a/test/616-cha-proxy-method-inline/expected-stderr.txt b/test/616-cha-proxy-method-inline/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/616-cha-proxy-method-inline/expected-stderr.txt
diff --git a/test/616-cha-regression-proxy-method/Android.bp b/test/616-cha-regression-proxy-method/Android.bp
index fe57950..fa1ca8d 100644
--- a/test/616-cha-regression-proxy-method/Android.bp
+++ b/test/616-cha-regression-proxy-method/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-616-cha-regression-proxy-method-expected-stdout"],
+    data: [
+        ":art-run-test-616-cha-regression-proxy-method-expected-stdout",
+        ":art-run-test-616-cha-regression-proxy-method-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-616-cha-regression-proxy-method-expected-stdout",
     out: ["art-run-test-616-cha-regression-proxy-method-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-616-cha-regression-proxy-method-expected-stderr",
+    out: ["art-run-test-616-cha-regression-proxy-method-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/616-cha-regression-proxy-method/expected-stderr.txt b/test/616-cha-regression-proxy-method/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/616-cha-regression-proxy-method/expected-stderr.txt
diff --git a/test/616-cha-unloading/expected-stderr.txt b/test/616-cha-unloading/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/616-cha-unloading/expected-stderr.txt
diff --git a/test/616-cha/Android.bp b/test/616-cha/Android.bp
index 59b04ae..751fe03 100644
--- a/test/616-cha/Android.bp
+++ b/test/616-cha/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-616-cha-expected-stdout"],
+    data: [
+        ":art-run-test-616-cha-expected-stdout",
+        ":art-run-test-616-cha-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-616-cha-expected-stdout",
     out: ["art-run-test-616-cha-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-616-cha-expected-stderr",
+    out: ["art-run-test-616-cha-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/616-cha/expected-stderr.txt b/test/616-cha/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/616-cha/expected-stderr.txt
diff --git a/test/617-clinit-oome/Android.bp b/test/617-clinit-oome/Android.bp
index a7432e4..57618b9 100644
--- a/test/617-clinit-oome/Android.bp
+++ b/test/617-clinit-oome/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-617-clinit-oome-expected-stdout"],
+    data: [
+        ":art-run-test-617-clinit-oome-expected-stdout",
+        ":art-run-test-617-clinit-oome-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-617-clinit-oome-expected-stdout",
     out: ["art-run-test-617-clinit-oome-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-617-clinit-oome-expected-stderr",
+    out: ["art-run-test-617-clinit-oome-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/617-clinit-oome/expected-stderr.txt b/test/617-clinit-oome/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/617-clinit-oome/expected-stderr.txt
diff --git a/test/618-checker-induction/Android.bp b/test/618-checker-induction/Android.bp
index 6eeebe2..c642a34 100644
--- a/test/618-checker-induction/Android.bp
+++ b/test/618-checker-induction/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-618-checker-induction-expected-stdout"],
+    data: [
+        ":art-run-test-618-checker-induction-expected-stdout",
+        ":art-run-test-618-checker-induction-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-618-checker-induction-expected-stdout",
     out: ["art-run-test-618-checker-induction-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-618-checker-induction-expected-stderr",
+    out: ["art-run-test-618-checker-induction-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/618-checker-induction/expected-stderr.txt b/test/618-checker-induction/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/618-checker-induction/expected-stderr.txt
diff --git a/test/619-checker-current-method/Android.bp b/test/619-checker-current-method/Android.bp
index 8411e6b..7b7dc14 100644
--- a/test/619-checker-current-method/Android.bp
+++ b/test/619-checker-current-method/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-619-checker-current-method-expected-stdout"],
+    data: [
+        ":art-run-test-619-checker-current-method-expected-stdout",
+        ":art-run-test-619-checker-current-method-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-619-checker-current-method-expected-stdout",
     out: ["art-run-test-619-checker-current-method-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-619-checker-current-method-expected-stderr",
+    out: ["art-run-test-619-checker-current-method-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/619-checker-current-method/expected-stderr.txt b/test/619-checker-current-method/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/619-checker-current-method/expected-stderr.txt
diff --git a/test/620-checker-bce-intrinsics/Android.bp b/test/620-checker-bce-intrinsics/Android.bp
index af2cd0c..4356cc9 100644
--- a/test/620-checker-bce-intrinsics/Android.bp
+++ b/test/620-checker-bce-intrinsics/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-620-checker-bce-intrinsics-expected-stdout"],
+    data: [
+        ":art-run-test-620-checker-bce-intrinsics-expected-stdout",
+        ":art-run-test-620-checker-bce-intrinsics-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-620-checker-bce-intrinsics-expected-stdout",
     out: ["art-run-test-620-checker-bce-intrinsics-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-620-checker-bce-intrinsics-expected-stderr",
+    out: ["art-run-test-620-checker-bce-intrinsics-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/620-checker-bce-intrinsics/expected-stderr.txt b/test/620-checker-bce-intrinsics/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/620-checker-bce-intrinsics/expected-stderr.txt
diff --git a/test/622-checker-bce-regressions/Android.bp b/test/622-checker-bce-regressions/Android.bp
index 3df33ac..f5a2c4c 100644
--- a/test/622-checker-bce-regressions/Android.bp
+++ b/test/622-checker-bce-regressions/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-622-checker-bce-regressions-expected-stdout"],
+    data: [
+        ":art-run-test-622-checker-bce-regressions-expected-stdout",
+        ":art-run-test-622-checker-bce-regressions-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-622-checker-bce-regressions-expected-stdout",
     out: ["art-run-test-622-checker-bce-regressions-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-622-checker-bce-regressions-expected-stderr",
+    out: ["art-run-test-622-checker-bce-regressions-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/622-checker-bce-regressions/expected-stderr.txt b/test/622-checker-bce-regressions/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/622-checker-bce-regressions/expected-stderr.txt
diff --git a/test/622-simplifyifs-exception-edges/expected-stderr.txt b/test/622-simplifyifs-exception-edges/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/622-simplifyifs-exception-edges/expected-stderr.txt
diff --git a/test/623-checker-loop-regressions/Android.bp b/test/623-checker-loop-regressions/Android.bp
index 8bad36d..c821bdc 100644
--- a/test/623-checker-loop-regressions/Android.bp
+++ b/test/623-checker-loop-regressions/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-623-checker-loop-regressions-expected-stdout"],
+    data: [
+        ":art-run-test-623-checker-loop-regressions-expected-stdout",
+        ":art-run-test-623-checker-loop-regressions-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-623-checker-loop-regressions-expected-stdout",
     out: ["art-run-test-623-checker-loop-regressions-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-623-checker-loop-regressions-expected-stderr",
+    out: ["art-run-test-623-checker-loop-regressions-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/623-checker-loop-regressions/expected-stderr.txt b/test/623-checker-loop-regressions/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/623-checker-loop-regressions/expected-stderr.txt
diff --git a/test/624-checker-stringops/expected-stderr.txt b/test/624-checker-stringops/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/624-checker-stringops/expected-stderr.txt
diff --git a/test/625-checker-licm-regressions/Android.bp b/test/625-checker-licm-regressions/Android.bp
index 2e95b5e..4df508a 100644
--- a/test/625-checker-licm-regressions/Android.bp
+++ b/test/625-checker-licm-regressions/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-625-checker-licm-regressions-expected-stdout"],
+    data: [
+        ":art-run-test-625-checker-licm-regressions-expected-stdout",
+        ":art-run-test-625-checker-licm-regressions-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-625-checker-licm-regressions-expected-stdout",
     out: ["art-run-test-625-checker-licm-regressions-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-625-checker-licm-regressions-expected-stderr",
+    out: ["art-run-test-625-checker-licm-regressions-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/625-checker-licm-regressions/expected-stderr.txt b/test/625-checker-licm-regressions/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/625-checker-licm-regressions/expected-stderr.txt
diff --git a/test/626-checker-arm64-scratch-register/expected-stderr.txt b/test/626-checker-arm64-scratch-register/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/626-checker-arm64-scratch-register/expected-stderr.txt
diff --git a/test/626-const-class-linking/expected-stderr.txt b/test/626-const-class-linking/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/626-const-class-linking/expected-stderr.txt
diff --git a/test/626-set-resolved-string/Android.bp b/test/626-set-resolved-string/Android.bp
index b8fa91e..3a5e7bf 100644
--- a/test/626-set-resolved-string/Android.bp
+++ b/test/626-set-resolved-string/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-626-set-resolved-string-expected-stdout"],
+    data: [
+        ":art-run-test-626-set-resolved-string-expected-stdout",
+        ":art-run-test-626-set-resolved-string-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-626-set-resolved-string-expected-stdout",
     out: ["art-run-test-626-set-resolved-string-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-626-set-resolved-string-expected-stderr",
+    out: ["art-run-test-626-set-resolved-string-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/626-set-resolved-string/expected-stderr.txt b/test/626-set-resolved-string/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/626-set-resolved-string/expected-stderr.txt
diff --git a/test/627-checker-unroll/Android.bp b/test/627-checker-unroll/Android.bp
index 3b93f94..a6b9a78 100644
--- a/test/627-checker-unroll/Android.bp
+++ b/test/627-checker-unroll/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-627-checker-unroll-expected-stdout"],
+    data: [
+        ":art-run-test-627-checker-unroll-expected-stdout",
+        ":art-run-test-627-checker-unroll-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-627-checker-unroll-expected-stdout",
     out: ["art-run-test-627-checker-unroll-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-627-checker-unroll-expected-stderr",
+    out: ["art-run-test-627-checker-unroll-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/627-checker-unroll/expected-stderr.txt b/test/627-checker-unroll/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/627-checker-unroll/expected-stderr.txt
diff --git a/test/628-vdex/Android.bp b/test/628-vdex/Android.bp
index 0433761..2fb4a4c 100644
--- a/test/628-vdex/Android.bp
+++ b/test/628-vdex/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-628-vdex-expected-stdout"],
+    data: [
+        ":art-run-test-628-vdex-expected-stdout",
+        ":art-run-test-628-vdex-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-628-vdex-expected-stdout",
     out: ["art-run-test-628-vdex-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-628-vdex-expected-stderr",
+    out: ["art-run-test-628-vdex-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/628-vdex/expected-stderr.txt b/test/628-vdex/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/628-vdex/expected-stderr.txt
diff --git a/test/629-vdex-speed/Android.bp b/test/629-vdex-speed/Android.bp
index 286fbd5..ede3989 100644
--- a/test/629-vdex-speed/Android.bp
+++ b/test/629-vdex-speed/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-629-vdex-speed-expected-stdout"],
+    data: [
+        ":art-run-test-629-vdex-speed-expected-stdout",
+        ":art-run-test-629-vdex-speed-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-629-vdex-speed-expected-stdout",
     out: ["art-run-test-629-vdex-speed-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-629-vdex-speed-expected-stderr",
+    out: ["art-run-test-629-vdex-speed-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/629-vdex-speed/expected-stderr.txt b/test/629-vdex-speed/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/629-vdex-speed/expected-stderr.txt
diff --git a/test/630-safecast-array/expected-stderr.txt b/test/630-safecast-array/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/630-safecast-array/expected-stderr.txt
diff --git a/test/631-checker-get-class/Android.bp b/test/631-checker-get-class/Android.bp
index b19146d..9cfdaac 100644
--- a/test/631-checker-get-class/Android.bp
+++ b/test/631-checker-get-class/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-631-checker-get-class-expected-stdout"],
+    data: [
+        ":art-run-test-631-checker-get-class-expected-stdout",
+        ":art-run-test-631-checker-get-class-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-631-checker-get-class-expected-stdout",
     out: ["art-run-test-631-checker-get-class-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-631-checker-get-class-expected-stderr",
+    out: ["art-run-test-631-checker-get-class-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/631-checker-get-class/expected-stderr.txt b/test/631-checker-get-class/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/631-checker-get-class/expected-stderr.txt
diff --git a/test/632-checker-char-at-bounds/Android.bp b/test/632-checker-char-at-bounds/Android.bp
index c75e9d2..b832cd5 100644
--- a/test/632-checker-char-at-bounds/Android.bp
+++ b/test/632-checker-char-at-bounds/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-632-checker-char-at-bounds-expected-stdout"],
+    data: [
+        ":art-run-test-632-checker-char-at-bounds-expected-stdout",
+        ":art-run-test-632-checker-char-at-bounds-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-632-checker-char-at-bounds-expected-stdout",
     out: ["art-run-test-632-checker-char-at-bounds-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-632-checker-char-at-bounds-expected-stderr",
+    out: ["art-run-test-632-checker-char-at-bounds-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/632-checker-char-at-bounds/expected-stderr.txt b/test/632-checker-char-at-bounds/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/632-checker-char-at-bounds/expected-stderr.txt
diff --git a/test/633-checker-rtp-getclass/expected-stderr.txt b/test/633-checker-rtp-getclass/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/633-checker-rtp-getclass/expected-stderr.txt
diff --git a/test/634-vdex-duplicate/expected-stderr.txt b/test/634-vdex-duplicate/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/634-vdex-duplicate/expected-stderr.txt
diff --git a/test/635-checker-arm64-volatile-load-cc/Android.bp b/test/635-checker-arm64-volatile-load-cc/Android.bp
index c29ca2a..7946892 100644
--- a/test/635-checker-arm64-volatile-load-cc/Android.bp
+++ b/test/635-checker-arm64-volatile-load-cc/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-635-checker-arm64-volatile-load-cc-expected-stdout"],
+    data: [
+        ":art-run-test-635-checker-arm64-volatile-load-cc-expected-stdout",
+        ":art-run-test-635-checker-arm64-volatile-load-cc-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-635-checker-arm64-volatile-load-cc-expected-stdout",
     out: ["art-run-test-635-checker-arm64-volatile-load-cc-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-635-checker-arm64-volatile-load-cc-expected-stderr",
+    out: ["art-run-test-635-checker-arm64-volatile-load-cc-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/635-checker-arm64-volatile-load-cc/expected-stderr.txt b/test/635-checker-arm64-volatile-load-cc/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/635-checker-arm64-volatile-load-cc/expected-stderr.txt
diff --git a/test/636-arm64-veneer-pool/Android.bp b/test/636-arm64-veneer-pool/Android.bp
index 56ecb9e..61a5232 100644
--- a/test/636-arm64-veneer-pool/Android.bp
+++ b/test/636-arm64-veneer-pool/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-636-arm64-veneer-pool-expected-stdout"],
+    data: [
+        ":art-run-test-636-arm64-veneer-pool-expected-stdout",
+        ":art-run-test-636-arm64-veneer-pool-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-636-arm64-veneer-pool-expected-stdout",
     out: ["art-run-test-636-arm64-veneer-pool-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-636-arm64-veneer-pool-expected-stderr",
+    out: ["art-run-test-636-arm64-veneer-pool-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/636-arm64-veneer-pool/expected-stderr.txt b/test/636-arm64-veneer-pool/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/636-arm64-veneer-pool/expected-stderr.txt
diff --git a/test/636-wrong-static-access/expected-stderr.txt b/test/636-wrong-static-access/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/636-wrong-static-access/expected-stderr.txt
diff --git a/test/637-checker-throw-inline/Android.bp b/test/637-checker-throw-inline/Android.bp
index d05746a..fbaccf8 100644
--- a/test/637-checker-throw-inline/Android.bp
+++ b/test/637-checker-throw-inline/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-637-checker-throw-inline-expected-stdout"],
+    data: [
+        ":art-run-test-637-checker-throw-inline-expected-stdout",
+        ":art-run-test-637-checker-throw-inline-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-637-checker-throw-inline-expected-stdout",
     out: ["art-run-test-637-checker-throw-inline-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-637-checker-throw-inline-expected-stderr",
+    out: ["art-run-test-637-checker-throw-inline-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/637-checker-throw-inline/expected-stderr.txt b/test/637-checker-throw-inline/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/637-checker-throw-inline/expected-stderr.txt
diff --git a/test/638-checker-inline-cache-intrinsic/Android.bp b/test/638-checker-inline-cache-intrinsic/Android.bp
index 6b7f1f2..555a72c 100644
--- a/test/638-checker-inline-cache-intrinsic/Android.bp
+++ b/test/638-checker-inline-cache-intrinsic/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-638-checker-inline-cache-intrinsic-expected-stdout"],
+    data: [
+        ":art-run-test-638-checker-inline-cache-intrinsic-expected-stdout",
+        ":art-run-test-638-checker-inline-cache-intrinsic-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-638-checker-inline-cache-intrinsic-expected-stdout",
     out: ["art-run-test-638-checker-inline-cache-intrinsic-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-638-checker-inline-cache-intrinsic-expected-stderr",
+    out: ["art-run-test-638-checker-inline-cache-intrinsic-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/638-checker-inline-cache-intrinsic/expected-stderr.txt b/test/638-checker-inline-cache-intrinsic/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/638-checker-inline-cache-intrinsic/expected-stderr.txt
diff --git a/test/638-checker-inline-caches/expected-stderr.txt b/test/638-checker-inline-caches/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/638-checker-inline-caches/expected-stderr.txt
diff --git a/test/638-no-line-number/expected-stderr.txt b/test/638-no-line-number/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/638-no-line-number/expected-stderr.txt
diff --git a/test/639-checker-code-sinking/Android.bp b/test/639-checker-code-sinking/Android.bp
index c7b7009..3abb8ba 100644
--- a/test/639-checker-code-sinking/Android.bp
+++ b/test/639-checker-code-sinking/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-639-checker-code-sinking-expected-stdout"],
+    data: [
+        ":art-run-test-639-checker-code-sinking-expected-stdout",
+        ":art-run-test-639-checker-code-sinking-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-639-checker-code-sinking-expected-stdout",
     out: ["art-run-test-639-checker-code-sinking-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-639-checker-code-sinking-expected-stderr",
+    out: ["art-run-test-639-checker-code-sinking-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/639-checker-code-sinking/expected-stderr.txt b/test/639-checker-code-sinking/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/639-checker-code-sinking/expected-stderr.txt
diff --git a/test/640-checker-boolean-simd/Android.bp b/test/640-checker-boolean-simd/Android.bp
index 18616cf..c130cdd 100644
--- a/test/640-checker-boolean-simd/Android.bp
+++ b/test/640-checker-boolean-simd/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-640-checker-boolean-simd-expected-stdout"],
+    data: [
+        ":art-run-test-640-checker-boolean-simd-expected-stdout",
+        ":art-run-test-640-checker-boolean-simd-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-640-checker-boolean-simd-expected-stdout",
     out: ["art-run-test-640-checker-boolean-simd-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-640-checker-boolean-simd-expected-stderr",
+    out: ["art-run-test-640-checker-boolean-simd-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/640-checker-boolean-simd/expected-stderr.txt b/test/640-checker-boolean-simd/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/640-checker-boolean-simd/expected-stderr.txt
diff --git a/test/640-checker-integer-valueof/Android.bp b/test/640-checker-integer-valueof/Android.bp
index 63bcaf5..c4c91b9 100644
--- a/test/640-checker-integer-valueof/Android.bp
+++ b/test/640-checker-integer-valueof/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-640-checker-integer-valueof-expected-stdout"],
+    data: [
+        ":art-run-test-640-checker-integer-valueof-expected-stdout",
+        ":art-run-test-640-checker-integer-valueof-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-640-checker-integer-valueof-expected-stdout",
     out: ["art-run-test-640-checker-integer-valueof-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-640-checker-integer-valueof-expected-stderr",
+    out: ["art-run-test-640-checker-integer-valueof-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/640-checker-integer-valueof/expected-stderr.txt b/test/640-checker-integer-valueof/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/640-checker-integer-valueof/expected-stderr.txt
diff --git a/test/640-checker-simd/Android.bp b/test/640-checker-simd/Android.bp
index e7cec56..ded011c 100644
--- a/test/640-checker-simd/Android.bp
+++ b/test/640-checker-simd/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-640-checker-simd-expected-stdout"],
+    data: [
+        ":art-run-test-640-checker-simd-expected-stdout",
+        ":art-run-test-640-checker-simd-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-640-checker-simd-expected-stdout",
     out: ["art-run-test-640-checker-simd-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-640-checker-simd-expected-stderr",
+    out: ["art-run-test-640-checker-simd-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/640-checker-simd/expected-stderr.txt b/test/640-checker-simd/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/640-checker-simd/expected-stderr.txt
diff --git a/test/641-checker-arraycopy/Android.bp b/test/641-checker-arraycopy/Android.bp
index b643053..98e90eb 100644
--- a/test/641-checker-arraycopy/Android.bp
+++ b/test/641-checker-arraycopy/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-641-checker-arraycopy-expected-stdout"],
+    data: [
+        ":art-run-test-641-checker-arraycopy-expected-stdout",
+        ":art-run-test-641-checker-arraycopy-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-641-checker-arraycopy-expected-stdout",
     out: ["art-run-test-641-checker-arraycopy-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-641-checker-arraycopy-expected-stderr",
+    out: ["art-run-test-641-checker-arraycopy-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/641-checker-arraycopy/expected-stderr.txt b/test/641-checker-arraycopy/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/641-checker-arraycopy/expected-stderr.txt
diff --git a/test/641-irreducible-inline/expected-stderr.txt b/test/641-irreducible-inline/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/641-irreducible-inline/expected-stderr.txt
diff --git a/test/641-iterations/Android.bp b/test/641-iterations/Android.bp
index 40a20f6..c857fd6 100644
--- a/test/641-iterations/Android.bp
+++ b/test/641-iterations/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-641-iterations-expected-stdout"],
+    data: [
+        ":art-run-test-641-iterations-expected-stdout",
+        ":art-run-test-641-iterations-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-641-iterations-expected-stdout",
     out: ["art-run-test-641-iterations-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-641-iterations-expected-stderr",
+    out: ["art-run-test-641-iterations-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/641-iterations/expected-stderr.txt b/test/641-iterations/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/641-iterations/expected-stderr.txt
diff --git a/test/642-fp-callees/Android.bp b/test/642-fp-callees/Android.bp
index 2ec92f0..ec6edfc 100644
--- a/test/642-fp-callees/Android.bp
+++ b/test/642-fp-callees/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-642-fp-callees-expected-stdout"],
+    data: [
+        ":art-run-test-642-fp-callees-expected-stdout",
+        ":art-run-test-642-fp-callees-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-642-fp-callees-expected-stdout",
     out: ["art-run-test-642-fp-callees-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-642-fp-callees-expected-stderr",
+    out: ["art-run-test-642-fp-callees-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/642-fp-callees/expected-stderr.txt b/test/642-fp-callees/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/642-fp-callees/expected-stderr.txt
diff --git a/test/643-checker-bogus-ic/Android.bp b/test/643-checker-bogus-ic/Android.bp
index 612a003..a6da24b 100644
--- a/test/643-checker-bogus-ic/Android.bp
+++ b/test/643-checker-bogus-ic/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-643-checker-bogus-ic-expected-stdout"],
+    data: [
+        ":art-run-test-643-checker-bogus-ic-expected-stdout",
+        ":art-run-test-643-checker-bogus-ic-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-643-checker-bogus-ic-expected-stdout",
     out: ["art-run-test-643-checker-bogus-ic-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-643-checker-bogus-ic-expected-stderr",
+    out: ["art-run-test-643-checker-bogus-ic-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/643-checker-bogus-ic/expected-stderr.txt b/test/643-checker-bogus-ic/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/643-checker-bogus-ic/expected-stderr.txt
diff --git a/test/645-checker-abs-simd/Android.bp b/test/645-checker-abs-simd/Android.bp
index 624d1fb..6a03f3b 100644
--- a/test/645-checker-abs-simd/Android.bp
+++ b/test/645-checker-abs-simd/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-645-checker-abs-simd-expected-stdout"],
+    data: [
+        ":art-run-test-645-checker-abs-simd-expected-stdout",
+        ":art-run-test-645-checker-abs-simd-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-645-checker-abs-simd-expected-stdout",
     out: ["art-run-test-645-checker-abs-simd-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-645-checker-abs-simd-expected-stderr",
+    out: ["art-run-test-645-checker-abs-simd-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/645-checker-abs-simd/expected-stderr.txt b/test/645-checker-abs-simd/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/645-checker-abs-simd/expected-stderr.txt
diff --git a/test/646-checker-arraycopy-large-cst-pos/Android.bp b/test/646-checker-arraycopy-large-cst-pos/Android.bp
index 93a1c07..678eb95 100644
--- a/test/646-checker-arraycopy-large-cst-pos/Android.bp
+++ b/test/646-checker-arraycopy-large-cst-pos/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-646-checker-arraycopy-large-cst-pos-expected-stdout"],
+    data: [
+        ":art-run-test-646-checker-arraycopy-large-cst-pos-expected-stdout",
+        ":art-run-test-646-checker-arraycopy-large-cst-pos-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-646-checker-arraycopy-large-cst-pos-expected-stdout",
     out: ["art-run-test-646-checker-arraycopy-large-cst-pos-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-646-checker-arraycopy-large-cst-pos-expected-stderr",
+    out: ["art-run-test-646-checker-arraycopy-large-cst-pos-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/646-checker-arraycopy-large-cst-pos/expected-stderr.txt b/test/646-checker-arraycopy-large-cst-pos/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/646-checker-arraycopy-large-cst-pos/expected-stderr.txt
diff --git a/test/646-checker-long-const-to-int/Android.bp b/test/646-checker-long-const-to-int/Android.bp
index 7d8af91..3223bc0 100644
--- a/test/646-checker-long-const-to-int/Android.bp
+++ b/test/646-checker-long-const-to-int/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-646-checker-long-const-to-int-expected-stdout"],
+    data: [
+        ":art-run-test-646-checker-long-const-to-int-expected-stdout",
+        ":art-run-test-646-checker-long-const-to-int-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-646-checker-long-const-to-int-expected-stdout",
     out: ["art-run-test-646-checker-long-const-to-int-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-646-checker-long-const-to-int-expected-stderr",
+    out: ["art-run-test-646-checker-long-const-to-int-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/646-checker-long-const-to-int/expected-stderr.txt b/test/646-checker-long-const-to-int/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/646-checker-long-const-to-int/expected-stderr.txt
diff --git a/test/646-checker-simd-hadd/Android.bp b/test/646-checker-simd-hadd/Android.bp
index 7927752..e541633 100644
--- a/test/646-checker-simd-hadd/Android.bp
+++ b/test/646-checker-simd-hadd/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-646-checker-simd-hadd-expected-stdout"],
+    data: [
+        ":art-run-test-646-checker-simd-hadd-expected-stdout",
+        ":art-run-test-646-checker-simd-hadd-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-646-checker-simd-hadd-expected-stdout",
     out: ["art-run-test-646-checker-simd-hadd-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-646-checker-simd-hadd-expected-stderr",
+    out: ["art-run-test-646-checker-simd-hadd-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/646-checker-simd-hadd/expected-stderr.txt b/test/646-checker-simd-hadd/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/646-checker-simd-hadd/expected-stderr.txt
diff --git a/test/647-jni-get-field-id/Android.bp b/test/647-jni-get-field-id/Android.bp
index a63ac8c..3379f79 100644
--- a/test/647-jni-get-field-id/Android.bp
+++ b/test/647-jni-get-field-id/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-647-jni-get-field-id-expected-stdout"],
+    data: [
+        ":art-run-test-647-jni-get-field-id-expected-stdout",
+        ":art-run-test-647-jni-get-field-id-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-647-jni-get-field-id-expected-stdout",
     out: ["art-run-test-647-jni-get-field-id-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-647-jni-get-field-id-expected-stderr",
+    out: ["art-run-test-647-jni-get-field-id-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/647-jni-get-field-id/expected-stderr.txt b/test/647-jni-get-field-id/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/647-jni-get-field-id/expected-stderr.txt
diff --git a/test/647-sinking-catch/expected-stderr.txt b/test/647-sinking-catch/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/647-sinking-catch/expected-stderr.txt
diff --git a/test/648-inline-caches-unresolved/expected-stderr.txt b/test/648-inline-caches-unresolved/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/648-inline-caches-unresolved/expected-stderr.txt
diff --git a/test/648-many-direct-methods/expected-stderr.txt b/test/648-many-direct-methods/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/648-many-direct-methods/expected-stderr.txt
diff --git a/test/649-vdex-duplicate-method/expected-stderr.txt b/test/649-vdex-duplicate-method/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/649-vdex-duplicate-method/expected-stderr.txt
diff --git a/test/650-checker-inline-access-thunks/Android.bp b/test/650-checker-inline-access-thunks/Android.bp
index a08824e..40f9e5a 100644
--- a/test/650-checker-inline-access-thunks/Android.bp
+++ b/test/650-checker-inline-access-thunks/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-650-checker-inline-access-thunks-expected-stdout"],
+    data: [
+        ":art-run-test-650-checker-inline-access-thunks-expected-stdout",
+        ":art-run-test-650-checker-inline-access-thunks-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-650-checker-inline-access-thunks-expected-stdout",
     out: ["art-run-test-650-checker-inline-access-thunks-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-650-checker-inline-access-thunks-expected-stderr",
+    out: ["art-run-test-650-checker-inline-access-thunks-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/650-checker-inline-access-thunks/expected-stderr.txt b/test/650-checker-inline-access-thunks/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/650-checker-inline-access-thunks/expected-stderr.txt
diff --git a/test/652-deopt-intrinsic/Android.bp b/test/652-deopt-intrinsic/Android.bp
index 65d3af7..79cfc0b 100644
--- a/test/652-deopt-intrinsic/Android.bp
+++ b/test/652-deopt-intrinsic/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-652-deopt-intrinsic-expected-stdout"],
+    data: [
+        ":art-run-test-652-deopt-intrinsic-expected-stdout",
+        ":art-run-test-652-deopt-intrinsic-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-652-deopt-intrinsic-expected-stdout",
     out: ["art-run-test-652-deopt-intrinsic-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-652-deopt-intrinsic-expected-stderr",
+    out: ["art-run-test-652-deopt-intrinsic-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/652-deopt-intrinsic/expected-stderr.txt b/test/652-deopt-intrinsic/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/652-deopt-intrinsic/expected-stderr.txt
diff --git a/test/654-checker-periodic/Android.bp b/test/654-checker-periodic/Android.bp
index 6381ddc..9144c67 100644
--- a/test/654-checker-periodic/Android.bp
+++ b/test/654-checker-periodic/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-654-checker-periodic-expected-stdout"],
+    data: [
+        ":art-run-test-654-checker-periodic-expected-stdout",
+        ":art-run-test-654-checker-periodic-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-654-checker-periodic-expected-stdout",
     out: ["art-run-test-654-checker-periodic-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-654-checker-periodic-expected-stderr",
+    out: ["art-run-test-654-checker-periodic-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/654-checker-periodic/expected-stderr.txt b/test/654-checker-periodic/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/654-checker-periodic/expected-stderr.txt
diff --git a/test/655-checker-simd-arm-opt/Android.bp b/test/655-checker-simd-arm-opt/Android.bp
index 8cd851a..cebb64a 100644
--- a/test/655-checker-simd-arm-opt/Android.bp
+++ b/test/655-checker-simd-arm-opt/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-655-checker-simd-arm-opt-expected-stdout"],
+    data: [
+        ":art-run-test-655-checker-simd-arm-opt-expected-stdout",
+        ":art-run-test-655-checker-simd-arm-opt-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-655-checker-simd-arm-opt-expected-stdout",
     out: ["art-run-test-655-checker-simd-arm-opt-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-655-checker-simd-arm-opt-expected-stderr",
+    out: ["art-run-test-655-checker-simd-arm-opt-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/655-checker-simd-arm-opt/expected-stderr.txt b/test/655-checker-simd-arm-opt/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/655-checker-simd-arm-opt/expected-stderr.txt
diff --git a/test/655-jit-clinit/Android.bp b/test/655-jit-clinit/Android.bp
index a9be307..ff3f3c8 100644
--- a/test/655-jit-clinit/Android.bp
+++ b/test/655-jit-clinit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-655-jit-clinit-expected-stdout"],
+    data: [
+        ":art-run-test-655-jit-clinit-expected-stdout",
+        ":art-run-test-655-jit-clinit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-655-jit-clinit-expected-stdout",
     out: ["art-run-test-655-jit-clinit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-655-jit-clinit-expected-stderr",
+    out: ["art-run-test-655-jit-clinit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/655-jit-clinit/expected-stderr.txt b/test/655-jit-clinit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/655-jit-clinit/expected-stderr.txt
diff --git a/test/656-annotation-lookup-generic-jni/check b/test/656-annotation-lookup-generic-jni/check
index 39a52d5..e02c84d 100755
--- a/test/656-annotation-lookup-generic-jni/check
+++ b/test/656-annotation-lookup-generic-jni/check
@@ -14,8 +14,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # On gcstress configurations, an extra "JNI_OnUnload called" line may
 # be emitted. If so, remove it.
 sed -e '${/^JNI_OnUnload called$/d;}' "$2" > "$2.tmp"
 
-./default-check "$1" "$2.tmp"
+./default-check "$1" "$2.tmp" "$3" "$4"
diff --git a/test/656-annotation-lookup-generic-jni/expected-stderr.txt b/test/656-annotation-lookup-generic-jni/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/656-annotation-lookup-generic-jni/expected-stderr.txt
diff --git a/test/656-checker-simd-opt/Android.bp b/test/656-checker-simd-opt/Android.bp
index 098dac4..9e446f4 100644
--- a/test/656-checker-simd-opt/Android.bp
+++ b/test/656-checker-simd-opt/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-656-checker-simd-opt-expected-stdout"],
+    data: [
+        ":art-run-test-656-checker-simd-opt-expected-stdout",
+        ":art-run-test-656-checker-simd-opt-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-656-checker-simd-opt-expected-stdout",
     out: ["art-run-test-656-checker-simd-opt-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-656-checker-simd-opt-expected-stderr",
+    out: ["art-run-test-656-checker-simd-opt-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/656-checker-simd-opt/expected-stderr.txt b/test/656-checker-simd-opt/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/656-checker-simd-opt/expected-stderr.txt
diff --git a/test/656-loop-deopt/Android.bp b/test/656-loop-deopt/Android.bp
index b4c45b8..4421f26 100644
--- a/test/656-loop-deopt/Android.bp
+++ b/test/656-loop-deopt/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-656-loop-deopt-expected-stdout"],
+    data: [
+        ":art-run-test-656-loop-deopt-expected-stdout",
+        ":art-run-test-656-loop-deopt-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-656-loop-deopt-expected-stdout",
     out: ["art-run-test-656-loop-deopt-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-656-loop-deopt-expected-stderr",
+    out: ["art-run-test-656-loop-deopt-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/656-loop-deopt/expected-stderr.txt b/test/656-loop-deopt/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/656-loop-deopt/expected-stderr.txt
diff --git a/test/657-branches/Android.bp b/test/657-branches/Android.bp
index 889063d..dce7dd3 100644
--- a/test/657-branches/Android.bp
+++ b/test/657-branches/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-657-branches-expected-stdout"],
+    data: [
+        ":art-run-test-657-branches-expected-stdout",
+        ":art-run-test-657-branches-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-657-branches-expected-stdout",
     out: ["art-run-test-657-branches-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-657-branches-expected-stderr",
+    out: ["art-run-test-657-branches-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/657-branches/expected-stderr.txt b/test/657-branches/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/657-branches/expected-stderr.txt
diff --git a/test/658-fp-read-barrier/Android.bp b/test/658-fp-read-barrier/Android.bp
index 9372125..d494039 100644
--- a/test/658-fp-read-barrier/Android.bp
+++ b/test/658-fp-read-barrier/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-658-fp-read-barrier-expected-stdout"],
+    data: [
+        ":art-run-test-658-fp-read-barrier-expected-stdout",
+        ":art-run-test-658-fp-read-barrier-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-658-fp-read-barrier-expected-stdout",
     out: ["art-run-test-658-fp-read-barrier-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-658-fp-read-barrier-expected-stderr",
+    out: ["art-run-test-658-fp-read-barrier-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/658-fp-read-barrier/expected-stderr.txt b/test/658-fp-read-barrier/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/658-fp-read-barrier/expected-stderr.txt
diff --git a/test/659-unpadded-array/expected-stderr.txt b/test/659-unpadded-array/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/659-unpadded-array/expected-stderr.txt
diff --git a/test/660-checker-sad/Android.bp b/test/660-checker-sad/Android.bp
index bcaa1c0..a226b95 100644
--- a/test/660-checker-sad/Android.bp
+++ b/test/660-checker-sad/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-660-checker-sad-expected-stdout"],
+    data: [
+        ":art-run-test-660-checker-sad-expected-stdout",
+        ":art-run-test-660-checker-sad-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-660-checker-sad-expected-stdout",
     out: ["art-run-test-660-checker-sad-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-660-checker-sad-expected-stderr",
+    out: ["art-run-test-660-checker-sad-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/660-checker-sad/expected-stderr.txt b/test/660-checker-sad/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/660-checker-sad/expected-stderr.txt
diff --git a/test/660-checker-simd-sad/Android.bp b/test/660-checker-simd-sad/Android.bp
index cf99f97..06cc66c 100644
--- a/test/660-checker-simd-sad/Android.bp
+++ b/test/660-checker-simd-sad/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-660-checker-simd-sad-expected-stdout"],
+    data: [
+        ":art-run-test-660-checker-simd-sad-expected-stdout",
+        ":art-run-test-660-checker-simd-sad-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-660-checker-simd-sad-expected-stdout",
     out: ["art-run-test-660-checker-simd-sad-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-660-checker-simd-sad-expected-stderr",
+    out: ["art-run-test-660-checker-simd-sad-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/660-checker-simd-sad/expected-stderr.txt b/test/660-checker-simd-sad/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/660-checker-simd-sad/expected-stderr.txt
diff --git a/test/660-clinit/Android.bp b/test/660-clinit/Android.bp
index a6f9bd9..55e5f0d 100644
--- a/test/660-clinit/Android.bp
+++ b/test/660-clinit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-660-clinit-expected-stdout"],
+    data: [
+        ":art-run-test-660-clinit-expected-stdout",
+        ":art-run-test-660-clinit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-660-clinit-expected-stdout",
     out: ["art-run-test-660-clinit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-660-clinit-expected-stderr",
+    out: ["art-run-test-660-clinit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/660-clinit/expected-stderr.txt b/test/660-clinit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/660-clinit/expected-stderr.txt
diff --git a/test/660-store-8-16/expected-stderr.txt b/test/660-store-8-16/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/660-store-8-16/expected-stderr.txt
diff --git a/test/661-checker-simd-reduc/Android.bp b/test/661-checker-simd-reduc/Android.bp
index ce4da4e..bb4403d 100644
--- a/test/661-checker-simd-reduc/Android.bp
+++ b/test/661-checker-simd-reduc/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-661-checker-simd-reduc-expected-stdout"],
+    data: [
+        ":art-run-test-661-checker-simd-reduc-expected-stdout",
+        ":art-run-test-661-checker-simd-reduc-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-661-checker-simd-reduc-expected-stdout",
     out: ["art-run-test-661-checker-simd-reduc-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-661-checker-simd-reduc-expected-stderr",
+    out: ["art-run-test-661-checker-simd-reduc-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/661-checker-simd-reduc/expected-stderr.txt b/test/661-checker-simd-reduc/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/661-checker-simd-reduc/expected-stderr.txt
diff --git a/test/661-classloader-allocator/expected-stderr.txt b/test/661-classloader-allocator/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/661-classloader-allocator/expected-stderr.txt
diff --git a/test/661-oat-writer-layout/Android.bp b/test/661-oat-writer-layout/Android.bp
index 44f18f6..527e2ab 100644
--- a/test/661-oat-writer-layout/Android.bp
+++ b/test/661-oat-writer-layout/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-661-oat-writer-layout-expected-stdout"],
+    data: [
+        ":art-run-test-661-oat-writer-layout-expected-stdout",
+        ":art-run-test-661-oat-writer-layout-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-661-oat-writer-layout-expected-stdout",
     out: ["art-run-test-661-oat-writer-layout-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-661-oat-writer-layout-expected-stderr",
+    out: ["art-run-test-661-oat-writer-layout-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/661-oat-writer-layout/expected-stderr.txt b/test/661-oat-writer-layout/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/661-oat-writer-layout/expected-stderr.txt
diff --git a/test/662-regression-alias/Android.bp b/test/662-regression-alias/Android.bp
index b24ed72..9978426 100644
--- a/test/662-regression-alias/Android.bp
+++ b/test/662-regression-alias/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-662-regression-alias-expected-stdout"],
+    data: [
+        ":art-run-test-662-regression-alias-expected-stdout",
+        ":art-run-test-662-regression-alias-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-662-regression-alias-expected-stdout",
     out: ["art-run-test-662-regression-alias-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-662-regression-alias-expected-stderr",
+    out: ["art-run-test-662-regression-alias-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/662-regression-alias/expected-stderr.txt b/test/662-regression-alias/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/662-regression-alias/expected-stderr.txt
diff --git a/test/663-checker-select-generator/expected-stderr.txt b/test/663-checker-select-generator/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/663-checker-select-generator/expected-stderr.txt
diff --git a/test/663-odd-dex-size/expected-stderr.txt b/test/663-odd-dex-size/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/663-odd-dex-size/expected-stderr.txt
diff --git a/test/663-odd-dex-size2/expected-stderr.txt b/test/663-odd-dex-size2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/663-odd-dex-size2/expected-stderr.txt
diff --git a/test/663-odd-dex-size3/expected-stderr.txt b/test/663-odd-dex-size3/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/663-odd-dex-size3/expected-stderr.txt
diff --git a/test/663-odd-dex-size4/expected-stderr.txt b/test/663-odd-dex-size4/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/663-odd-dex-size4/expected-stderr.txt
diff --git a/test/664-aget-verifier/Android.bp b/test/664-aget-verifier/Android.bp
index 011fdc8..007a70b 100644
--- a/test/664-aget-verifier/Android.bp
+++ b/test/664-aget-verifier/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-664-aget-verifier-expected-stdout"],
+    data: [
+        ":art-run-test-664-aget-verifier-expected-stdout",
+        ":art-run-test-664-aget-verifier-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-664-aget-verifier-expected-stdout",
     out: ["art-run-test-664-aget-verifier-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-664-aget-verifier-expected-stderr",
+    out: ["art-run-test-664-aget-verifier-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/664-aget-verifier/expected-stderr.txt b/test/664-aget-verifier/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/664-aget-verifier/expected-stderr.txt
diff --git a/test/665-checker-simd-zero/Android.bp b/test/665-checker-simd-zero/Android.bp
index 45bae13..c6a0c62 100644
--- a/test/665-checker-simd-zero/Android.bp
+++ b/test/665-checker-simd-zero/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-665-checker-simd-zero-expected-stdout"],
+    data: [
+        ":art-run-test-665-checker-simd-zero-expected-stdout",
+        ":art-run-test-665-checker-simd-zero-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-665-checker-simd-zero-expected-stdout",
     out: ["art-run-test-665-checker-simd-zero-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-665-checker-simd-zero-expected-stderr",
+    out: ["art-run-test-665-checker-simd-zero-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/665-checker-simd-zero/expected-stderr.txt b/test/665-checker-simd-zero/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/665-checker-simd-zero/expected-stderr.txt
diff --git a/test/666-dex-cache-itf/Android.bp b/test/666-dex-cache-itf/Android.bp
index 4544b95..039bfc9 100644
--- a/test/666-dex-cache-itf/Android.bp
+++ b/test/666-dex-cache-itf/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-666-dex-cache-itf-expected-stdout"],
+    data: [
+        ":art-run-test-666-dex-cache-itf-expected-stdout",
+        ":art-run-test-666-dex-cache-itf-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-666-dex-cache-itf-expected-stdout",
     out: ["art-run-test-666-dex-cache-itf-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-666-dex-cache-itf-expected-stderr",
+    out: ["art-run-test-666-dex-cache-itf-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/666-dex-cache-itf/expected-stderr.txt b/test/666-dex-cache-itf/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/666-dex-cache-itf/expected-stderr.txt
diff --git a/test/667-checker-simd-alignment/Android.bp b/test/667-checker-simd-alignment/Android.bp
index d5c6586..08f26bb 100644
--- a/test/667-checker-simd-alignment/Android.bp
+++ b/test/667-checker-simd-alignment/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-667-checker-simd-alignment-expected-stdout"],
+    data: [
+        ":art-run-test-667-checker-simd-alignment-expected-stdout",
+        ":art-run-test-667-checker-simd-alignment-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-667-checker-simd-alignment-expected-stdout",
     out: ["art-run-test-667-checker-simd-alignment-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-667-checker-simd-alignment-expected-stderr",
+    out: ["art-run-test-667-checker-simd-alignment-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/667-checker-simd-alignment/expected-stderr.txt b/test/667-checker-simd-alignment/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/667-checker-simd-alignment/expected-stderr.txt
diff --git a/test/667-jit-jni-stub/Android.bp b/test/667-jit-jni-stub/Android.bp
index fe7ff5d..6797898 100644
--- a/test/667-jit-jni-stub/Android.bp
+++ b/test/667-jit-jni-stub/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-667-jit-jni-stub-expected-stdout"],
+    data: [
+        ":art-run-test-667-jit-jni-stub-expected-stdout",
+        ":art-run-test-667-jit-jni-stub-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-667-jit-jni-stub-expected-stdout",
     out: ["art-run-test-667-jit-jni-stub-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-667-jit-jni-stub-expected-stderr",
+    out: ["art-run-test-667-jit-jni-stub-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/667-jit-jni-stub/expected-stderr.txt b/test/667-jit-jni-stub/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/667-jit-jni-stub/expected-stderr.txt
diff --git a/test/667-out-of-bounds/Android.bp b/test/667-out-of-bounds/Android.bp
index 0c124c1..6404954 100644
--- a/test/667-out-of-bounds/Android.bp
+++ b/test/667-out-of-bounds/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-667-out-of-bounds-expected-stdout"],
+    data: [
+        ":art-run-test-667-out-of-bounds-expected-stdout",
+        ":art-run-test-667-out-of-bounds-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-667-out-of-bounds-expected-stdout",
     out: ["art-run-test-667-out-of-bounds-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-667-out-of-bounds-expected-stderr",
+    out: ["art-run-test-667-out-of-bounds-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/667-out-of-bounds/expected-stderr.txt b/test/667-out-of-bounds/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/667-out-of-bounds/expected-stderr.txt
diff --git a/test/668-aiobe/expected-stderr.txt b/test/668-aiobe/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/668-aiobe/expected-stderr.txt
diff --git a/test/669-checker-break/Android.bp b/test/669-checker-break/Android.bp
index 57bfac8..0e0a51b 100644
--- a/test/669-checker-break/Android.bp
+++ b/test/669-checker-break/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-669-checker-break-expected-stdout"],
+    data: [
+        ":art-run-test-669-checker-break-expected-stdout",
+        ":art-run-test-669-checker-break-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-669-checker-break-expected-stdout",
     out: ["art-run-test-669-checker-break-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-669-checker-break-expected-stderr",
+    out: ["art-run-test-669-checker-break-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/669-checker-break/expected-stderr.txt b/test/669-checker-break/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/669-checker-break/expected-stderr.txt
diff --git a/test/670-bitstring-type-check/expected-stderr.txt b/test/670-bitstring-type-check/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/670-bitstring-type-check/expected-stderr.txt
diff --git a/test/671-npe-field-opts/Android.bp b/test/671-npe-field-opts/Android.bp
index 7362f4a..be6cb24 100644
--- a/test/671-npe-field-opts/Android.bp
+++ b/test/671-npe-field-opts/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-671-npe-field-opts-expected-stdout"],
+    data: [
+        ":art-run-test-671-npe-field-opts-expected-stdout",
+        ":art-run-test-671-npe-field-opts-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-671-npe-field-opts-expected-stdout",
     out: ["art-run-test-671-npe-field-opts-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-671-npe-field-opts-expected-stderr",
+    out: ["art-run-test-671-npe-field-opts-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/671-npe-field-opts/expected-stderr.txt b/test/671-npe-field-opts/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/671-npe-field-opts/expected-stderr.txt
diff --git a/test/672-checker-throw-method/Android.bp b/test/672-checker-throw-method/Android.bp
index 1381d4c..154cba2 100644
--- a/test/672-checker-throw-method/Android.bp
+++ b/test/672-checker-throw-method/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-672-checker-throw-method-expected-stdout"],
+    data: [
+        ":art-run-test-672-checker-throw-method-expected-stdout",
+        ":art-run-test-672-checker-throw-method-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-672-checker-throw-method-expected-stdout",
     out: ["art-run-test-672-checker-throw-method-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-672-checker-throw-method-expected-stderr",
+    out: ["art-run-test-672-checker-throw-method-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/672-checker-throw-method/expected-stderr.txt b/test/672-checker-throw-method/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/672-checker-throw-method/expected-stderr.txt
diff --git a/test/673-checker-throw-vmethod/Android.bp b/test/673-checker-throw-vmethod/Android.bp
index 66e78e0..a70cf23 100644
--- a/test/673-checker-throw-vmethod/Android.bp
+++ b/test/673-checker-throw-vmethod/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-673-checker-throw-vmethod-expected-stdout"],
+    data: [
+        ":art-run-test-673-checker-throw-vmethod-expected-stdout",
+        ":art-run-test-673-checker-throw-vmethod-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-673-checker-throw-vmethod-expected-stdout",
     out: ["art-run-test-673-checker-throw-vmethod-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-673-checker-throw-vmethod-expected-stderr",
+    out: ["art-run-test-673-checker-throw-vmethod-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/673-checker-throw-vmethod/expected-stderr.txt b/test/673-checker-throw-vmethod/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/673-checker-throw-vmethod/expected-stderr.txt
diff --git a/test/674-HelloWorld-Dm/Android.bp b/test/674-HelloWorld-Dm/Android.bp
index 57d6fdf..ca70987 100644
--- a/test/674-HelloWorld-Dm/Android.bp
+++ b/test/674-HelloWorld-Dm/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-674-HelloWorld-Dm-expected-stdout"],
+    data: [
+        ":art-run-test-674-HelloWorld-Dm-expected-stdout",
+        ":art-run-test-674-HelloWorld-Dm-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-674-HelloWorld-Dm-expected-stdout",
     out: ["art-run-test-674-HelloWorld-Dm-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-674-HelloWorld-Dm-expected-stderr",
+    out: ["art-run-test-674-HelloWorld-Dm-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/674-HelloWorld-Dm/expected-stderr.txt b/test/674-HelloWorld-Dm/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/674-HelloWorld-Dm/expected-stderr.txt
diff --git a/test/674-hiddenapi/check b/test/674-hiddenapi/check
index c319a0a..c8afc22 100644
--- a/test/674-hiddenapi/check
+++ b/test/674-hiddenapi/check
@@ -14,10 +14,17 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # Remove pid and date from the log messages.
-grep -vE '^dalvikvm(32|64) E [^]]+]' "$2" \
-    | grep -v JNI_OnLoad \
+grep -v JNI_OnLoad "$2" \
     | grep -v JNI_OnUnload \
     > "$2.tmp"
+grep -vE '^dalvikvm(32|64) E [^]]+]' "$4" \
+    > "$4.tmp"
 
-./default-check "$1" "$2.tmp"
+./default-check "$1" "$2.tmp" "$3" "$4.tmp"
diff --git a/test/674-hiddenapi/expected-stderr.txt b/test/674-hiddenapi/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/674-hiddenapi/expected-stderr.txt
diff --git a/test/674-hotness-compiled/Android.bp b/test/674-hotness-compiled/Android.bp
index 430ade1..fb568c9 100644
--- a/test/674-hotness-compiled/Android.bp
+++ b/test/674-hotness-compiled/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-674-hotness-compiled-expected-stdout"],
+    data: [
+        ":art-run-test-674-hotness-compiled-expected-stdout",
+        ":art-run-test-674-hotness-compiled-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-674-hotness-compiled-expected-stdout",
     out: ["art-run-test-674-hotness-compiled-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-674-hotness-compiled-expected-stderr",
+    out: ["art-run-test-674-hotness-compiled-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/674-hotness-compiled/expected-stderr.txt b/test/674-hotness-compiled/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/674-hotness-compiled/expected-stderr.txt
diff --git a/test/674-vdex-uncompress/expected-stderr.txt b/test/674-vdex-uncompress/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/674-vdex-uncompress/expected-stderr.txt
diff --git a/test/675-checker-unverified-method/expected-stderr.txt b/test/675-checker-unverified-method/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/675-checker-unverified-method/expected-stderr.txt
diff --git a/test/676-proxy-jit-at-first-use/Android.bp b/test/676-proxy-jit-at-first-use/Android.bp
index 6298969..292fa86 100644
--- a/test/676-proxy-jit-at-first-use/Android.bp
+++ b/test/676-proxy-jit-at-first-use/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-676-proxy-jit-at-first-use-expected-stdout"],
+    data: [
+        ":art-run-test-676-proxy-jit-at-first-use-expected-stdout",
+        ":art-run-test-676-proxy-jit-at-first-use-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-676-proxy-jit-at-first-use-expected-stdout",
     out: ["art-run-test-676-proxy-jit-at-first-use-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-676-proxy-jit-at-first-use-expected-stderr",
+    out: ["art-run-test-676-proxy-jit-at-first-use-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/676-proxy-jit-at-first-use/expected-stderr.txt b/test/676-proxy-jit-at-first-use/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/676-proxy-jit-at-first-use/expected-stderr.txt
diff --git a/test/676-resolve-field-type/expected-stderr.txt b/test/676-resolve-field-type/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/676-resolve-field-type/expected-stderr.txt
diff --git a/test/677-fsi/check b/test/677-fsi/check
index 7b22bd1..8c7f18b 100644
--- a/test/677-fsi/check
+++ b/test/677-fsi/check
@@ -14,10 +14,18 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # Only keep the lines we're interested in.
-sed -s '/^.*: oat file has dex code, but APK has uncompressed dex code\|Hello World/!d' "$2" > "$2.tmp"
+sed -s '/Hello World/!d' "$2" > "$2.tmp"
+sed -s '/^.*: oat file has dex code, but APK has uncompressed dex code/!d' "$4" > "$4.tmp"
 
 # Remove part of message containing filename.
-sed -s 's/^.*: //' "$2.tmp" > "$2.tmp2"
+sed -s 's/^.*: //' "$4.tmp" > "$4.tmp2"
 
-diff --strip-trailing-cr -q "$1" "$2.tmp2" >/dev/null
+diff --strip-trailing-cr -q "$1" "$2.tmp" >/dev/null \
+  && diff --strip-trailing-cr -q "$3" "$4.tmp2" >/dev/null
diff --git a/test/677-fsi/expected-stderr.txt b/test/677-fsi/expected-stderr.txt
new file mode 100644
index 0000000..f74e4de
--- /dev/null
+++ b/test/677-fsi/expected-stderr.txt
@@ -0,0 +1 @@
+oat file has dex code, but APK has uncompressed dex code
diff --git a/test/677-fsi/expected-stdout.txt b/test/677-fsi/expected-stdout.txt
index 2b07343..557db03 100644
--- a/test/677-fsi/expected-stdout.txt
+++ b/test/677-fsi/expected-stdout.txt
@@ -1,2 +1 @@
-oat file has dex code, but APK has uncompressed dex code
 Hello World
diff --git a/test/677-fsi2/Android.bp b/test/677-fsi2/Android.bp
index f49b233..334ae81 100644
--- a/test/677-fsi2/Android.bp
+++ b/test/677-fsi2/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-677-fsi2-expected-stdout"],
+    data: [
+        ":art-run-test-677-fsi2-expected-stdout",
+        ":art-run-test-677-fsi2-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-677-fsi2-expected-stdout",
     out: ["art-run-test-677-fsi2-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-677-fsi2-expected-stderr",
+    out: ["art-run-test-677-fsi2-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/677-fsi2/expected-stderr.txt b/test/677-fsi2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/677-fsi2/expected-stderr.txt
diff --git a/test/678-quickening/expected-stderr.txt b/test/678-quickening/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/678-quickening/expected-stderr.txt
diff --git a/test/679-locks/Android.bp b/test/679-locks/Android.bp
index 6fa4825..4c14f39 100644
--- a/test/679-locks/Android.bp
+++ b/test/679-locks/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-679-locks-expected-stdout"],
+    data: [
+        ":art-run-test-679-locks-expected-stdout",
+        ":art-run-test-679-locks-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-679-locks-expected-stdout",
     out: ["art-run-test-679-locks-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-679-locks-expected-stderr",
+    out: ["art-run-test-679-locks-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/679-locks/expected-stderr.txt b/test/679-locks/expected-stderr.txt
new file mode 100644
index 0000000..0976159
--- /dev/null
+++ b/test/679-locks/expected-stderr.txt
@@ -0,0 +1 @@
+MyString
diff --git a/test/679-locks/expected-stdout.txt b/test/679-locks/expected-stdout.txt
index 85a20be..6a5618e 100644
--- a/test/679-locks/expected-stdout.txt
+++ b/test/679-locks/expected-stdout.txt
@@ -1,2 +1 @@
 JNI_OnLoad called
-MyString
diff --git a/test/680-checker-deopt-dex-pc-0/Android.bp b/test/680-checker-deopt-dex-pc-0/Android.bp
index eb06043..2861992 100644
--- a/test/680-checker-deopt-dex-pc-0/Android.bp
+++ b/test/680-checker-deopt-dex-pc-0/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-680-checker-deopt-dex-pc-0-expected-stdout"],
+    data: [
+        ":art-run-test-680-checker-deopt-dex-pc-0-expected-stdout",
+        ":art-run-test-680-checker-deopt-dex-pc-0-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-680-checker-deopt-dex-pc-0-expected-stdout",
     out: ["art-run-test-680-checker-deopt-dex-pc-0-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-680-checker-deopt-dex-pc-0-expected-stderr",
+    out: ["art-run-test-680-checker-deopt-dex-pc-0-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/680-checker-deopt-dex-pc-0/expected-stderr.txt b/test/680-checker-deopt-dex-pc-0/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/680-checker-deopt-dex-pc-0/expected-stderr.txt
diff --git a/test/680-sink-regression/Android.bp b/test/680-sink-regression/Android.bp
index 5d14b64..c129d5d 100644
--- a/test/680-sink-regression/Android.bp
+++ b/test/680-sink-regression/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-680-sink-regression-expected-stdout"],
+    data: [
+        ":art-run-test-680-sink-regression-expected-stdout",
+        ":art-run-test-680-sink-regression-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-680-sink-regression-expected-stdout",
     out: ["art-run-test-680-sink-regression-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-680-sink-regression-expected-stderr",
+    out: ["art-run-test-680-sink-regression-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/680-sink-regression/expected-stderr.txt b/test/680-sink-regression/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/680-sink-regression/expected-stderr.txt
diff --git a/test/682-double-catch-phi/expected-stderr.txt b/test/682-double-catch-phi/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/682-double-catch-phi/expected-stderr.txt
diff --git a/test/683-clinit-inline-static-invoke/expected-stderr.txt b/test/683-clinit-inline-static-invoke/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/683-clinit-inline-static-invoke/expected-stderr.txt
diff --git a/test/684-checker-simd-dotprod/Android.bp b/test/684-checker-simd-dotprod/Android.bp
index 23c98f8..553dc6c 100644
--- a/test/684-checker-simd-dotprod/Android.bp
+++ b/test/684-checker-simd-dotprod/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-684-checker-simd-dotprod-expected-stdout"],
+    data: [
+        ":art-run-test-684-checker-simd-dotprod-expected-stdout",
+        ":art-run-test-684-checker-simd-dotprod-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-684-checker-simd-dotprod-expected-stdout",
     out: ["art-run-test-684-checker-simd-dotprod-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-684-checker-simd-dotprod-expected-stderr",
+    out: ["art-run-test-684-checker-simd-dotprod-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/684-checker-simd-dotprod/expected-stderr.txt b/test/684-checker-simd-dotprod/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/684-checker-simd-dotprod/expected-stderr.txt
diff --git a/test/684-select-condition/Android.bp b/test/684-select-condition/Android.bp
index acc48db..be19070 100644
--- a/test/684-select-condition/Android.bp
+++ b/test/684-select-condition/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-684-select-condition-expected-stdout"],
+    data: [
+        ":art-run-test-684-select-condition-expected-stdout",
+        ":art-run-test-684-select-condition-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-684-select-condition-expected-stdout",
     out: ["art-run-test-684-select-condition-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-684-select-condition-expected-stderr",
+    out: ["art-run-test-684-select-condition-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/684-select-condition/expected-stderr.txt b/test/684-select-condition/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/684-select-condition/expected-stderr.txt
diff --git a/test/685-deoptimizeable/Android.bp b/test/685-deoptimizeable/Android.bp
index 83059c3..f92d9a4 100644
--- a/test/685-deoptimizeable/Android.bp
+++ b/test/685-deoptimizeable/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-685-deoptimizeable-expected-stdout"],
+    data: [
+        ":art-run-test-685-deoptimizeable-expected-stdout",
+        ":art-run-test-685-deoptimizeable-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-685-deoptimizeable-expected-stdout",
     out: ["art-run-test-685-deoptimizeable-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-685-deoptimizeable-expected-stderr",
+    out: ["art-run-test-685-deoptimizeable-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/685-deoptimizeable/expected-stderr.txt b/test/685-deoptimizeable/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/685-deoptimizeable/expected-stderr.txt
diff --git a/test/685-shifts/expected-stderr.txt b/test/685-shifts/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/685-shifts/expected-stderr.txt
diff --git a/test/686-get-this/expected-stderr.txt b/test/686-get-this/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/686-get-this/expected-stderr.txt
diff --git a/test/687-deopt/Android.bp b/test/687-deopt/Android.bp
index e9c75af..6ee6264 100644
--- a/test/687-deopt/Android.bp
+++ b/test/687-deopt/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-687-deopt-expected-stdout"],
+    data: [
+        ":art-run-test-687-deopt-expected-stdout",
+        ":art-run-test-687-deopt-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-687-deopt-expected-stdout",
     out: ["art-run-test-687-deopt-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-687-deopt-expected-stderr",
+    out: ["art-run-test-687-deopt-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/687-deopt/expected-stderr.txt b/test/687-deopt/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/687-deopt/expected-stderr.txt
diff --git a/test/688-shared-library/check b/test/688-shared-library/check
index 55847cd..8501835 100644
--- a/test/688-shared-library/check
+++ b/test/688-shared-library/check
@@ -14,9 +14,16 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # Finalizers of DexFile will complain not being able to close
 # the main dex file, as it's still open. That's OK to ignore.
 # Oat file manager will also complain about duplicate dex files. Ignore.
-sed -e '/^E\/System/d' "$2" | sed -e '/.*oat_file_manager.*/d' > "$2.tmp"
+sed -e '/^E\/System/d' "$4" | sed -e '/.*oat_file_manager.*/d' > "$4.tmp"
 
-diff --strip-trailing-cr -q "$1" "$2.tmp" >/dev/null
+diff --strip-trailing-cr -q "$1" "$2" >/dev/null \
+  && diff --strip-trailing-cr -q "$3" "$4.tmp" >/dev/null
diff --git a/test/688-shared-library/expected-stderr.txt b/test/688-shared-library/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/688-shared-library/expected-stderr.txt
diff --git a/test/689-multi-catch/Android.bp b/test/689-multi-catch/Android.bp
index be3e8c0..6aefc8c 100644
--- a/test/689-multi-catch/Android.bp
+++ b/test/689-multi-catch/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-689-multi-catch-expected-stdout"],
+    data: [
+        ":art-run-test-689-multi-catch-expected-stdout",
+        ":art-run-test-689-multi-catch-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-689-multi-catch-expected-stdout",
     out: ["art-run-test-689-multi-catch-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-689-multi-catch-expected-stderr",
+    out: ["art-run-test-689-multi-catch-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/689-multi-catch/expected-stderr.txt b/test/689-multi-catch/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/689-multi-catch/expected-stderr.txt
diff --git a/test/689-zygote-jit-deopt/Android.bp b/test/689-zygote-jit-deopt/Android.bp
index a1a36eb..e5ee298 100644
--- a/test/689-zygote-jit-deopt/Android.bp
+++ b/test/689-zygote-jit-deopt/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-689-zygote-jit-deopt-expected-stdout"],
+    data: [
+        ":art-run-test-689-zygote-jit-deopt-expected-stdout",
+        ":art-run-test-689-zygote-jit-deopt-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-689-zygote-jit-deopt-expected-stdout",
     out: ["art-run-test-689-zygote-jit-deopt-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-689-zygote-jit-deopt-expected-stderr",
+    out: ["art-run-test-689-zygote-jit-deopt-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/689-zygote-jit-deopt/expected-stderr.txt b/test/689-zygote-jit-deopt/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/689-zygote-jit-deopt/expected-stderr.txt
diff --git a/test/690-hiddenapi-same-name-methods/expected-stderr.txt b/test/690-hiddenapi-same-name-methods/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/690-hiddenapi-same-name-methods/expected-stderr.txt
diff --git a/test/691-hiddenapi-proxy/expected-stderr.txt b/test/691-hiddenapi-proxy/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/691-hiddenapi-proxy/expected-stderr.txt
diff --git a/test/692-vdex-inmem-loader/expected-stderr.txt b/test/692-vdex-inmem-loader/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/692-vdex-inmem-loader/expected-stderr.txt
diff --git a/test/693-vdex-inmem-loader-evict/Android.bp b/test/693-vdex-inmem-loader-evict/Android.bp
index 00565d2..51037d2 100644
--- a/test/693-vdex-inmem-loader-evict/Android.bp
+++ b/test/693-vdex-inmem-loader-evict/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-693-vdex-inmem-loader-evict-expected-stdout"],
+    data: [
+        ":art-run-test-693-vdex-inmem-loader-evict-expected-stdout",
+        ":art-run-test-693-vdex-inmem-loader-evict-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-693-vdex-inmem-loader-evict-expected-stdout",
     out: ["art-run-test-693-vdex-inmem-loader-evict-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-693-vdex-inmem-loader-evict-expected-stderr",
+    out: ["art-run-test-693-vdex-inmem-loader-evict-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/693-vdex-inmem-loader-evict/expected-stderr.txt b/test/693-vdex-inmem-loader-evict/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/693-vdex-inmem-loader-evict/expected-stderr.txt
diff --git a/test/694-clinit-jit/Android.bp b/test/694-clinit-jit/Android.bp
index 287e96c..16d667f 100644
--- a/test/694-clinit-jit/Android.bp
+++ b/test/694-clinit-jit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-694-clinit-jit-expected-stdout"],
+    data: [
+        ":art-run-test-694-clinit-jit-expected-stdout",
+        ":art-run-test-694-clinit-jit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-694-clinit-jit-expected-stdout",
     out: ["art-run-test-694-clinit-jit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-694-clinit-jit-expected-stderr",
+    out: ["art-run-test-694-clinit-jit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/694-clinit-jit/expected-stderr.txt b/test/694-clinit-jit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/694-clinit-jit/expected-stderr.txt
diff --git a/test/695-simplify-throws/Android.bp b/test/695-simplify-throws/Android.bp
index f0f4626..76acefc 100644
--- a/test/695-simplify-throws/Android.bp
+++ b/test/695-simplify-throws/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-695-simplify-throws-expected-stdout"],
+    data: [
+        ":art-run-test-695-simplify-throws-expected-stdout",
+        ":art-run-test-695-simplify-throws-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-695-simplify-throws-expected-stdout",
     out: ["art-run-test-695-simplify-throws-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-695-simplify-throws-expected-stderr",
+    out: ["art-run-test-695-simplify-throws-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/695-simplify-throws/expected-stderr.txt b/test/695-simplify-throws/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/695-simplify-throws/expected-stderr.txt
diff --git a/test/696-loop/Android.bp b/test/696-loop/Android.bp
index 062d825..cd2b682 100644
--- a/test/696-loop/Android.bp
+++ b/test/696-loop/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-696-loop-expected-stdout"],
+    data: [
+        ":art-run-test-696-loop-expected-stdout",
+        ":art-run-test-696-loop-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-696-loop-expected-stdout",
     out: ["art-run-test-696-loop-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-696-loop-expected-stderr",
+    out: ["art-run-test-696-loop-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/696-loop/expected-stderr.txt b/test/696-loop/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/696-loop/expected-stderr.txt
diff --git a/test/697-checker-string-append/Android.bp b/test/697-checker-string-append/Android.bp
index 2909088..eaa2811 100644
--- a/test/697-checker-string-append/Android.bp
+++ b/test/697-checker-string-append/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-697-checker-string-append-expected-stdout"],
+    data: [
+        ":art-run-test-697-checker-string-append-expected-stdout",
+        ":art-run-test-697-checker-string-append-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-697-checker-string-append-expected-stdout",
     out: ["art-run-test-697-checker-string-append-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-697-checker-string-append-expected-stderr",
+    out: ["art-run-test-697-checker-string-append-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/697-checker-string-append/expected-stderr.txt b/test/697-checker-string-append/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/697-checker-string-append/expected-stderr.txt
diff --git a/test/698-selects/Android.bp b/test/698-selects/Android.bp
index 03ce2b7..4b4ee69 100644
--- a/test/698-selects/Android.bp
+++ b/test/698-selects/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-698-selects-expected-stdout"],
+    data: [
+        ":art-run-test-698-selects-expected-stdout",
+        ":art-run-test-698-selects-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-698-selects-expected-stdout",
     out: ["art-run-test-698-selects-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-698-selects-expected-stderr",
+    out: ["art-run-test-698-selects-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/698-selects/expected-stderr.txt b/test/698-selects/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/698-selects/expected-stderr.txt
diff --git a/test/699-checker-string-append2/expected-stderr.txt b/test/699-checker-string-append2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/699-checker-string-append2/expected-stderr.txt
diff --git a/test/700-LoadArgRegs/Android.bp b/test/700-LoadArgRegs/Android.bp
index 133161e..9ffe7f0 100644
--- a/test/700-LoadArgRegs/Android.bp
+++ b/test/700-LoadArgRegs/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-700-LoadArgRegs-expected-stdout"],
+    data: [
+        ":art-run-test-700-LoadArgRegs-expected-stdout",
+        ":art-run-test-700-LoadArgRegs-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-700-LoadArgRegs-expected-stdout",
     out: ["art-run-test-700-LoadArgRegs-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-700-LoadArgRegs-expected-stderr",
+    out: ["art-run-test-700-LoadArgRegs-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/700-LoadArgRegs/expected-stderr.txt b/test/700-LoadArgRegs/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/700-LoadArgRegs/expected-stderr.txt
diff --git a/test/701-easy-div-rem/expected-stderr.txt b/test/701-easy-div-rem/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/701-easy-div-rem/expected-stderr.txt
diff --git a/test/702-LargeBranchOffset/expected-stderr.txt b/test/702-LargeBranchOffset/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/702-LargeBranchOffset/expected-stderr.txt
diff --git a/test/703-floating-point-div/Android.bp b/test/703-floating-point-div/Android.bp
index d4e9463..08aae97 100644
--- a/test/703-floating-point-div/Android.bp
+++ b/test/703-floating-point-div/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-703-floating-point-div-expected-stdout"],
+    data: [
+        ":art-run-test-703-floating-point-div-expected-stdout",
+        ":art-run-test-703-floating-point-div-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-703-floating-point-div-expected-stdout",
     out: ["art-run-test-703-floating-point-div-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-703-floating-point-div-expected-stderr",
+    out: ["art-run-test-703-floating-point-div-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/703-floating-point-div/expected-stderr.txt b/test/703-floating-point-div/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/703-floating-point-div/expected-stderr.txt
diff --git a/test/704-multiply-accumulate/Android.bp b/test/704-multiply-accumulate/Android.bp
index e8d271a..2f76d78 100644
--- a/test/704-multiply-accumulate/Android.bp
+++ b/test/704-multiply-accumulate/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-704-multiply-accumulate-expected-stdout"],
+    data: [
+        ":art-run-test-704-multiply-accumulate-expected-stdout",
+        ":art-run-test-704-multiply-accumulate-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-704-multiply-accumulate-expected-stdout",
     out: ["art-run-test-704-multiply-accumulate-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-704-multiply-accumulate-expected-stderr",
+    out: ["art-run-test-704-multiply-accumulate-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/704-multiply-accumulate/expected-stderr.txt b/test/704-multiply-accumulate/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/704-multiply-accumulate/expected-stderr.txt
diff --git a/test/705-register-conflict/Android.bp b/test/705-register-conflict/Android.bp
index bf81bac..c8bad92 100644
--- a/test/705-register-conflict/Android.bp
+++ b/test/705-register-conflict/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-705-register-conflict-expected-stdout"],
+    data: [
+        ":art-run-test-705-register-conflict-expected-stdout",
+        ":art-run-test-705-register-conflict-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-705-register-conflict-expected-stdout",
     out: ["art-run-test-705-register-conflict-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-705-register-conflict-expected-stderr",
+    out: ["art-run-test-705-register-conflict-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/705-register-conflict/expected-stderr.txt b/test/705-register-conflict/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/705-register-conflict/expected-stderr.txt
diff --git a/test/706-checker-scheduler/expected-stderr.txt b/test/706-checker-scheduler/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/706-checker-scheduler/expected-stderr.txt
diff --git a/test/707-checker-invalid-profile/Android.bp b/test/707-checker-invalid-profile/Android.bp
index 115e706..5ba907f 100644
--- a/test/707-checker-invalid-profile/Android.bp
+++ b/test/707-checker-invalid-profile/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-707-checker-invalid-profile-expected-stdout"],
+    data: [
+        ":art-run-test-707-checker-invalid-profile-expected-stdout",
+        ":art-run-test-707-checker-invalid-profile-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-707-checker-invalid-profile-expected-stdout",
     out: ["art-run-test-707-checker-invalid-profile-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-707-checker-invalid-profile-expected-stderr",
+    out: ["art-run-test-707-checker-invalid-profile-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/707-checker-invalid-profile/check b/test/707-checker-invalid-profile/check
index 976afc4..58d3a52 100755
--- a/test/707-checker-invalid-profile/check
+++ b/test/707-checker-invalid-profile/check
@@ -14,8 +14,15 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # When profile verification fails, dex2oat logs an error. The following
 # command strips out the error message.
 grep -v -f $1 $2 > $1
+grep -v -f $3 $4 > $3
 
 ./default-check "$@"
diff --git a/test/707-checker-invalid-profile/expected-stderr.txt b/test/707-checker-invalid-profile/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/707-checker-invalid-profile/expected-stderr.txt
diff --git a/test/708-jit-cache-churn/Android.bp b/test/708-jit-cache-churn/Android.bp
index 61099c1..60faf86 100644
--- a/test/708-jit-cache-churn/Android.bp
+++ b/test/708-jit-cache-churn/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-708-jit-cache-churn-expected-stdout"],
+    data: [
+        ":art-run-test-708-jit-cache-churn-expected-stdout",
+        ":art-run-test-708-jit-cache-churn-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-708-jit-cache-churn-expected-stdout",
     out: ["art-run-test-708-jit-cache-churn-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-708-jit-cache-churn-expected-stderr",
+    out: ["art-run-test-708-jit-cache-churn-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/708-jit-cache-churn/expected-stderr.txt b/test/708-jit-cache-churn/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/708-jit-cache-churn/expected-stderr.txt
diff --git a/test/710-varhandle-creation/expected-stderr.txt b/test/710-varhandle-creation/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/710-varhandle-creation/expected-stderr.txt
diff --git a/test/711-checker-type-conversion/Android.bp b/test/711-checker-type-conversion/Android.bp
index cab3f79..da16e82 100644
--- a/test/711-checker-type-conversion/Android.bp
+++ b/test/711-checker-type-conversion/Android.bp
@@ -8,16 +8,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-711-checker-type-conversion-expected-stdout"],
+    data: [
+        ":art-run-test-711-checker-type-conversion-expected-stdout",
+        ":art-run-test-711-checker-type-conversion-expected-stderr",
+    ],
     // Include the Java source files in the test's artifacts, to make Checker assertions
     // available to the TradeFed test runner.
     include_srcs: true,
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-711-checker-type-conversion-expected-stdout",
     out: ["art-run-test-711-checker-type-conversion-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-711-checker-type-conversion-expected-stderr",
+    out: ["art-run-test-711-checker-type-conversion-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/711-checker-type-conversion/expected-stderr.txt b/test/711-checker-type-conversion/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/711-checker-type-conversion/expected-stderr.txt
diff --git a/test/712-varhandle-invocations/expected-stderr.txt b/test/712-varhandle-invocations/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/712-varhandle-invocations/expected-stderr.txt
diff --git a/test/713-varhandle-invokers/expected-stderr.txt b/test/713-varhandle-invokers/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/713-varhandle-invokers/expected-stderr.txt
diff --git a/test/714-invoke-custom-lambda-metafactory/expected-stderr.txt b/test/714-invoke-custom-lambda-metafactory/expected-stderr.txt
new file mode 100644
index 0000000..f1d8b5f
--- /dev/null
+++ b/test/714-invoke-custom-lambda-metafactory/expected-stderr.txt
@@ -0,0 +1,4 @@
+Exception in thread "main" java.lang.BootstrapMethodError: Exception from call site #0 bootstrap method
+	at Main.main(Main.java:25)
+Caused by: java.lang.ClassCastException: Bootstrap method returned null
+	... 1 more
diff --git a/test/714-invoke-custom-lambda-metafactory/expected-stdout.txt b/test/714-invoke-custom-lambda-metafactory/expected-stdout.txt
index c98a4c2..a9bf5a0 100644
--- a/test/714-invoke-custom-lambda-metafactory/expected-stdout.txt
+++ b/test/714-invoke-custom-lambda-metafactory/expected-stdout.txt
@@ -1,5 +1 @@
-Exception in thread "main" java.lang.BootstrapMethodError: Exception from call site #0 bootstrap method
-	at Main.main(Main.java:25)
-Caused by: java.lang.ClassCastException: Bootstrap method returned null
-	... 1 more
 exit status: 1
diff --git a/test/715-clinit-implicit-parameter-annotations/expected-stderr.txt b/test/715-clinit-implicit-parameter-annotations/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/715-clinit-implicit-parameter-annotations/expected-stderr.txt
diff --git a/test/716-jli-jit-samples/expected-stderr.txt b/test/716-jli-jit-samples/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/716-jli-jit-samples/expected-stderr.txt
diff --git a/test/717-integer-value-of/Android.bp b/test/717-integer-value-of/Android.bp
index fae8899..b78b605 100644
--- a/test/717-integer-value-of/Android.bp
+++ b/test/717-integer-value-of/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-717-integer-value-of-expected-stdout"],
+    data: [
+        ":art-run-test-717-integer-value-of-expected-stdout",
+        ":art-run-test-717-integer-value-of-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-717-integer-value-of-expected-stdout",
     out: ["art-run-test-717-integer-value-of-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-717-integer-value-of-expected-stderr",
+    out: ["art-run-test-717-integer-value-of-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/717-integer-value-of/expected-stderr.txt b/test/717-integer-value-of/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/717-integer-value-of/expected-stderr.txt
diff --git a/test/718-zipfile-finalizer/Android.bp b/test/718-zipfile-finalizer/Android.bp
index 57921b9..e63bb64 100644
--- a/test/718-zipfile-finalizer/Android.bp
+++ b/test/718-zipfile-finalizer/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-718-zipfile-finalizer-expected-stdout"],
+    data: [
+        ":art-run-test-718-zipfile-finalizer-expected-stdout",
+        ":art-run-test-718-zipfile-finalizer-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-718-zipfile-finalizer-expected-stdout",
     out: ["art-run-test-718-zipfile-finalizer-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-718-zipfile-finalizer-expected-stderr",
+    out: ["art-run-test-718-zipfile-finalizer-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/718-zipfile-finalizer/expected-stderr.txt b/test/718-zipfile-finalizer/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/718-zipfile-finalizer/expected-stderr.txt
diff --git a/test/719-dm-verify-redefinition/check b/test/719-dm-verify-redefinition/check
index b10a0e2..63de858 100644
--- a/test/719-dm-verify-redefinition/check
+++ b/test/719-dm-verify-redefinition/check
@@ -14,9 +14,15 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Search for the redefinition line and remove unnecessary tags.
-sed -e 's/^dex2oat[d]\?\(\|32\|64\)\ W.*\] \(Fast verification failed: Class L[^;]*; redefines a class in the classpath\).*/\2/g' "$2" > "$2.tmp1"
-# Remove all other dex2oat/dalvikvm log lines.
-grep -v dex2oat "$2.tmp1" | grep -v dalvikvm >> "$2.tmp2"
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
 
-./default-check "$1" "$2.tmp2"
+# Search for the redefinition line and remove unnecessary tags.
+sed -e 's/^dex2oat[d]\?\(\|32\|64\)\ W.*\] \(Fast verification failed: Class L[^;]*; redefines a class in the classpath\).*/\2/g' "$4" > "$4.tmp1"
+# Remove all other dex2oat/dalvikvm log lines.
+grep -v dex2oat "$4.tmp1" | grep -v dalvikvm >> "$4.tmp2"
+
+./default-check "$1" "$2" "$3" "$4.tmp2"
diff --git a/test/719-dm-verify-redefinition/expected-stderr.txt b/test/719-dm-verify-redefinition/expected-stderr.txt
new file mode 100644
index 0000000..07b6f8b
--- /dev/null
+++ b/test/719-dm-verify-redefinition/expected-stderr.txt
@@ -0,0 +1 @@
+Fast verification failed: Class LRedefined; redefines a class in the classpath
diff --git a/test/719-dm-verify-redefinition/expected-stdout.txt b/test/719-dm-verify-redefinition/expected-stdout.txt
index c210c0d..af5626b 100644
--- a/test/719-dm-verify-redefinition/expected-stdout.txt
+++ b/test/719-dm-verify-redefinition/expected-stdout.txt
@@ -1,2 +1 @@
-Fast verification failed: Class LRedefined; redefines a class in the classpath
 Hello, world!
diff --git a/test/720-thread-priority/Android.bp b/test/720-thread-priority/Android.bp
index ae632d3..dff94ff 100644
--- a/test/720-thread-priority/Android.bp
+++ b/test/720-thread-priority/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-720-thread-priority-expected-stdout"],
+    data: [
+        ":art-run-test-720-thread-priority-expected-stdout",
+        ":art-run-test-720-thread-priority-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-720-thread-priority-expected-stdout",
     out: ["art-run-test-720-thread-priority-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-720-thread-priority-expected-stderr",
+    out: ["art-run-test-720-thread-priority-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/720-thread-priority/expected-stderr.txt b/test/720-thread-priority/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/720-thread-priority/expected-stderr.txt
diff --git a/test/721-osr/Android.bp b/test/721-osr/Android.bp
index d7c8d42..d435e50 100644
--- a/test/721-osr/Android.bp
+++ b/test/721-osr/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-721-osr-expected-stdout"],
+    data: [
+        ":art-run-test-721-osr-expected-stdout",
+        ":art-run-test-721-osr-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-721-osr-expected-stdout",
     out: ["art-run-test-721-osr-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-721-osr-expected-stderr",
+    out: ["art-run-test-721-osr-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/721-osr/expected-stderr.txt b/test/721-osr/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/721-osr/expected-stderr.txt
diff --git a/test/723-string-init-range/expected-stderr.txt b/test/723-string-init-range/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/723-string-init-range/expected-stderr.txt
diff --git a/test/724-invoke-super-npe/expected-stderr.txt b/test/724-invoke-super-npe/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/724-invoke-super-npe/expected-stderr.txt
diff --git a/test/725-imt-conflict-object/expected-stderr.txt b/test/725-imt-conflict-object/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/725-imt-conflict-object/expected-stderr.txt
diff --git a/test/726-array-store/Android.bp b/test/726-array-store/Android.bp
index fc688c6..b3ed2c5 100644
--- a/test/726-array-store/Android.bp
+++ b/test/726-array-store/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-726-array-store-expected-stdout"],
+    data: [
+        ":art-run-test-726-array-store-expected-stdout",
+        ":art-run-test-726-array-store-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-726-array-store-expected-stdout",
     out: ["art-run-test-726-array-store-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-726-array-store-expected-stderr",
+    out: ["art-run-test-726-array-store-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/726-array-store/expected-stderr.txt b/test/726-array-store/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/726-array-store/expected-stderr.txt
diff --git a/test/727-checker-unresolved-class/expected-stderr.txt b/test/727-checker-unresolved-class/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/727-checker-unresolved-class/expected-stderr.txt
diff --git a/test/800-smali/expected-stderr.txt b/test/800-smali/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/800-smali/expected-stderr.txt
diff --git a/test/801-VoidCheckCast/expected-stderr.txt b/test/801-VoidCheckCast/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/801-VoidCheckCast/expected-stderr.txt
diff --git a/test/802-deoptimization/expected-stderr.txt b/test/802-deoptimization/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/802-deoptimization/expected-stderr.txt
diff --git a/test/803-no-super/expected-stderr.txt b/test/803-no-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/803-no-super/expected-stderr.txt
diff --git a/test/804-class-extends-itself/expected-stderr.txt b/test/804-class-extends-itself/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/804-class-extends-itself/expected-stderr.txt
diff --git a/test/805-TooDeepClassInstanceOf/Android.bp b/test/805-TooDeepClassInstanceOf/Android.bp
index f90bc11..d4c2f3c 100644
--- a/test/805-TooDeepClassInstanceOf/Android.bp
+++ b/test/805-TooDeepClassInstanceOf/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-805-TooDeepClassInstanceOf-expected-stdout"],
+    data: [
+        ":art-run-test-805-TooDeepClassInstanceOf-expected-stdout",
+        ":art-run-test-805-TooDeepClassInstanceOf-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-805-TooDeepClassInstanceOf-expected-stdout",
     out: ["art-run-test-805-TooDeepClassInstanceOf-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-805-TooDeepClassInstanceOf-expected-stderr",
+    out: ["art-run-test-805-TooDeepClassInstanceOf-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/805-TooDeepClassInstanceOf/expected-stderr.txt b/test/805-TooDeepClassInstanceOf/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/805-TooDeepClassInstanceOf/expected-stderr.txt
diff --git a/test/806-TooWideClassInstanceOf/Android.bp b/test/806-TooWideClassInstanceOf/Android.bp
index f400d2f..bb3944b 100644
--- a/test/806-TooWideClassInstanceOf/Android.bp
+++ b/test/806-TooWideClassInstanceOf/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-806-TooWideClassInstanceOf-expected-stdout"],
+    data: [
+        ":art-run-test-806-TooWideClassInstanceOf-expected-stdout",
+        ":art-run-test-806-TooWideClassInstanceOf-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-806-TooWideClassInstanceOf-expected-stdout",
     out: ["art-run-test-806-TooWideClassInstanceOf-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-806-TooWideClassInstanceOf-expected-stderr",
+    out: ["art-run-test-806-TooWideClassInstanceOf-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/806-TooWideClassInstanceOf/expected-stderr.txt b/test/806-TooWideClassInstanceOf/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/806-TooWideClassInstanceOf/expected-stderr.txt
diff --git a/test/807-method-handle-and-mr/expected-stderr.txt b/test/807-method-handle-and-mr/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/807-method-handle-and-mr/expected-stderr.txt
diff --git a/test/808-checker-invoke-super/expected-stderr.txt b/test/808-checker-invoke-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/808-checker-invoke-super/expected-stderr.txt
diff --git a/test/809-checker-invoke-super-bss/expected-stderr.txt b/test/809-checker-invoke-super-bss/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/809-checker-invoke-super-bss/expected-stderr.txt
diff --git a/test/810-checker-invoke-super-default/expected-stderr.txt b/test/810-checker-invoke-super-default/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/810-checker-invoke-super-default/expected-stderr.txt
diff --git a/test/811-checker-invoke-super-secondary/expected-stderr.txt b/test/811-checker-invoke-super-secondary/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/811-checker-invoke-super-secondary/expected-stderr.txt
diff --git a/test/812-recursive-default/Android.bp b/test/812-recursive-default/Android.bp
index 2f5b45e..312de2d 100644
--- a/test/812-recursive-default/Android.bp
+++ b/test/812-recursive-default/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-812-recursive-default-expected-stdout"],
+    data: [
+        ":art-run-test-812-recursive-default-expected-stdout",
+        ":art-run-test-812-recursive-default-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-812-recursive-default-expected-stdout",
     out: ["art-run-test-812-recursive-default-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-812-recursive-default-expected-stderr",
+    out: ["art-run-test-812-recursive-default-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/812-recursive-default/expected-stderr.txt b/test/812-recursive-default/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/812-recursive-default/expected-stderr.txt
diff --git a/test/900-hello-plugin/Android.bp b/test/900-hello-plugin/Android.bp
index 7ff5fbb..70b1458 100644
--- a/test/900-hello-plugin/Android.bp
+++ b/test/900-hello-plugin/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-900-hello-plugin-expected-stdout"],
+    data: [
+        ":art-run-test-900-hello-plugin-expected-stdout",
+        ":art-run-test-900-hello-plugin-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-900-hello-plugin-expected-stdout",
     out: ["art-run-test-900-hello-plugin-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-900-hello-plugin-expected-stderr",
+    out: ["art-run-test-900-hello-plugin-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/900-hello-plugin/expected-stderr.txt b/test/900-hello-plugin/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/900-hello-plugin/expected-stderr.txt
diff --git a/test/901-hello-ti-agent/Android.bp b/test/901-hello-ti-agent/Android.bp
index cd0b9f0..cb4afe8 100644
--- a/test/901-hello-ti-agent/Android.bp
+++ b/test/901-hello-ti-agent/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-901-hello-ti-agent-expected-stdout"],
+    data: [
+        ":art-run-test-901-hello-ti-agent-expected-stdout",
+        ":art-run-test-901-hello-ti-agent-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-901-hello-ti-agent-expected-stdout",
     out: ["art-run-test-901-hello-ti-agent-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-901-hello-ti-agent-expected-stderr",
+    out: ["art-run-test-901-hello-ti-agent-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/901-hello-ti-agent/expected-stderr.txt b/test/901-hello-ti-agent/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/901-hello-ti-agent/expected-stderr.txt
diff --git a/test/902-hello-transformation/Android.bp b/test/902-hello-transformation/Android.bp
index 734fb91..21a4c84 100644
--- a/test/902-hello-transformation/Android.bp
+++ b/test/902-hello-transformation/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-902-hello-transformation-expected-stdout"],
+    data: [
+        ":art-run-test-902-hello-transformation-expected-stdout",
+        ":art-run-test-902-hello-transformation-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-902-hello-transformation-expected-stdout",
     out: ["art-run-test-902-hello-transformation-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-902-hello-transformation-expected-stderr",
+    out: ["art-run-test-902-hello-transformation-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/902-hello-transformation/expected-stderr.txt b/test/902-hello-transformation/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/902-hello-transformation/expected-stderr.txt
diff --git a/test/903-hello-tagging/Android.bp b/test/903-hello-tagging/Android.bp
index d924634..03752d1 100644
--- a/test/903-hello-tagging/Android.bp
+++ b/test/903-hello-tagging/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-903-hello-tagging-expected-stdout"],
+    data: [
+        ":art-run-test-903-hello-tagging-expected-stdout",
+        ":art-run-test-903-hello-tagging-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-903-hello-tagging-expected-stdout",
     out: ["art-run-test-903-hello-tagging-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-903-hello-tagging-expected-stderr",
+    out: ["art-run-test-903-hello-tagging-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/903-hello-tagging/expected-stderr.txt b/test/903-hello-tagging/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/903-hello-tagging/expected-stderr.txt
diff --git a/test/904-object-allocation/Android.bp b/test/904-object-allocation/Android.bp
index cb46af5..b01dc76 100644
--- a/test/904-object-allocation/Android.bp
+++ b/test/904-object-allocation/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-904-object-allocation-expected-stdout"],
+    data: [
+        ":art-run-test-904-object-allocation-expected-stdout",
+        ":art-run-test-904-object-allocation-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-904-object-allocation-expected-stdout",
     out: ["art-run-test-904-object-allocation-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-904-object-allocation-expected-stderr",
+    out: ["art-run-test-904-object-allocation-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/904-object-allocation/expected-stderr.txt b/test/904-object-allocation/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/904-object-allocation/expected-stderr.txt
diff --git a/test/905-object-free/Android.bp b/test/905-object-free/Android.bp
index 07e7bf8..8043d55 100644
--- a/test/905-object-free/Android.bp
+++ b/test/905-object-free/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-905-object-free-expected-stdout"],
+    data: [
+        ":art-run-test-905-object-free-expected-stdout",
+        ":art-run-test-905-object-free-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-905-object-free-expected-stdout",
     out: ["art-run-test-905-object-free-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-905-object-free-expected-stderr",
+    out: ["art-run-test-905-object-free-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/905-object-free/expected-stderr.txt b/test/905-object-free/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/905-object-free/expected-stderr.txt
diff --git a/test/906-iterate-heap/Android.bp b/test/906-iterate-heap/Android.bp
index d248bff..a5b6db0 100644
--- a/test/906-iterate-heap/Android.bp
+++ b/test/906-iterate-heap/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-906-iterate-heap-expected-stdout"],
+    data: [
+        ":art-run-test-906-iterate-heap-expected-stdout",
+        ":art-run-test-906-iterate-heap-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-906-iterate-heap-expected-stdout",
     out: ["art-run-test-906-iterate-heap-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-906-iterate-heap-expected-stderr",
+    out: ["art-run-test-906-iterate-heap-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/906-iterate-heap/expected-stderr.txt b/test/906-iterate-heap/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/906-iterate-heap/expected-stderr.txt
diff --git a/test/907-get-loaded-classes/Android.bp b/test/907-get-loaded-classes/Android.bp
index fd93096..c29ef2d 100644
--- a/test/907-get-loaded-classes/Android.bp
+++ b/test/907-get-loaded-classes/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-907-get-loaded-classes-expected-stdout"],
+    data: [
+        ":art-run-test-907-get-loaded-classes-expected-stdout",
+        ":art-run-test-907-get-loaded-classes-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-907-get-loaded-classes-expected-stdout",
     out: ["art-run-test-907-get-loaded-classes-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-907-get-loaded-classes-expected-stderr",
+    out: ["art-run-test-907-get-loaded-classes-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/907-get-loaded-classes/expected-stderr.txt b/test/907-get-loaded-classes/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/907-get-loaded-classes/expected-stderr.txt
diff --git a/test/908-gc-start-finish/Android.bp b/test/908-gc-start-finish/Android.bp
index e5f1865..20cb876 100644
--- a/test/908-gc-start-finish/Android.bp
+++ b/test/908-gc-start-finish/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-908-gc-start-finish-expected-stdout"],
+    data: [
+        ":art-run-test-908-gc-start-finish-expected-stdout",
+        ":art-run-test-908-gc-start-finish-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-908-gc-start-finish-expected-stdout",
     out: ["art-run-test-908-gc-start-finish-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-908-gc-start-finish-expected-stderr",
+    out: ["art-run-test-908-gc-start-finish-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/908-gc-start-finish/expected-stderr.txt b/test/908-gc-start-finish/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/908-gc-start-finish/expected-stderr.txt
diff --git a/test/909-attach-agent/expected-stderr.txt b/test/909-attach-agent/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/909-attach-agent/expected-stderr.txt
diff --git a/test/910-methods/Android.bp b/test/910-methods/Android.bp
index e017242..a06d76e 100644
--- a/test/910-methods/Android.bp
+++ b/test/910-methods/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-910-methods-expected-stdout"],
+    data: [
+        ":art-run-test-910-methods-expected-stdout",
+        ":art-run-test-910-methods-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-910-methods-expected-stdout",
     out: ["art-run-test-910-methods-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-910-methods-expected-stderr",
+    out: ["art-run-test-910-methods-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/910-methods/expected-stderr.txt b/test/910-methods/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/910-methods/expected-stderr.txt
diff --git a/test/911-get-stack-trace/Android.bp b/test/911-get-stack-trace/Android.bp
index e75222f..5e963e0 100644
--- a/test/911-get-stack-trace/Android.bp
+++ b/test/911-get-stack-trace/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-911-get-stack-trace-expected-stdout"],
+    data: [
+        ":art-run-test-911-get-stack-trace-expected-stdout",
+        ":art-run-test-911-get-stack-trace-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-911-get-stack-trace-expected-stdout",
     out: ["art-run-test-911-get-stack-trace-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-911-get-stack-trace-expected-stderr",
+    out: ["art-run-test-911-get-stack-trace-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/911-get-stack-trace/expected-stderr.txt b/test/911-get-stack-trace/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/911-get-stack-trace/expected-stderr.txt
diff --git a/test/912-classes/expected-stderr.txt b/test/912-classes/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/912-classes/expected-stderr.txt
diff --git a/test/913-heaps/Android.bp b/test/913-heaps/Android.bp
index 6ef49ad..f9808e4 100644
--- a/test/913-heaps/Android.bp
+++ b/test/913-heaps/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-913-heaps-expected-stdout"],
+    data: [
+        ":art-run-test-913-heaps-expected-stdout",
+        ":art-run-test-913-heaps-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-913-heaps-expected-stdout",
     out: ["art-run-test-913-heaps-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-913-heaps-expected-stderr",
+    out: ["art-run-test-913-heaps-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/913-heaps/expected-stderr.txt b/test/913-heaps/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/913-heaps/expected-stderr.txt
diff --git a/test/914-hello-obsolescence/Android.bp b/test/914-hello-obsolescence/Android.bp
index 5057f43..25f78bd 100644
--- a/test/914-hello-obsolescence/Android.bp
+++ b/test/914-hello-obsolescence/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-914-hello-obsolescence-expected-stdout"],
+    data: [
+        ":art-run-test-914-hello-obsolescence-expected-stdout",
+        ":art-run-test-914-hello-obsolescence-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-914-hello-obsolescence-expected-stdout",
     out: ["art-run-test-914-hello-obsolescence-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-914-hello-obsolescence-expected-stderr",
+    out: ["art-run-test-914-hello-obsolescence-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/914-hello-obsolescence/expected-stderr.txt b/test/914-hello-obsolescence/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/914-hello-obsolescence/expected-stderr.txt
diff --git a/test/915-obsolete-2/Android.bp b/test/915-obsolete-2/Android.bp
index 5c1669b..e78da7e 100644
--- a/test/915-obsolete-2/Android.bp
+++ b/test/915-obsolete-2/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-915-obsolete-2-expected-stdout"],
+    data: [
+        ":art-run-test-915-obsolete-2-expected-stdout",
+        ":art-run-test-915-obsolete-2-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-915-obsolete-2-expected-stdout",
     out: ["art-run-test-915-obsolete-2-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-915-obsolete-2-expected-stderr",
+    out: ["art-run-test-915-obsolete-2-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/915-obsolete-2/expected-stderr.txt b/test/915-obsolete-2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/915-obsolete-2/expected-stderr.txt
diff --git a/test/916-obsolete-jit/Android.bp b/test/916-obsolete-jit/Android.bp
index 3db5d3c..2635111 100644
--- a/test/916-obsolete-jit/Android.bp
+++ b/test/916-obsolete-jit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-916-obsolete-jit-expected-stdout"],
+    data: [
+        ":art-run-test-916-obsolete-jit-expected-stdout",
+        ":art-run-test-916-obsolete-jit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-916-obsolete-jit-expected-stdout",
     out: ["art-run-test-916-obsolete-jit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-916-obsolete-jit-expected-stderr",
+    out: ["art-run-test-916-obsolete-jit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/916-obsolete-jit/expected-stderr.txt b/test/916-obsolete-jit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/916-obsolete-jit/expected-stderr.txt
diff --git a/test/917-fields-transformation/Android.bp b/test/917-fields-transformation/Android.bp
index f7e3d66..bf4da98 100644
--- a/test/917-fields-transformation/Android.bp
+++ b/test/917-fields-transformation/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-917-fields-transformation-expected-stdout"],
+    data: [
+        ":art-run-test-917-fields-transformation-expected-stdout",
+        ":art-run-test-917-fields-transformation-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-917-fields-transformation-expected-stdout",
     out: ["art-run-test-917-fields-transformation-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-917-fields-transformation-expected-stderr",
+    out: ["art-run-test-917-fields-transformation-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/917-fields-transformation/expected-stderr.txt b/test/917-fields-transformation/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/917-fields-transformation/expected-stderr.txt
diff --git a/test/918-fields/Android.bp b/test/918-fields/Android.bp
index 73395c2..bac812d 100644
--- a/test/918-fields/Android.bp
+++ b/test/918-fields/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-918-fields-expected-stdout"],
+    data: [
+        ":art-run-test-918-fields-expected-stdout",
+        ":art-run-test-918-fields-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-918-fields-expected-stdout",
     out: ["art-run-test-918-fields-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-918-fields-expected-stderr",
+    out: ["art-run-test-918-fields-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/918-fields/expected-stderr.txt b/test/918-fields/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/918-fields/expected-stderr.txt
diff --git a/test/919-obsolete-fields/Android.bp b/test/919-obsolete-fields/Android.bp
index 02abafd..0ecb83b 100644
--- a/test/919-obsolete-fields/Android.bp
+++ b/test/919-obsolete-fields/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-919-obsolete-fields-expected-stdout"],
+    data: [
+        ":art-run-test-919-obsolete-fields-expected-stdout",
+        ":art-run-test-919-obsolete-fields-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-919-obsolete-fields-expected-stdout",
     out: ["art-run-test-919-obsolete-fields-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-919-obsolete-fields-expected-stderr",
+    out: ["art-run-test-919-obsolete-fields-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/919-obsolete-fields/expected-stderr.txt b/test/919-obsolete-fields/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/919-obsolete-fields/expected-stderr.txt
diff --git a/test/920-objects/Android.bp b/test/920-objects/Android.bp
index 984d4a3..0a7d65c 100644
--- a/test/920-objects/Android.bp
+++ b/test/920-objects/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-920-objects-expected-stdout"],
+    data: [
+        ":art-run-test-920-objects-expected-stdout",
+        ":art-run-test-920-objects-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-920-objects-expected-stdout",
     out: ["art-run-test-920-objects-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-920-objects-expected-stderr",
+    out: ["art-run-test-920-objects-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/920-objects/expected-stderr.txt b/test/920-objects/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/920-objects/expected-stderr.txt
diff --git a/test/921-hello-failure/Android.bp b/test/921-hello-failure/Android.bp
index 40768a6..ed57f6a 100644
--- a/test/921-hello-failure/Android.bp
+++ b/test/921-hello-failure/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-921-hello-failure-expected-stdout"],
+    data: [
+        ":art-run-test-921-hello-failure-expected-stdout",
+        ":art-run-test-921-hello-failure-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-921-hello-failure-expected-stdout",
     out: ["art-run-test-921-hello-failure-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-921-hello-failure-expected-stderr",
+    out: ["art-run-test-921-hello-failure-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/921-hello-failure/expected-stderr.txt b/test/921-hello-failure/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/921-hello-failure/expected-stderr.txt
diff --git a/test/922-properties/Android.bp b/test/922-properties/Android.bp
index 594611d..01c7e8b 100644
--- a/test/922-properties/Android.bp
+++ b/test/922-properties/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-922-properties-expected-stdout"],
+    data: [
+        ":art-run-test-922-properties-expected-stdout",
+        ":art-run-test-922-properties-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-922-properties-expected-stdout",
     out: ["art-run-test-922-properties-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-922-properties-expected-stderr",
+    out: ["art-run-test-922-properties-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/922-properties/expected-stderr.txt b/test/922-properties/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/922-properties/expected-stderr.txt
diff --git a/test/923-monitors/Android.bp b/test/923-monitors/Android.bp
index cf4262b..8293df9 100644
--- a/test/923-monitors/Android.bp
+++ b/test/923-monitors/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-923-monitors-expected-stdout"],
+    data: [
+        ":art-run-test-923-monitors-expected-stdout",
+        ":art-run-test-923-monitors-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-923-monitors-expected-stdout",
     out: ["art-run-test-923-monitors-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-923-monitors-expected-stderr",
+    out: ["art-run-test-923-monitors-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/923-monitors/expected-stderr.txt b/test/923-monitors/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/923-monitors/expected-stderr.txt
diff --git a/test/924-threads/Android.bp b/test/924-threads/Android.bp
index 052f82b..9cf5489 100644
--- a/test/924-threads/Android.bp
+++ b/test/924-threads/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-924-threads-expected-stdout"],
+    data: [
+        ":art-run-test-924-threads-expected-stdout",
+        ":art-run-test-924-threads-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-924-threads-expected-stdout",
     out: ["art-run-test-924-threads-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-924-threads-expected-stderr",
+    out: ["art-run-test-924-threads-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/924-threads/expected-stderr.txt b/test/924-threads/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/924-threads/expected-stderr.txt
diff --git a/test/925-threadgroups/Android.bp b/test/925-threadgroups/Android.bp
index e162963..32f0789 100644
--- a/test/925-threadgroups/Android.bp
+++ b/test/925-threadgroups/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-925-threadgroups-expected-stdout"],
+    data: [
+        ":art-run-test-925-threadgroups-expected-stdout",
+        ":art-run-test-925-threadgroups-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-925-threadgroups-expected-stdout",
     out: ["art-run-test-925-threadgroups-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-925-threadgroups-expected-stderr",
+    out: ["art-run-test-925-threadgroups-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/925-threadgroups/expected-stderr.txt b/test/925-threadgroups/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/925-threadgroups/expected-stderr.txt
diff --git a/test/926-multi-obsolescence/Android.bp b/test/926-multi-obsolescence/Android.bp
index 07c637e..cebb9ee 100644
--- a/test/926-multi-obsolescence/Android.bp
+++ b/test/926-multi-obsolescence/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-926-multi-obsolescence-expected-stdout"],
+    data: [
+        ":art-run-test-926-multi-obsolescence-expected-stdout",
+        ":art-run-test-926-multi-obsolescence-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-926-multi-obsolescence-expected-stdout",
     out: ["art-run-test-926-multi-obsolescence-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-926-multi-obsolescence-expected-stderr",
+    out: ["art-run-test-926-multi-obsolescence-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/926-multi-obsolescence/expected-stderr.txt b/test/926-multi-obsolescence/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/926-multi-obsolescence/expected-stderr.txt
diff --git a/test/927-timers/Android.bp b/test/927-timers/Android.bp
index ae3da0d..cecaa9c 100644
--- a/test/927-timers/Android.bp
+++ b/test/927-timers/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-927-timers-expected-stdout"],
+    data: [
+        ":art-run-test-927-timers-expected-stdout",
+        ":art-run-test-927-timers-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-927-timers-expected-stdout",
     out: ["art-run-test-927-timers-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-927-timers-expected-stderr",
+    out: ["art-run-test-927-timers-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/927-timers/expected-stderr.txt b/test/927-timers/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/927-timers/expected-stderr.txt
diff --git a/test/928-jni-table/Android.bp b/test/928-jni-table/Android.bp
index ef63865..91ca680 100644
--- a/test/928-jni-table/Android.bp
+++ b/test/928-jni-table/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-928-jni-table-expected-stdout"],
+    data: [
+        ":art-run-test-928-jni-table-expected-stdout",
+        ":art-run-test-928-jni-table-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-928-jni-table-expected-stdout",
     out: ["art-run-test-928-jni-table-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-928-jni-table-expected-stderr",
+    out: ["art-run-test-928-jni-table-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/928-jni-table/expected-stderr.txt b/test/928-jni-table/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/928-jni-table/expected-stderr.txt
diff --git a/test/929-search/expected-stderr.txt b/test/929-search/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/929-search/expected-stderr.txt
diff --git a/test/930-hello-retransform/Android.bp b/test/930-hello-retransform/Android.bp
index f58261a..a62f8f5 100644
--- a/test/930-hello-retransform/Android.bp
+++ b/test/930-hello-retransform/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-930-hello-retransform-expected-stdout"],
+    data: [
+        ":art-run-test-930-hello-retransform-expected-stdout",
+        ":art-run-test-930-hello-retransform-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-930-hello-retransform-expected-stdout",
     out: ["art-run-test-930-hello-retransform-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-930-hello-retransform-expected-stderr",
+    out: ["art-run-test-930-hello-retransform-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/930-hello-retransform/expected-stderr.txt b/test/930-hello-retransform/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/930-hello-retransform/expected-stderr.txt
diff --git a/test/931-agent-thread/Android.bp b/test/931-agent-thread/Android.bp
index 793da2d..e8d46b8 100644
--- a/test/931-agent-thread/Android.bp
+++ b/test/931-agent-thread/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-931-agent-thread-expected-stdout"],
+    data: [
+        ":art-run-test-931-agent-thread-expected-stdout",
+        ":art-run-test-931-agent-thread-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-931-agent-thread-expected-stdout",
     out: ["art-run-test-931-agent-thread-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-931-agent-thread-expected-stderr",
+    out: ["art-run-test-931-agent-thread-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/931-agent-thread/expected-stderr.txt b/test/931-agent-thread/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/931-agent-thread/expected-stderr.txt
diff --git a/test/932-transform-saves/Android.bp b/test/932-transform-saves/Android.bp
index 022a8cb..ea7eae6 100644
--- a/test/932-transform-saves/Android.bp
+++ b/test/932-transform-saves/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-932-transform-saves-expected-stdout"],
+    data: [
+        ":art-run-test-932-transform-saves-expected-stdout",
+        ":art-run-test-932-transform-saves-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-932-transform-saves-expected-stdout",
     out: ["art-run-test-932-transform-saves-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-932-transform-saves-expected-stderr",
+    out: ["art-run-test-932-transform-saves-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/932-transform-saves/expected-stderr.txt b/test/932-transform-saves/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/932-transform-saves/expected-stderr.txt
diff --git a/test/933-misc-events/Android.bp b/test/933-misc-events/Android.bp
index 01fdefc..7fb43d0 100644
--- a/test/933-misc-events/Android.bp
+++ b/test/933-misc-events/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-933-misc-events-expected-stdout"],
+    data: [
+        ":art-run-test-933-misc-events-expected-stdout",
+        ":art-run-test-933-misc-events-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-933-misc-events-expected-stdout",
     out: ["art-run-test-933-misc-events-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-933-misc-events-expected-stderr",
+    out: ["art-run-test-933-misc-events-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/933-misc-events/expected-stderr.txt b/test/933-misc-events/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/933-misc-events/expected-stderr.txt
diff --git a/test/934-load-transform/expected-stderr.txt b/test/934-load-transform/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/934-load-transform/expected-stderr.txt
diff --git a/test/935-non-retransformable/expected-stderr.txt b/test/935-non-retransformable/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/935-non-retransformable/expected-stderr.txt
diff --git a/test/936-search-onload/expected-stderr.txt b/test/936-search-onload/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/936-search-onload/expected-stderr.txt
diff --git a/test/937-hello-retransform-package/Android.bp b/test/937-hello-retransform-package/Android.bp
index 54f12bb..517c378 100644
--- a/test/937-hello-retransform-package/Android.bp
+++ b/test/937-hello-retransform-package/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-937-hello-retransform-package-expected-stdout"],
+    data: [
+        ":art-run-test-937-hello-retransform-package-expected-stdout",
+        ":art-run-test-937-hello-retransform-package-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-937-hello-retransform-package-expected-stdout",
     out: ["art-run-test-937-hello-retransform-package-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-937-hello-retransform-package-expected-stderr",
+    out: ["art-run-test-937-hello-retransform-package-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/937-hello-retransform-package/expected-stderr.txt b/test/937-hello-retransform-package/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/937-hello-retransform-package/expected-stderr.txt
diff --git a/test/938-load-transform-bcp/expected-stderr.txt b/test/938-load-transform-bcp/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/938-load-transform-bcp/expected-stderr.txt
diff --git a/test/939-hello-transformation-bcp/Android.bp b/test/939-hello-transformation-bcp/Android.bp
index 2f32376..1baf347 100644
--- a/test/939-hello-transformation-bcp/Android.bp
+++ b/test/939-hello-transformation-bcp/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-939-hello-transformation-bcp-expected-stdout"],
+    data: [
+        ":art-run-test-939-hello-transformation-bcp-expected-stdout",
+        ":art-run-test-939-hello-transformation-bcp-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-939-hello-transformation-bcp-expected-stdout",
     out: ["art-run-test-939-hello-transformation-bcp-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-939-hello-transformation-bcp-expected-stderr",
+    out: ["art-run-test-939-hello-transformation-bcp-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/939-hello-transformation-bcp/expected-stderr.txt b/test/939-hello-transformation-bcp/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/939-hello-transformation-bcp/expected-stderr.txt
diff --git a/test/940-recursive-obsolete/Android.bp b/test/940-recursive-obsolete/Android.bp
index baf1e50..871c765 100644
--- a/test/940-recursive-obsolete/Android.bp
+++ b/test/940-recursive-obsolete/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-940-recursive-obsolete-expected-stdout"],
+    data: [
+        ":art-run-test-940-recursive-obsolete-expected-stdout",
+        ":art-run-test-940-recursive-obsolete-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-940-recursive-obsolete-expected-stdout",
     out: ["art-run-test-940-recursive-obsolete-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-940-recursive-obsolete-expected-stderr",
+    out: ["art-run-test-940-recursive-obsolete-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/940-recursive-obsolete/expected-stderr.txt b/test/940-recursive-obsolete/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/940-recursive-obsolete/expected-stderr.txt
diff --git a/test/941-recursive-obsolete-jit/Android.bp b/test/941-recursive-obsolete-jit/Android.bp
index 166324d..4961ec6 100644
--- a/test/941-recursive-obsolete-jit/Android.bp
+++ b/test/941-recursive-obsolete-jit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-941-recursive-obsolete-jit-expected-stdout"],
+    data: [
+        ":art-run-test-941-recursive-obsolete-jit-expected-stdout",
+        ":art-run-test-941-recursive-obsolete-jit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-941-recursive-obsolete-jit-expected-stdout",
     out: ["art-run-test-941-recursive-obsolete-jit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-941-recursive-obsolete-jit-expected-stderr",
+    out: ["art-run-test-941-recursive-obsolete-jit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/941-recursive-obsolete-jit/expected-stderr.txt b/test/941-recursive-obsolete-jit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/941-recursive-obsolete-jit/expected-stderr.txt
diff --git a/test/942-private-recursive/Android.bp b/test/942-private-recursive/Android.bp
index a8fd9b4..6b5eb6b 100644
--- a/test/942-private-recursive/Android.bp
+++ b/test/942-private-recursive/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-942-private-recursive-expected-stdout"],
+    data: [
+        ":art-run-test-942-private-recursive-expected-stdout",
+        ":art-run-test-942-private-recursive-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-942-private-recursive-expected-stdout",
     out: ["art-run-test-942-private-recursive-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-942-private-recursive-expected-stderr",
+    out: ["art-run-test-942-private-recursive-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/942-private-recursive/expected-stderr.txt b/test/942-private-recursive/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/942-private-recursive/expected-stderr.txt
diff --git a/test/943-private-recursive-jit/Android.bp b/test/943-private-recursive-jit/Android.bp
index e3cd42d..63a6c52 100644
--- a/test/943-private-recursive-jit/Android.bp
+++ b/test/943-private-recursive-jit/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-943-private-recursive-jit-expected-stdout"],
+    data: [
+        ":art-run-test-943-private-recursive-jit-expected-stdout",
+        ":art-run-test-943-private-recursive-jit-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-943-private-recursive-jit-expected-stdout",
     out: ["art-run-test-943-private-recursive-jit-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-943-private-recursive-jit-expected-stderr",
+    out: ["art-run-test-943-private-recursive-jit-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/943-private-recursive-jit/expected-stderr.txt b/test/943-private-recursive-jit/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/943-private-recursive-jit/expected-stderr.txt
diff --git a/test/944-transform-classloaders/Android.bp b/test/944-transform-classloaders/Android.bp
index 9348f51..2d80a67 100644
--- a/test/944-transform-classloaders/Android.bp
+++ b/test/944-transform-classloaders/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-944-transform-classloaders-expected-stdout"],
+    data: [
+        ":art-run-test-944-transform-classloaders-expected-stdout",
+        ":art-run-test-944-transform-classloaders-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-944-transform-classloaders-expected-stdout",
     out: ["art-run-test-944-transform-classloaders-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-944-transform-classloaders-expected-stderr",
+    out: ["art-run-test-944-transform-classloaders-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/944-transform-classloaders/expected-stderr.txt b/test/944-transform-classloaders/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/944-transform-classloaders/expected-stderr.txt
diff --git a/test/945-obsolete-native/Android.bp b/test/945-obsolete-native/Android.bp
index 3849293..578c280 100644
--- a/test/945-obsolete-native/Android.bp
+++ b/test/945-obsolete-native/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-945-obsolete-native-expected-stdout"],
+    data: [
+        ":art-run-test-945-obsolete-native-expected-stdout",
+        ":art-run-test-945-obsolete-native-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-945-obsolete-native-expected-stdout",
     out: ["art-run-test-945-obsolete-native-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-945-obsolete-native-expected-stderr",
+    out: ["art-run-test-945-obsolete-native-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/945-obsolete-native/expected-stderr.txt b/test/945-obsolete-native/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/945-obsolete-native/expected-stderr.txt
diff --git a/test/946-obsolete-throw/Android.bp b/test/946-obsolete-throw/Android.bp
index d02117f..0375e50 100644
--- a/test/946-obsolete-throw/Android.bp
+++ b/test/946-obsolete-throw/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-946-obsolete-throw-expected-stdout"],
+    data: [
+        ":art-run-test-946-obsolete-throw-expected-stdout",
+        ":art-run-test-946-obsolete-throw-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-946-obsolete-throw-expected-stdout",
     out: ["art-run-test-946-obsolete-throw-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-946-obsolete-throw-expected-stderr",
+    out: ["art-run-test-946-obsolete-throw-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/946-obsolete-throw/expected-stderr.txt b/test/946-obsolete-throw/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/946-obsolete-throw/expected-stderr.txt
diff --git a/test/947-reflect-method/Android.bp b/test/947-reflect-method/Android.bp
index 880cbd6..13602de 100644
--- a/test/947-reflect-method/Android.bp
+++ b/test/947-reflect-method/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-947-reflect-method-expected-stdout"],
+    data: [
+        ":art-run-test-947-reflect-method-expected-stdout",
+        ":art-run-test-947-reflect-method-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-947-reflect-method-expected-stdout",
     out: ["art-run-test-947-reflect-method-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-947-reflect-method-expected-stderr",
+    out: ["art-run-test-947-reflect-method-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/947-reflect-method/expected-stderr.txt b/test/947-reflect-method/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/947-reflect-method/expected-stderr.txt
diff --git a/test/948-change-annotations/expected-stderr.txt b/test/948-change-annotations/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/948-change-annotations/expected-stderr.txt
diff --git a/test/949-in-memory-transform/Android.bp b/test/949-in-memory-transform/Android.bp
index c5c6082..ca0ed41 100644
--- a/test/949-in-memory-transform/Android.bp
+++ b/test/949-in-memory-transform/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-949-in-memory-transform-expected-stdout"],
+    data: [
+        ":art-run-test-949-in-memory-transform-expected-stdout",
+        ":art-run-test-949-in-memory-transform-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-949-in-memory-transform-expected-stdout",
     out: ["art-run-test-949-in-memory-transform-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-949-in-memory-transform-expected-stderr",
+    out: ["art-run-test-949-in-memory-transform-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/949-in-memory-transform/expected-stderr.txt b/test/949-in-memory-transform/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/949-in-memory-transform/expected-stderr.txt
diff --git a/test/950-redefine-intrinsic/Android.bp b/test/950-redefine-intrinsic/Android.bp
index cd4e610..2b5a6ad 100644
--- a/test/950-redefine-intrinsic/Android.bp
+++ b/test/950-redefine-intrinsic/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-950-redefine-intrinsic-expected-stdout"],
+    data: [
+        ":art-run-test-950-redefine-intrinsic-expected-stdout",
+        ":art-run-test-950-redefine-intrinsic-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-950-redefine-intrinsic-expected-stdout",
     out: ["art-run-test-950-redefine-intrinsic-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-950-redefine-intrinsic-expected-stderr",
+    out: ["art-run-test-950-redefine-intrinsic-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/950-redefine-intrinsic/expected-stderr.txt b/test/950-redefine-intrinsic/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/950-redefine-intrinsic/expected-stderr.txt
diff --git a/test/951-threaded-obsolete/Android.bp b/test/951-threaded-obsolete/Android.bp
index 2aa4901..24ed76f 100644
--- a/test/951-threaded-obsolete/Android.bp
+++ b/test/951-threaded-obsolete/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-951-threaded-obsolete-expected-stdout"],
+    data: [
+        ":art-run-test-951-threaded-obsolete-expected-stdout",
+        ":art-run-test-951-threaded-obsolete-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-951-threaded-obsolete-expected-stdout",
     out: ["art-run-test-951-threaded-obsolete-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-951-threaded-obsolete-expected-stderr",
+    out: ["art-run-test-951-threaded-obsolete-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/951-threaded-obsolete/expected-stderr.txt b/test/951-threaded-obsolete/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/951-threaded-obsolete/expected-stderr.txt
diff --git a/test/952-invoke-custom/expected-stderr.txt b/test/952-invoke-custom/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/952-invoke-custom/expected-stderr.txt
diff --git a/test/953-invoke-polymorphic-compiler/expected-stderr.txt b/test/953-invoke-polymorphic-compiler/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/953-invoke-polymorphic-compiler/expected-stderr.txt
diff --git a/test/954-invoke-polymorphic-verifier/check b/test/954-invoke-polymorphic-verifier/check
index 85db5ae..3f9e6dc 100755
--- a/test/954-invoke-polymorphic-verifier/check
+++ b/test/954-invoke-polymorphic-verifier/check
@@ -14,6 +14,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # Strip out temporary file path information and indices from output.
 sed -e "s/ [(]declaration of.*//" -e "s/\[0x[0-9A-F]*\] //g" "$2" > "$2.tmp"
-diff --strip-trailing-cr -q "$1" "$2.tmp" >/dev/null
+diff --strip-trailing-cr -q "$1" "$2.tmp" >/dev/null \
+  && diff --strip-trailing-cr -q "$3" "$4" >/dev/null
diff --git a/test/954-invoke-polymorphic-verifier/expected-stderr.txt b/test/954-invoke-polymorphic-verifier/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/954-invoke-polymorphic-verifier/expected-stderr.txt
diff --git a/test/955-methodhandles-smali/expected-stderr.txt b/test/955-methodhandles-smali/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/955-methodhandles-smali/expected-stderr.txt
diff --git a/test/956-methodhandles/expected-stderr.txt b/test/956-methodhandles/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/956-methodhandles/expected-stderr.txt
diff --git a/test/957-methodhandle-transforms/expected-stderr.txt b/test/957-methodhandle-transforms/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/957-methodhandle-transforms/expected-stderr.txt
diff --git a/test/958-methodhandle-stackframe/expected-stderr.txt b/test/958-methodhandle-stackframe/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/958-methodhandle-stackframe/expected-stderr.txt
diff --git a/test/959-invoke-polymorphic-accessors/expected-stderr.txt b/test/959-invoke-polymorphic-accessors/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/959-invoke-polymorphic-accessors/expected-stderr.txt
diff --git a/test/960-default-smali/expected-stderr.txt b/test/960-default-smali/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/960-default-smali/expected-stderr.txt
diff --git a/test/961-default-iface-resolution-gen/expected-stderr.txt b/test/961-default-iface-resolution-gen/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/961-default-iface-resolution-gen/expected-stderr.txt
diff --git a/test/962-iface-static/expected-stderr.txt b/test/962-iface-static/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/962-iface-static/expected-stderr.txt
diff --git a/test/963-default-range-smali/Android.bp b/test/963-default-range-smali/Android.bp
index 0ad2cae..75fdb3e 100644
--- a/test/963-default-range-smali/Android.bp
+++ b/test/963-default-range-smali/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-963-default-range-smali-expected-stdout"],
+    data: [
+        ":art-run-test-963-default-range-smali-expected-stdout",
+        ":art-run-test-963-default-range-smali-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-963-default-range-smali-expected-stdout",
     out: ["art-run-test-963-default-range-smali-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-963-default-range-smali-expected-stderr",
+    out: ["art-run-test-963-default-range-smali-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/963-default-range-smali/expected-stderr.txt b/test/963-default-range-smali/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/963-default-range-smali/expected-stderr.txt
diff --git a/test/964-default-iface-init-gen/expected-stderr.txt b/test/964-default-iface-init-gen/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/964-default-iface-init-gen/expected-stderr.txt
diff --git a/test/965-default-verify/expected-stderr.txt b/test/965-default-verify/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/965-default-verify/expected-stderr.txt
diff --git a/test/966-default-conflict/expected-stderr.txt b/test/966-default-conflict/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/966-default-conflict/expected-stderr.txt
diff --git a/test/967-default-ame/expected-stderr.txt b/test/967-default-ame/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/967-default-ame/expected-stderr.txt
diff --git a/test/968-default-partial-compile-gen/expected-stderr.txt b/test/968-default-partial-compile-gen/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/968-default-partial-compile-gen/expected-stderr.txt
diff --git a/test/969-iface-super/expected-stderr.txt b/test/969-iface-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/969-iface-super/expected-stderr.txt
diff --git a/test/970-iface-super-resolution-gen/expected-stderr.txt b/test/970-iface-super-resolution-gen/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/970-iface-super-resolution-gen/expected-stderr.txt
diff --git a/test/971-iface-super/expected-stderr.txt b/test/971-iface-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/971-iface-super/expected-stderr.txt
diff --git a/test/972-default-imt-collision/expected-stderr.txt b/test/972-default-imt-collision/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/972-default-imt-collision/expected-stderr.txt
diff --git a/test/972-iface-super-multidex/expected-stderr.txt b/test/972-iface-super-multidex/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/972-iface-super-multidex/expected-stderr.txt
diff --git a/test/973-default-multidex/expected-stderr.txt b/test/973-default-multidex/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/973-default-multidex/expected-stderr.txt
diff --git a/test/974-verify-interface-super/expected-stderr.txt b/test/974-verify-interface-super/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/974-verify-interface-super/expected-stderr.txt
diff --git a/test/975-iface-private/expected-stderr.txt b/test/975-iface-private/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/975-iface-private/expected-stderr.txt
diff --git a/test/976-conflict-no-methods/expected-stderr.txt b/test/976-conflict-no-methods/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/976-conflict-no-methods/expected-stderr.txt
diff --git a/test/978-virtual-interface/expected-stderr.txt b/test/978-virtual-interface/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/978-virtual-interface/expected-stderr.txt
diff --git a/test/979-const-method-handle/expected-stderr.txt b/test/979-const-method-handle/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/979-const-method-handle/expected-stderr.txt
diff --git a/test/980-redefine-object/check b/test/980-redefine-object/check
index 6f1e709..80a3cd7 100755
--- a/test/980-redefine-object/check
+++ b/test/980-redefine-object/check
@@ -14,10 +14,17 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
 # The number of paused background threads (and therefore InterruptedExceptions)
 # can change so we will just delete their lines from the log.
 
 cat "$2" \
-  | sed "/Object allocated of type 'java\.lang\.InterruptedException'/d" \
-  | sed "/Object allocated of type 'java\.lang\.Long'/d" \
-  | diff --strip-trailing-cr -q "$1" - >/dev/null
+    | sed "/Object allocated of type 'java\.lang\.InterruptedException'/d" \
+    | sed "/Object allocated of type 'java\.lang\.Long'/d" \
+    | diff --strip-trailing-cr -q "$1" - >/dev/null \
+  && diff --strip-trailing-cr -q "$3" "$4" >/dev/null
diff --git a/test/980-redefine-object/expected-stderr.txt b/test/980-redefine-object/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/980-redefine-object/expected-stderr.txt
diff --git a/test/981-dedup-original-dex/expected-stderr.txt b/test/981-dedup-original-dex/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/981-dedup-original-dex/expected-stderr.txt
diff --git a/test/982-ok-no-retransform/Android.bp b/test/982-ok-no-retransform/Android.bp
index cca926e..38b948b 100644
--- a/test/982-ok-no-retransform/Android.bp
+++ b/test/982-ok-no-retransform/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-982-ok-no-retransform-expected-stdout"],
+    data: [
+        ":art-run-test-982-ok-no-retransform-expected-stdout",
+        ":art-run-test-982-ok-no-retransform-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-982-ok-no-retransform-expected-stdout",
     out: ["art-run-test-982-ok-no-retransform-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-982-ok-no-retransform-expected-stderr",
+    out: ["art-run-test-982-ok-no-retransform-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/982-ok-no-retransform/expected-stderr.txt b/test/982-ok-no-retransform/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/982-ok-no-retransform/expected-stderr.txt
diff --git a/test/983-source-transform-verify/Android.bp b/test/983-source-transform-verify/Android.bp
index 02a8427..e9fb031 100644
--- a/test/983-source-transform-verify/Android.bp
+++ b/test/983-source-transform-verify/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-983-source-transform-verify-expected-stdout"],
+    data: [
+        ":art-run-test-983-source-transform-verify-expected-stdout",
+        ":art-run-test-983-source-transform-verify-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-983-source-transform-verify-expected-stdout",
     out: ["art-run-test-983-source-transform-verify-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-983-source-transform-verify-expected-stderr",
+    out: ["art-run-test-983-source-transform-verify-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/983-source-transform-verify/expected-stderr.txt b/test/983-source-transform-verify/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/983-source-transform-verify/expected-stderr.txt
diff --git a/test/984-obsolete-invoke/Android.bp b/test/984-obsolete-invoke/Android.bp
index 7640387..ba5e795 100644
--- a/test/984-obsolete-invoke/Android.bp
+++ b/test/984-obsolete-invoke/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-984-obsolete-invoke-expected-stdout"],
+    data: [
+        ":art-run-test-984-obsolete-invoke-expected-stdout",
+        ":art-run-test-984-obsolete-invoke-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-984-obsolete-invoke-expected-stdout",
     out: ["art-run-test-984-obsolete-invoke-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-984-obsolete-invoke-expected-stderr",
+    out: ["art-run-test-984-obsolete-invoke-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/984-obsolete-invoke/expected-stderr.txt b/test/984-obsolete-invoke/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/984-obsolete-invoke/expected-stderr.txt
diff --git a/test/985-re-obsolete/Android.bp b/test/985-re-obsolete/Android.bp
index cdc2480..f49647f 100644
--- a/test/985-re-obsolete/Android.bp
+++ b/test/985-re-obsolete/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-985-re-obsolete-expected-stdout"],
+    data: [
+        ":art-run-test-985-re-obsolete-expected-stdout",
+        ":art-run-test-985-re-obsolete-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-985-re-obsolete-expected-stdout",
     out: ["art-run-test-985-re-obsolete-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-985-re-obsolete-expected-stderr",
+    out: ["art-run-test-985-re-obsolete-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/985-re-obsolete/expected-stderr.txt b/test/985-re-obsolete/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/985-re-obsolete/expected-stderr.txt
diff --git a/test/986-native-method-bind/Android.bp b/test/986-native-method-bind/Android.bp
index 4181983..481a1f0 100644
--- a/test/986-native-method-bind/Android.bp
+++ b/test/986-native-method-bind/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-986-native-method-bind-expected-stdout"],
+    data: [
+        ":art-run-test-986-native-method-bind-expected-stdout",
+        ":art-run-test-986-native-method-bind-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-986-native-method-bind-expected-stdout",
     out: ["art-run-test-986-native-method-bind-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-986-native-method-bind-expected-stderr",
+    out: ["art-run-test-986-native-method-bind-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/986-native-method-bind/expected-stderr.txt b/test/986-native-method-bind/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/986-native-method-bind/expected-stderr.txt
diff --git a/test/987-agent-bind/Android.bp b/test/987-agent-bind/Android.bp
index 914a1a7..6015613 100644
--- a/test/987-agent-bind/Android.bp
+++ b/test/987-agent-bind/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-987-agent-bind-expected-stdout"],
+    data: [
+        ":art-run-test-987-agent-bind-expected-stdout",
+        ":art-run-test-987-agent-bind-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-987-agent-bind-expected-stdout",
     out: ["art-run-test-987-agent-bind-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-987-agent-bind-expected-stderr",
+    out: ["art-run-test-987-agent-bind-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/987-agent-bind/expected-stderr.txt b/test/987-agent-bind/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/987-agent-bind/expected-stderr.txt
diff --git a/test/988-method-trace/Android.bp b/test/988-method-trace/Android.bp
index ed4fc59..68d2541 100644
--- a/test/988-method-trace/Android.bp
+++ b/test/988-method-trace/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-988-method-trace-expected-stdout"],
+    data: [
+        ":art-run-test-988-method-trace-expected-stdout",
+        ":art-run-test-988-method-trace-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-988-method-trace-expected-stdout",
     out: ["art-run-test-988-method-trace-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-988-method-trace-expected-stderr",
+    out: ["art-run-test-988-method-trace-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/988-method-trace/expected-stderr.txt b/test/988-method-trace/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/988-method-trace/expected-stderr.txt
diff --git a/test/989-method-trace-throw/Android.bp b/test/989-method-trace-throw/Android.bp
index 30a37b6..059c960 100644
--- a/test/989-method-trace-throw/Android.bp
+++ b/test/989-method-trace-throw/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-989-method-trace-throw-expected-stdout"],
+    data: [
+        ":art-run-test-989-method-trace-throw-expected-stdout",
+        ":art-run-test-989-method-trace-throw-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-989-method-trace-throw-expected-stdout",
     out: ["art-run-test-989-method-trace-throw-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-989-method-trace-throw-expected-stderr",
+    out: ["art-run-test-989-method-trace-throw-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/989-method-trace-throw/expected-stderr.txt b/test/989-method-trace-throw/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/989-method-trace-throw/expected-stderr.txt
diff --git a/test/990-field-trace/Android.bp b/test/990-field-trace/Android.bp
index 83ce7db..08a4765 100644
--- a/test/990-field-trace/Android.bp
+++ b/test/990-field-trace/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-990-field-trace-expected-stdout"],
+    data: [
+        ":art-run-test-990-field-trace-expected-stdout",
+        ":art-run-test-990-field-trace-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-990-field-trace-expected-stdout",
     out: ["art-run-test-990-field-trace-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-990-field-trace-expected-stderr",
+    out: ["art-run-test-990-field-trace-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/990-field-trace/expected-stderr.txt b/test/990-field-trace/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/990-field-trace/expected-stderr.txt
diff --git a/test/991-field-trace-2/Android.bp b/test/991-field-trace-2/Android.bp
index e5e8e10..23c8ed9 100644
--- a/test/991-field-trace-2/Android.bp
+++ b/test/991-field-trace-2/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-991-field-trace-2-expected-stdout"],
+    data: [
+        ":art-run-test-991-field-trace-2-expected-stdout",
+        ":art-run-test-991-field-trace-2-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-991-field-trace-2-expected-stdout",
     out: ["art-run-test-991-field-trace-2-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-991-field-trace-2-expected-stderr",
+    out: ["art-run-test-991-field-trace-2-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/991-field-trace-2/expected-stderr.txt b/test/991-field-trace-2/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/991-field-trace-2/expected-stderr.txt
diff --git a/test/992-source-data/Android.bp b/test/992-source-data/Android.bp
index a0cbac5..d0a2c22 100644
--- a/test/992-source-data/Android.bp
+++ b/test/992-source-data/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-992-source-data-expected-stdout"],
+    data: [
+        ":art-run-test-992-source-data-expected-stdout",
+        ":art-run-test-992-source-data-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-992-source-data-expected-stdout",
     out: ["art-run-test-992-source-data-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-992-source-data-expected-stderr",
+    out: ["art-run-test-992-source-data-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/992-source-data/expected-stderr.txt b/test/992-source-data/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/992-source-data/expected-stderr.txt
diff --git a/test/993-breakpoints/Android.bp b/test/993-breakpoints/Android.bp
index 125f31f..60d3ef9 100644
--- a/test/993-breakpoints/Android.bp
+++ b/test/993-breakpoints/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-993-breakpoints-expected-stdout"],
+    data: [
+        ":art-run-test-993-breakpoints-expected-stdout",
+        ":art-run-test-993-breakpoints-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-993-breakpoints-expected-stdout",
     out: ["art-run-test-993-breakpoints-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-993-breakpoints-expected-stderr",
+    out: ["art-run-test-993-breakpoints-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/993-breakpoints/expected-stderr.txt b/test/993-breakpoints/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/993-breakpoints/expected-stderr.txt
diff --git a/test/994-breakpoint-line/Android.bp b/test/994-breakpoint-line/Android.bp
index 707e4a9..7db34d7 100644
--- a/test/994-breakpoint-line/Android.bp
+++ b/test/994-breakpoint-line/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-994-breakpoint-line-expected-stdout"],
+    data: [
+        ":art-run-test-994-breakpoint-line-expected-stdout",
+        ":art-run-test-994-breakpoint-line-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-994-breakpoint-line-expected-stdout",
     out: ["art-run-test-994-breakpoint-line-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-994-breakpoint-line-expected-stderr",
+    out: ["art-run-test-994-breakpoint-line-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/994-breakpoint-line/expected-stderr.txt b/test/994-breakpoint-line/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/994-breakpoint-line/expected-stderr.txt
diff --git a/test/995-breakpoints-throw/Android.bp b/test/995-breakpoints-throw/Android.bp
index 54d2646..b23b6d9 100644
--- a/test/995-breakpoints-throw/Android.bp
+++ b/test/995-breakpoints-throw/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-995-breakpoints-throw-expected-stdout"],
+    data: [
+        ":art-run-test-995-breakpoints-throw-expected-stdout",
+        ":art-run-test-995-breakpoints-throw-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-995-breakpoints-throw-expected-stdout",
     out: ["art-run-test-995-breakpoints-throw-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-995-breakpoints-throw-expected-stderr",
+    out: ["art-run-test-995-breakpoints-throw-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/995-breakpoints-throw/expected-stderr.txt b/test/995-breakpoints-throw/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/995-breakpoints-throw/expected-stderr.txt
diff --git a/test/996-breakpoint-obsolete/Android.bp b/test/996-breakpoint-obsolete/Android.bp
index 52a69ee..de5fa02 100644
--- a/test/996-breakpoint-obsolete/Android.bp
+++ b/test/996-breakpoint-obsolete/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-996-breakpoint-obsolete-expected-stdout"],
+    data: [
+        ":art-run-test-996-breakpoint-obsolete-expected-stdout",
+        ":art-run-test-996-breakpoint-obsolete-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-996-breakpoint-obsolete-expected-stdout",
     out: ["art-run-test-996-breakpoint-obsolete-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-996-breakpoint-obsolete-expected-stderr",
+    out: ["art-run-test-996-breakpoint-obsolete-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/996-breakpoint-obsolete/expected-stderr.txt b/test/996-breakpoint-obsolete/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/996-breakpoint-obsolete/expected-stderr.txt
diff --git a/test/997-single-step/Android.bp b/test/997-single-step/Android.bp
index 9cca0fb..30f3047 100644
--- a/test/997-single-step/Android.bp
+++ b/test/997-single-step/Android.bp
@@ -8,13 +8,24 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":art-run-test-target-no-test-suite-tag-template",
     srcs: ["src/**/*.java"],
-    data: [":art-run-test-997-single-step-expected-stdout"],
+    data: [
+        ":art-run-test-997-single-step-expected-stdout",
+        ":art-run-test-997-single-step-expected-stderr",
+    ],
 }
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "art-run-test-997-single-step-expected-stdout",
     out: ["art-run-test-997-single-step-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f $(in) $(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "art-run-test-997-single-step-expected-stderr",
+    out: ["art-run-test-997-single-step-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f $(in) $(out)",
+}
diff --git a/test/997-single-step/expected-stderr.txt b/test/997-single-step/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/997-single-step/expected-stderr.txt
diff --git a/test/998-redefine-use-after-free/expected-stderr.txt b/test/998-redefine-use-after-free/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/998-redefine-use-after-free/expected-stderr.txt
diff --git a/test/999-redefine-hiddenapi/expected-stderr.txt b/test/999-redefine-hiddenapi/expected-stderr.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/999-redefine-hiddenapi/expected-stderr.txt
diff --git a/test/etc/default-check b/test/etc/default-check
index 46a095c..f6f7bf4 100755
--- a/test/etc/default-check
+++ b/test/etc/default-check
@@ -14,4 +14,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-diff --strip-trailing-cr -q "$1" "$2" >/dev/null
\ No newline at end of file
+# Inputs:
+# $1: Test's expected standard output
+# $2: Test's actual standard output
+# $3: Test's expected standard error
+# $4: Test's actual standard error
+
+diff --strip-trailing-cr -q "$1" "$2" >/dev/null \
+  && diff --strip-trailing-cr -q "$3" "$4" >/dev/null
diff --git a/test/etc/run-test-jar b/test/etc/run-test-jar
index c76487e..bab4c99 100755
--- a/test/etc/run-test-jar
+++ b/test/etc/run-test-jar
@@ -695,7 +695,7 @@
   if [ "$CREATE_RUNNER" = "y" ]; then
     echo "#!/bin/bash" > runit.sh
     echo "export LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH\""
-    echo $cmdline "2>&1" >> runit.sh
+    echo $cmdline >> runit.sh
     chmod u+x runit.sh
     echo "Runnable test script written to $PWD/runit.sh"
   else
@@ -1365,12 +1365,17 @@
         echo export $var="${!var}" >> ${DEX_LOCATION}/runit.sh
       done
       if [ "$DEV_MODE" = "y" ]; then
-        echo $cmdline "2>&1" >> ${DEX_LOCATION}/runit.sh
+        echo $cmdline >> ${DEX_LOCATION}/runit.sh
       else
         echo 'STDERR=$(mktemp)' >> ${DEX_LOCATION}/runit.sh
         echo 'STDOUT=$(mktemp)' >> ${DEX_LOCATION}/runit.sh
-        echo $cmdline '2>${STDERR} >${STDOUT}' >> ${DEX_LOCATION}/runit.sh
-        echo 'if diff ${STDOUT} $ANDROID_DATA/expected-stdout.txt; then' >> ${DEX_LOCATION}/runit.sh
+        echo $cmdline '>${STDOUT} 2>${STDERR}' >> ${DEX_LOCATION}/runit.sh
+        echo 'if diff ${STDOUT} $ANDROID_DATA/expected-stdout.txt; then' \
+          >> ${DEX_LOCATION}/runit.sh
+        echo '  rm -f ${STDOUT} ${STDERR}' >> ${DEX_LOCATION}/runit.sh
+        echo '  exit 0' >> ${DEX_LOCATION}/runit.sh
+        echo 'elif diff ${STDERR} $ANDROID_DATA/expected-stderr.txt; then' \
+          >> ${DEX_LOCATION}/runit.sh
         echo '  rm -f ${STDOUT} ${STDERR}' >> ${DEX_LOCATION}/runit.sh
         echo '  exit 0' >> ${DEX_LOCATION}/runit.sh
         echo 'else' >> ${DEX_LOCATION}/runit.sh
@@ -1399,7 +1404,7 @@
     else
       if [ "$TIME_OUT" != "gdb" ]; then
         trap 'kill -INT -$pid' INT
-        $cmdline "$@" 2>&1 & pid=$!
+        $cmdline "$@" & pid=$!
         wait $pid
         exit_value=$?
         # Add extra detail if time out is enabled.
@@ -1410,7 +1415,7 @@
       else
         # With a thread dump that uses gdb if a timeout.
         trap 'kill -INT -$pid' INT
-        $cmdline "$@" 2>&1 & pid=$!
+        $cmdline "$@" & pid=$!
         # Spawn a watcher process.
         ( sleep $TIME_OUT_VALUE && \
           echo "##### Thread dump using gdb on test timeout" && \
diff --git a/test/run-test b/test/run-test
index e51d9f8..0ebe241 100755
--- a/test/run-test
+++ b/test/run-test
@@ -122,10 +122,13 @@
 info="info.txt"
 build="build"
 run="run"
-expected="expected-stdout.txt"
+expected_stdout="expected-stdout.txt"
+expected_stderr="expected-stderr.txt"
 check_cmd="check"
-output="output.txt"
-build_output="build-output.txt"
+test_stdout="test-stdout.txt"
+test_stderr="test-stderr.txt"
+build_stdout="build-stdout.txt"
+build_stderr="build-stderr.txt"
 cfg_output="graph.cfg"
 strace_output="strace-output.txt"
 lib="libartd.so"
@@ -764,7 +767,7 @@
         echo "              The script will only run the test portion, and " \
              "share oat and dex files."
         echo "  $prog --update [options] [test-name]  Update mode" \
-             "(replaces expected-stdout.txt)."
+             "(replaces expected-stdout.txt and expected-stderr.txt)."
         echo '  Omitting the test name or specifying "-" will use the' \
              "current directory."
         echo "  Runtime Options:"
@@ -868,17 +871,15 @@
 test_dir=`pwd`
 
 td_info="${test_dir}/${info}"
-td_expected="${test_dir}/${expected}"
+td_expected_stdout="${test_dir}/${expected_stdout}"
+td_expected_stderr="${test_dir}/${expected_stderr}"
 
-if [ ! -r $td_info ]; then
-    err_echo "${test_dir}: missing file $td_info"
-    exit 1
-fi
-
-if [ ! -r $td_expected ]; then
-    err_echo "${test_dir}: missing file $td_expected"
-    exit 1
-fi
+for td_file in "$td_info" "$td_expected_stdout" "$td_expected_stderr"; do
+    if [ ! -r "$td_file" ]; then
+        err_echo "${test_dir}: missing file $td_file"
+        exit 1
+    fi
+done
 
 # copy the test to a temp dir and run it
 
@@ -965,12 +966,12 @@
 good_run="yes"
 export TEST_RUNTIME="${runtime}"
 if [ "$dev_mode" = "yes" ]; then
-    "./${build}" $build_args 2>&1
+    "./${build}" $build_args
     build_exit="$?"
     echo "build exit status: $build_exit" 1>&2
     if [ "$build_exit" = '0' ]; then
         echo "${test_dir}: running..." 1>&2
-        "./${run}" "${run_args[@]}" "$@" 2>&1
+        "./${run}" "${run_args[@]}" "$@"
         run_exit="$?"
 
         if [ "$run_exit" = "0" ]; then
@@ -991,45 +992,61 @@
         echo "run exit status: $run_exit" 1>&2
     fi
 elif [ "$update_mode" = "yes" ]; then
-    "./${build}" $build_args >"$build_output" 2>&1
+    "./${build}" $build_args >"$build_stdout" 2>"$build_stderr"
     build_exit="$?"
     if [ "$build_exit" = '0' ]; then
         echo "${test_dir}: running..." 1>&2
-        "./${run}" "${run_args[@]}" "$@" >"$output" 2>&1
+        "./${run}" "${run_args[@]}" "$@" >"$test_stdout" 2>"$test_stderr"
         if [ "$run_checker" = "yes" ]; then
           if [ "$target_mode" = "yes" ]; then
             adb pull "$chroot/$cfg_output_dir/$cfg_output" &> /dev/null
           fi
-          "$checker" -q $checker_args "$cfg_output" "$tmp_dir" >> "$output" 2>&1
+          "$checker" -q $checker_args "$cfg_output" "$tmp_dir" >>"$test_stdout" 2>>"$test_stderr"
         fi
-        sed -e 's/[[:cntrl:]]$//g' < "$output" >"${td_expected}"
+        sed -e 's/[[:cntrl:]]$//g' <"$test_stdout" >"${td_expected_stdout}"
+        sed -e 's/[[:cntrl:]]$//g' <"$test_stderr" >"${td_expected_stderr}"
         good="yes"
     else
-        cat "$build_output" 1>&${real_stderr} 1>&2
+        err_echo "#################### build standard output"
+        cat "$build_stdout" 1>&${real_stderr}
+        err_echo "####################"
+        err_echo "#################### build standard error"
+        cat "$build_stderr" 1>&${real_stderr}
+        err_echo "####################"
         err_echo "build exit status: $build_exit"
     fi
 elif [ "$build_only" = "yes" ]; then
     good="yes"
-    "./${build}" $build_args >"$build_output" 2>&1
+    "./${build}" $build_args >"$build_stdout" 2>"$build_stderr"
     build_exit="$?"
     if [ "$build_exit" '!=' '0' ]; then
-        cp "$build_output" "$output"
-        echo "build exit status: $build_exit" >>"$output"
-        diff --strip-trailing-cr -q "$expected" "$output" >/dev/null
+        cp "$build_stdout" "$test_stdout"
+        diff --strip-trailing-cr -q "$expected_stdout" "$test_stdout" >/dev/null
         if [ "$?" '!=' "0" ]; then
             good="no"
-            err_echo "BUILD FAILED For ${TEST_NAME}"
+            err_echo "BUILD FAILED For ${TEST_NAME}" \
+              "(the build's standard output does not match the expected standard output)"
         fi
+        cp "$build_stderr" "$test_stderr"
+        diff --strip-trailing-cr -q "$expected_stderr" "$test_stderr" >/dev/null
+        if [ "$?" '!=' "0" ]; then
+            good="no"
+            err_echo "BUILD FAILED For ${TEST_NAME}" \
+              "(the build's standard error does not match the expected standard error)"
+        fi
+        echo "build exit status: $build_exit" >>"$test_stderr"
     fi
     # Clean up extraneous files that are not used by tests.
-    find $tmp_dir -mindepth 1  ! -regex ".*/\(.*jar\|$output\|$expected\)" | xargs rm -rf
+    find $tmp_dir -mindepth 1  \
+        ! -regex ".*/\(.*jar\|$test_stdout\|$expected_stdout|$test_stderr\|$expected_stderr\)" \
+      | xargs rm -rf
     exit 0
 else
-    "./${build}" $build_args >"$build_output" 2>&1
+    "./${build}" $build_args >"$build_stdout" 2>"$build_stderr"
     build_exit="$?"
     if [ "$build_exit" = '0' ]; then
         echo "${test_dir}: running..." 1>&2
-        "./${run}" "${run_args[@]}" "$@" >"$output" 2>&1
+        "./${run}" "${run_args[@]}" "$@" >"$test_stdout" 2>"$test_stderr"
         run_exit="$?"
         if [ "$run_exit" != "0" ]; then
             err_echo "run exit status: $run_exit"
@@ -1038,7 +1055,7 @@
             if [ "$target_mode" = "yes" ]; then
               adb pull "$chroot/$cfg_output_dir/$cfg_output" &> /dev/null
             fi
-            "$checker" -q $checker_args "$cfg_output" "$tmp_dir" >> "$output" 2>&1
+            "$checker" -q $checker_args "$cfg_output" "$tmp_dir" >>"$test_stdout" 2>>"$test_stderr"
             checker_exit="$?"
             if [ "$checker_exit" != "0" ]; then
                 err_echo "checker exit status: $checker_exit"
@@ -1051,20 +1068,22 @@
         fi
     else
         good_build="no"
-        cp "$build_output" "$output"
-        echo "Failed to build in tmpdir=${tmp_dir} from oldwd=${oldwd} and cwd=`pwd`" >> "$output"
-        echo "Non-canonical tmpdir was ${noncanonical_tmp_dir}" >> "$output"
-        echo "Args: ${args}" >> "$output"
-        echo "build exit status: $build_exit" >> "$output"
+        cp "$build_stdout" "$test_stdout"
+        cp "$build_stderr" "$test_stderr"
+        echo "Failed to build in tmpdir=${tmp_dir} from oldwd=${oldwd} and cwd=`pwd`" \
+          >> "$test_stderr"
+        echo "Non-canonical tmpdir was ${noncanonical_tmp_dir}" >> "$test_stderr"
+        echo "Args: ${args}" >> "$test_stderr"
+        echo "build exit status: $build_exit" >> "$test_stderr"
         max_name_length=$(getconf NAME_MAX ${tmp_dir})
-        echo "Max filename (NAME_MAX): ${max_name_length}" >> "$output"
+        echo "Max filename (NAME_MAX): ${max_name_length}" >> "$test_stderr"
         max_path_length=$(getconf PATH_MAX ${tmp_dir})
-        echo "Max pathlength (PATH_MAX): ${max_path_length}" >> "$output"
+        echo "Max pathlength (PATH_MAX): ${max_path_length}" >> "$test_stderr"
     fi
-    ./$check_cmd "$expected" "$output"
+    ./$check_cmd "$expected_stdout" "$test_stdout" "$expected_stderr" "$test_stderr"
     if [ "$?" = "0" ]; then
         if [ "$good_build" = "no" -o "$good_run" = "yes" ]; then
-          # output == expected
+          # test_stdout == expected_stdout && test_stderr == expected_stderr
           good="yes"
           echo "${test_dir}: succeeded!" 1>&2
         fi
@@ -1077,14 +1096,17 @@
         echo ' '
         echo '#################### info'
         cat "${td_info}" | sed 's/^/# /g'
-        echo '#################### diffs'
+        echo '#################### stdout diffs'
         if [ "$run_checker" == "yes" ]; then
           # Checker failures dump the whole CFG, so we output the whole diff.
-          diff --strip-trailing-cr -u "$expected" "$output"
+          diff --strip-trailing-cr -u "$expected_stdout" "$test_stdout"
         else
-          diff --strip-trailing-cr -u "$expected" "$output" | tail -n 10000
+          diff --strip-trailing-cr -u "$expected_stdout" "$test_stdout" | tail -n 10000
         fi
         echo '####################'
+        echo '#################### stderr diffs'
+        diff --strip-trailing-cr -u "$expected_stderr" "$test_stderr" | tail -n 10000
+        echo '####################'
         if [ "$strace" = "yes" ]; then
             echo '#################### strace output'
             tail -n 3000 "$tmp_dir/$strace_output"
@@ -1093,7 +1115,8 @@
         if [ "x$target_mode" = "xno" -a "x$SANITIZE_HOST" = "xaddress" ]; then
             # Run the stack script to symbolize any ASAN aborts on the host for SANITIZE_HOST. The
             # tools used by the given ABI work for both x86 and x86-64.
-            echo "ABI: 'x86_64'" | cat - "$output" | $ANDROID_BUILD_TOP/development/scripts/stack | tail -n 3000
+            echo "ABI: 'x86_64'" | cat - "$test_stdout" "$test_stderr" \
+              | $ANDROID_BUILD_TOP/development/scripts/stack | tail -n 3000
         fi
         echo ' '
     fi
diff --git a/test/utils/regen-test-files b/test/utils/regen-test-files
index 479dde9..6e7f6e6 100755
--- a/test/utils/regen-test-files
+++ b/test/utils/regen-test-files
@@ -373,16 +373,27 @@
     defaults: ["art-run-test-defaults"],
     test_config_template: ":$test_config_template",
     srcs: ["src/**/*.java"],
-    data: [":$run_test_name-expected-stdout"],
+    data: [
+        ":$run_test_name-expected-stdout",
+        ":$run_test_name-expected-stderr",
+    ],
 $include_src}
 
-// Test's expected output.
+// Test's expected standard output.
 genrule {
     name: "$run_test_name-expected-stdout",
     out: ["$run_test_name-expected-stdout.txt"],
     srcs: ["expected-stdout.txt"],
     cmd: "cp -f \$(in) \$(out)",
 }
+
+// Test's expected standard error.
+genrule {
+    name: "$run_test_name-expected-stderr",
+    out: ["$run_test_name-expected-stderr.txt"],
+    srcs: ["expected-stderr.txt"],
+    cmd: "cp -f \$(in) \$(out)",
+}
 EOF
 done <<< $(ls -1 $tests_dir | grep -E '^[0-9]{3,}-')