Revert "Enable test step log streaming"

This reverts commit 48ee2c741b7189b18c2a542335bbd124b8166d07.

Reason for revert: caused windows targets to fail: https://github.com/flutter/flutter/issues/142730

Original change's description:
> Enable test step log streaming
>
> This cl removes the stdout option from test running step to enable log streaming.
>
> Change-Id: I661f444edf323476254110557a51a103ccd8372d
> Bug: https://github.com/flutter/flutter/issues/141905
> Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/54221
> Reviewed-by: Ricardo Amador <ricardoamador@google.com>
> Commit-Queue: Keyong Han <keyonghan@google.com>

TBR=godofredoc@google.com,keyonghan@google.com,flutter-scoped@luci-project-accounts.iam.gserviceaccount.com,ricardoamador@google.com

Change-Id: Ic4973c32a59d77d9ef846968c34515bc31c2f7e0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/flutter/flutter/issues/141905
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/54701
Commit-Queue: Keyong Han <keyonghan@google.com>
Reviewed-by: Keyong Han <keyonghan@google.com>
Reviewed-by: Ricardo Amador <ricardoamador@google.com>
diff --git a/recipe_modules/android_virtual_device/examples/full.expected/emulator started and stopped, processes killed.json b/recipe_modules/android_virtual_device/examples/full.expected/emulator started and stopped, processes killed.json
index b4009f0..224f23d 100644
--- a/recipe_modules/android_virtual_device/examples/full.expected/emulator started and stopped, processes killed.json
+++ b/recipe_modules/android_virtual_device/examples/full.expected/emulator started and stopped, processes killed.json
@@ -74,8 +74,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -84,7 +82,6 @@
       "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -96,38 +93,11 @@
     "name": "Show devices attached - before emulator install/start.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -240,8 +210,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -251,7 +219,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -263,39 +230,11 @@
     "name": "avd setup.avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -412,8 +351,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -423,7 +360,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -435,39 +371,11 @@
     "name": "Show devices attached - after emulator uninstall.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -501,8 +409,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -512,7 +418,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -524,39 +429,11 @@
     "name": "Show devices attached - before emulator install/start (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_4",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_4@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -671,8 +548,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -682,7 +557,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -694,39 +568,11 @@
     "name": "avd setup (2).avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_5",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_5@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -843,8 +689,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -854,7 +698,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -866,39 +709,11 @@
     "name": "Show devices attached - after emulator uninstall (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_6",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_6@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipe_modules/android_virtual_device/examples/full.expected/emulator started.json b/recipe_modules/android_virtual_device/examples/full.expected/emulator started.json
index be0b881..51b4d69 100644
--- a/recipe_modules/android_virtual_device/examples/full.expected/emulator started.json
+++ b/recipe_modules/android_virtual_device/examples/full.expected/emulator started.json
@@ -74,8 +74,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -84,7 +82,6 @@
       "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -96,38 +93,11 @@
     "name": "Show devices attached - before emulator install/start.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -240,8 +210,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -251,7 +219,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -263,39 +230,11 @@
     "name": "avd setup.avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -401,8 +340,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -412,7 +349,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -424,39 +360,11 @@
     "name": "Show devices attached - after emulator uninstall.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -490,8 +398,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -501,7 +407,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -513,39 +418,11 @@
     "name": "Show devices attached - before emulator install/start (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_4",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_4@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -660,8 +537,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -671,7 +546,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -683,39 +557,11 @@
     "name": "avd setup (2).avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_5",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_5@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -821,8 +667,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -832,7 +676,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -844,39 +687,11 @@
     "name": "Show devices attached - after emulator uninstall (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_6",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_6@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipe_modules/android_virtual_device/examples/full.py b/recipe_modules/android_virtual_device/examples/full.py
index e5164ac..99dfc21 100644
--- a/recipe_modules/android_virtual_device/examples/full.py
+++ b/recipe_modules/android_virtual_device/examples/full.py
@@ -21,14 +21,12 @@
                                   version='android_31_google_apis_x64.textpb'):
     api.step('Do something', ['echo', 'hello'])
 
-
 def GenTests(api):
   avd_api_version = 'android_31_google_apis_x64.textpb'
 
   yield api.test(
       'emulator started',
       api.properties(use_emulator="true"),
-      api.properties(fake_data='fake data'),
       api.step_data(
           'start avd.Start Android emulator (%s)' % avd_api_version,
           stdout=api.raw_io.output_text(
@@ -49,7 +47,6 @@
   yield api.test(
       'emulator started and stopped, processes killed',
       api.properties(use_emulator="true"),
-      api.properties(fake_data='fake data'),
       api.step_data(
           'start avd.Start Android emulator (%s)' % avd_api_version,
           stdout=api.raw_io.output_text(
diff --git a/recipe_modules/android_virtual_device/examples/full_api_34.expected/emulator fails to start.json b/recipe_modules/android_virtual_device/examples/full_api_34.expected/emulator fails to start.json
index 7e18f32..4192016 100644
--- a/recipe_modules/android_virtual_device/examples/full_api_34.expected/emulator fails to start.json
+++ b/recipe_modules/android_virtual_device/examples/full_api_34.expected/emulator fails to start.json
@@ -74,8 +74,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -84,7 +82,6 @@
       "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -96,38 +93,11 @@
     "name": "Show devices attached - before emulator install/start.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -389,8 +359,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -400,7 +368,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -412,39 +379,11 @@
     "name": "Show devices attached - after emulator uninstall.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipe_modules/android_virtual_device/examples/full_api_34.expected/emulator started and stopped, processes killed.json b/recipe_modules/android_virtual_device/examples/full_api_34.expected/emulator started and stopped, processes killed.json
index b4009f0..224f23d 100644
--- a/recipe_modules/android_virtual_device/examples/full_api_34.expected/emulator started and stopped, processes killed.json
+++ b/recipe_modules/android_virtual_device/examples/full_api_34.expected/emulator started and stopped, processes killed.json
@@ -74,8 +74,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -84,7 +82,6 @@
       "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -96,38 +93,11 @@
     "name": "Show devices attached - before emulator install/start.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -240,8 +210,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -251,7 +219,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -263,39 +230,11 @@
     "name": "avd setup.avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -412,8 +351,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -423,7 +360,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -435,39 +371,11 @@
     "name": "Show devices attached - after emulator uninstall.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -501,8 +409,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -512,7 +418,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -524,39 +429,11 @@
     "name": "Show devices attached - before emulator install/start (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_4",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_4@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -671,8 +548,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -682,7 +557,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -694,39 +568,11 @@
     "name": "avd setup (2).avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_5",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_5@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -843,8 +689,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -854,7 +698,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -866,39 +709,11 @@
     "name": "Show devices attached - after emulator uninstall (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_6",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_6@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipe_modules/android_virtual_device/examples/full_api_34.expected/emulator started.json b/recipe_modules/android_virtual_device/examples/full_api_34.expected/emulator started.json
index be0b881..51b4d69 100644
--- a/recipe_modules/android_virtual_device/examples/full_api_34.expected/emulator started.json
+++ b/recipe_modules/android_virtual_device/examples/full_api_34.expected/emulator started.json
@@ -74,8 +74,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -84,7 +82,6 @@
       "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -96,38 +93,11 @@
     "name": "Show devices attached - before emulator install/start.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -240,8 +210,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -251,7 +219,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -263,39 +230,11 @@
     "name": "avd setup.avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -401,8 +340,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -412,7 +349,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -424,39 +360,11 @@
     "name": "Show devices attached - after emulator uninstall.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -490,8 +398,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -501,7 +407,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -513,39 +418,11 @@
     "name": "Show devices attached - before emulator install/start (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_4",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_4@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -660,8 +537,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -671,7 +546,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -683,39 +557,11 @@
     "name": "avd setup (2).avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_5",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_5@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -821,8 +667,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -832,7 +676,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -844,39 +687,11 @@
     "name": "Show devices attached - after emulator uninstall (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_6",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_6@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipe_modules/android_virtual_device/examples/full_api_34.py b/recipe_modules/android_virtual_device/examples/full_api_34.py
index 0f5dd88..3f719d9 100644
--- a/recipe_modules/android_virtual_device/examples/full_api_34.py
+++ b/recipe_modules/android_virtual_device/examples/full_api_34.py
@@ -9,10 +9,8 @@
 
 
 def RunSteps(api):
-  env = {
-      'USE_EMULATOR': api.properties.get('use_emulator', False),
-      'AVD_CIPD_VERSION': 'TESTVERSIONSTR'
-  }
+  env = {'USE_EMULATOR': api.properties.get('use_emulator', False),
+         'AVD_CIPD_VERSION': 'TESTVERSIONSTR'}
   env_prefixes = {}
 
   with api.android_virtual_device(env=env, env_prefixes=env_prefixes,
@@ -23,13 +21,12 @@
                                   version='android_31_google_apis_x64.textpb'):
     api.step('Do something', ['echo', 'hello'])
 
-
 def GenTests(api):
   avd_api_version = 'android_31_google_apis_x64.textpb'
 
   yield api.test(
       'emulator started',
-      api.properties(use_emulator="true", fake_data='fake data'),
+      api.properties(use_emulator="true"),
       api.step_data(
           'start avd.Start Android emulator (%s)' % avd_api_version,
           stdout=api.raw_io.output_text(
@@ -38,7 +35,8 @@
           )
       ),
       api.step_data(
-          'start avd (2).Start Android emulator (%s)' % avd_api_version,
+          'start avd (2).Start Android emulator (%s)' %
+          avd_api_version,
           stdout=api.raw_io.output_text(
               'android_' + avd_api_version +
               '_google_apis_x86|emulator-5554 started (pid: 17687)'
@@ -48,25 +46,31 @@
 
   yield api.test(
       'emulator fails to start',
-      api.properties(use_emulator="true", fake_data='fake data'),
+      api.properties(use_emulator="true"),
       api.step_data(
           'start avd.Start Android emulator (%s)' % avd_api_version,
-          stdout=api.raw_io.output_text('Hostapd main loop has stopped')
+          stdout=api.raw_io.output_text(
+              'Hostapd main loop has stopped'
+          )
       ),
       api.step_data(
-          'start avd.Start Android emulator (%s) (2)' % avd_api_version,
-          stdout=api.raw_io.output_text('Hostapd main loop has stopped')
+        'start avd.Start Android emulator (%s) (2)' % avd_api_version,
+          stdout=api.raw_io.output_text(
+              'Hostapd main loop has stopped'
+          )
       ),
       api.step_data(
-          'start avd.Start Android emulator (%s) (3)' % avd_api_version,
-          stdout=api.raw_io.output_text('Hostapd main loop has stopped')
+        'start avd.Start Android emulator (%s) (3)' % avd_api_version,
+          stdout=api.raw_io.output_text(
+              'Hostapd main loop has stopped'
+          )
       ),
       status='INFRA_FAILURE'
   )
 
   yield api.test(
       'emulator started and stopped, processes killed',
-      api.properties(use_emulator="true", fake_data='fake data'),
+      api.properties(use_emulator="true"),
       api.step_data(
           'start avd.Start Android emulator (%s)' % avd_api_version,
           stdout=api.raw_io.output_text(
@@ -79,7 +83,8 @@
           stdout=api.raw_io.output_text('12345 qemu-system blah')
       ),
       api.step_data(
-          'start avd (2).Start Android emulator (%s)' % avd_api_version,
+          'start avd (2).Start Android emulator (%s)' %
+          avd_api_version,
           stdout=api.raw_io.output_text(
               'android_' + avd_api_version +
               '_google_apis_x86|emulator-5554 started (pid: 17687)'
diff --git a/recipe_modules/android_virtual_device/examples/full_legacy_version.expected/emulator started and stopped, processes killed.json b/recipe_modules/android_virtual_device/examples/full_legacy_version.expected/emulator started and stopped, processes killed.json
index ed8c2b7..8ba2a6f 100644
--- a/recipe_modules/android_virtual_device/examples/full_legacy_version.expected/emulator started and stopped, processes killed.json
+++ b/recipe_modules/android_virtual_device/examples/full_legacy_version.expected/emulator started and stopped, processes killed.json
@@ -74,8 +74,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -84,7 +82,6 @@
       "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -96,38 +93,11 @@
     "name": "Show devices attached - before emulator install/start.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -240,8 +210,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -251,7 +219,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -263,39 +230,11 @@
     "name": "avd setup.avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -412,8 +351,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -423,7 +360,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -435,39 +371,11 @@
     "name": "Show devices attached - after emulator uninstall.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -501,8 +409,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -512,7 +418,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -524,39 +429,11 @@
     "name": "Show devices attached - before emulator install/start (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_4",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_4@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -671,8 +548,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -682,7 +557,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -694,39 +568,11 @@
     "name": "avd setup (2).avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_5",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_5@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -843,8 +689,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -854,7 +698,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -866,39 +709,11 @@
     "name": "Show devices attached - after emulator uninstall (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_6",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_6@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipe_modules/android_virtual_device/examples/full_legacy_version.expected/emulator started.json b/recipe_modules/android_virtual_device/examples/full_legacy_version.expected/emulator started.json
index 0158f63..0208960 100644
--- a/recipe_modules/android_virtual_device/examples/full_legacy_version.expected/emulator started.json
+++ b/recipe_modules/android_virtual_device/examples/full_legacy_version.expected/emulator started.json
@@ -74,8 +74,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -84,7 +82,6 @@
       "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -96,38 +93,11 @@
     "name": "Show devices attached - before emulator install/start.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -240,8 +210,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -251,7 +219,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -263,39 +230,11 @@
     "name": "avd setup.avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -401,8 +340,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -412,7 +349,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -424,39 +360,11 @@
     "name": "Show devices attached - after emulator uninstall.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -490,8 +398,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -501,7 +407,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -513,39 +418,11 @@
     "name": "Show devices attached - before emulator install/start (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_4",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_4@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -660,8 +537,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -671,7 +546,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -683,39 +557,11 @@
     "name": "avd setup (2).avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_5",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_5@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -821,8 +667,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -832,7 +676,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -844,39 +687,11 @@
     "name": "Show devices attached - after emulator uninstall (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_6",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_6@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipe_modules/android_virtual_device/examples/full_legacy_version.py b/recipe_modules/android_virtual_device/examples/full_legacy_version.py
index dd6fcab..a9db14a 100644
--- a/recipe_modules/android_virtual_device/examples/full_legacy_version.py
+++ b/recipe_modules/android_virtual_device/examples/full_legacy_version.py
@@ -26,7 +26,7 @@
 
   yield api.test(
       'emulator started',
-      api.properties(use_emulator="true", fake_data='fake data'),
+      api.properties(use_emulator="true"),
       api.step_data(
           'start avd.Start Android emulator (%s)' % avd_api_version,
           stdout=api.raw_io.output_text(
@@ -46,7 +46,7 @@
 
   yield api.test(
       'emulator started and stopped, processes killed',
-      api.properties(use_emulator="true", fake_data='fake data'),
+      api.properties(use_emulator="true"),
       api.step_data(
           'start avd.Start Android emulator (%s)' % avd_api_version,
           stdout=api.raw_io.output_text(
diff --git a/recipe_modules/android_virtual_device/examples/full_legacy_version_28.expected/emulator started and stopped, processes killed.json b/recipe_modules/android_virtual_device/examples/full_legacy_version_28.expected/emulator started and stopped, processes killed.json
index 3158c12..aed9166 100644
--- a/recipe_modules/android_virtual_device/examples/full_legacy_version_28.expected/emulator started and stopped, processes killed.json
+++ b/recipe_modules/android_virtual_device/examples/full_legacy_version_28.expected/emulator started and stopped, processes killed.json
@@ -74,8 +74,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -84,7 +82,6 @@
       "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -96,38 +93,11 @@
     "name": "Show devices attached - before emulator install/start.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -240,8 +210,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -251,7 +219,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -263,39 +230,11 @@
     "name": "avd setup.avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -412,8 +351,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -423,7 +360,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -435,39 +371,11 @@
     "name": "Show devices attached - after emulator uninstall.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -501,8 +409,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -512,7 +418,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -524,39 +429,11 @@
     "name": "Show devices attached - before emulator install/start (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_4",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_4@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -671,8 +548,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -682,7 +557,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -694,39 +568,11 @@
     "name": "avd setup (2).avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_5",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_5@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -843,8 +689,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -854,7 +698,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -866,39 +709,11 @@
     "name": "Show devices attached - after emulator uninstall (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_6",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_6@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipe_modules/android_virtual_device/examples/full_legacy_version_28.expected/emulator started.json b/recipe_modules/android_virtual_device/examples/full_legacy_version_28.expected/emulator started.json
index 31322d3..398773a 100644
--- a/recipe_modules/android_virtual_device/examples/full_legacy_version_28.expected/emulator started.json
+++ b/recipe_modules/android_virtual_device/examples/full_legacy_version_28.expected/emulator started.json
@@ -74,8 +74,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -84,7 +82,6 @@
       "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -96,38 +93,11 @@
     "name": "Show devices attached - before emulator install/start.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -240,8 +210,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -251,7 +219,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -263,39 +230,11 @@
     "name": "avd setup.avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -401,8 +340,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -412,7 +349,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -424,39 +360,11 @@
     "name": "Show devices attached - after emulator uninstall.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -490,8 +398,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -501,7 +407,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -513,39 +418,11 @@
     "name": "Show devices attached - before emulator install/start (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_4",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_4@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -660,8 +537,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -671,7 +546,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -683,39 +557,11 @@
     "name": "avd setup (2).avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_5",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "17687",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_5@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -821,8 +667,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -832,7 +676,6 @@
       "AVD_CIPD_VERSION": "TESTVERSIONSTR",
       "AVD_ROOT": "[CACHE]/avd",
       "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
       "USE_EMULATOR": "true"
     },
     "env_prefixes": {
@@ -844,39 +687,11 @@
     "name": "Show devices attached - after emulator uninstall (2).adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_6",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "AVD_CIPD_VERSION": "TESTVERSIONSTR",
-      "AVD_ROOT": "[CACHE]/avd",
-      "EMULATOR_PID": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_6",
-      "USE_EMULATOR": "true"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall (2).read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_6@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipe_modules/android_virtual_device/examples/full_legacy_version_28.py b/recipe_modules/android_virtual_device/examples/full_legacy_version_28.py
index 9a948a5..38ef2e8 100644
--- a/recipe_modules/android_virtual_device/examples/full_legacy_version_28.py
+++ b/recipe_modules/android_virtual_device/examples/full_legacy_version_28.py
@@ -9,10 +9,8 @@
 
 
 def RunSteps(api):
-  env = {
-      'USE_EMULATOR': api.properties.get('use_emulator', False),
-      'AVD_CIPD_VERSION': 'TESTVERSIONSTR'
-  }
+  env = {'USE_EMULATOR': api.properties.get('use_emulator', False),
+         'AVD_CIPD_VERSION': 'TESTVERSIONSTR'}
   env_prefixes = {}
 
   with api.android_virtual_device(env=env, env_prefixes=env_prefixes,
@@ -23,13 +21,12 @@
                                   version='28'):
     api.step('Do something', ['echo', 'hello'])
 
-
 def GenTests(api):
   avd_api_version = '28'
 
   yield api.test(
       'emulator started',
-      api.properties(use_emulator="true", fake_data='fake data'),
+      api.properties(use_emulator="true"),
       api.step_data(
           'start avd.Start Android emulator (%s)' % avd_api_version,
           stdout=api.raw_io.output_text(
@@ -38,7 +35,8 @@
           )
       ),
       api.step_data(
-          'start avd (2).Start Android emulator (%s)' % avd_api_version,
+          'start avd (2).Start Android emulator (%s)' %
+          avd_api_version,
           stdout=api.raw_io.output_text(
               'android_' + avd_api_version +
               '_google_apis_x86|emulator-5554 started (pid: 17687)'
@@ -48,7 +46,7 @@
 
   yield api.test(
       'emulator started and stopped, processes killed',
-      api.properties(use_emulator="true", fake_data='fake data'),
+      api.properties(use_emulator="true"),
       api.step_data(
           'start avd.Start Android emulator (%s)' % avd_api_version,
           stdout=api.raw_io.output_text(
@@ -61,7 +59,8 @@
           stdout=api.raw_io.output_text('12345 qemu-system blah')
       ),
       api.step_data(
-          'start avd (2).Start Android emulator (%s)' % avd_api_version,
+          'start avd (2).Start Android emulator (%s)' %
+          avd_api_version,
           stdout=api.raw_io.output_text(
               'android_' + avd_api_version +
               '_google_apis_x86|emulator-5554 started (pid: 17687)'
diff --git a/recipe_modules/retry/examples/full.expected/pass_with_retries.json b/recipe_modules/retry/examples/full.expected/pass_with_retries.json
index f220f72..c312a99 100644
--- a/recipe_modules/retry/examples/full.expected/pass_with_retries.json
+++ b/recipe_modules/retry/examples/full.expected/pass_with_retries.json
@@ -34,12 +34,12 @@
     "name": "test: mytest (2)"
   },
   {
-    "cmd": [],
-    "name": "step is flaky: test: mytest",
-    "~followup_annotations": [
-      "@@@STEP_LINK@stdout@@@@",
-      "@@@STEP_WARNINGS@@@"
-    ]
+    "cmd": [
+      "echo",
+      "test run is flaky"
+    ],
+    "infra_step": true,
+    "name": "step is flaky: test: mytest"
   },
   {
     "cmd": [
@@ -59,12 +59,12 @@
     "name": "test: mytest_func (2)"
   },
   {
-    "cmd": [],
-    "name": "step is flaky: test: mytest_func",
-    "~followup_annotations": [
-      "@@@STEP_LINK@stdout@@@@",
-      "@@@STEP_WARNINGS@@@"
-    ]
+    "cmd": [
+      "echo",
+      "test run is flaky"
+    ],
+    "infra_step": true,
+    "name": "step is flaky: test: mytest_func"
   },
   {
     "cmd": [
diff --git a/recipe_modules/test_utils/__init__.py b/recipe_modules/test_utils/__init__.py
index acb4470..f2dc8ec 100644
--- a/recipe_modules/test_utils/__init__.py
+++ b/recipe_modules/test_utils/__init__.py
@@ -1,7 +1,5 @@
 DEPS = [
     'recipe_engine/context',
-    'recipe_engine/file',
-    'recipe_engine/path',
     'recipe_engine/platform',
     'recipe_engine/properties',
     'recipe_engine/raw_io',
diff --git a/recipe_modules/test_utils/api.py b/recipe_modules/test_utils/api.py
index 5a3033d..6350e00 100644
--- a/recipe_modules/test_utils/api.py
+++ b/recipe_modules/test_utils/api.py
@@ -133,48 +133,36 @@
       be returned when step succeeds, and an exception will be thrown out when
       step fails.
     """
-    if self.m.platform.is_win:
-      resource_name = self.resource('runner.ps1')
-      shell = 'powershell'
+    try:
+      step = self.m.step(
+          step_name,
+          command_list,
+          infra_step=infra_step,
+          stdout=self.m.raw_io.output_text(),
+          stderr=self.m.raw_io.output_text(),
+          timeout=timeout_secs
+      )
+    except self.m.step.StepFailure as f:
+      result = f.result
+      # Truncate stdout
+      stdout = self._truncateString(result.stdout)
+      # Truncate stderr
+      stderr = self._truncateString(result.stderr)
+      raise PrettyFailure(
+          '\n\n```\n%s\n```\n' % (stdout or stderr),
+          result=result,
+      )
+    finally:
+      self.m.step.active_result.presentation.logs[
+          'test_stdout'] = self.m.step.active_result.stdout
+      self.m.step.active_result.presentation.logs[
+          'test_stderr'] = self.m.step.active_result.stderr
+    if self._is_flaky(step.stdout):
+      test_run_status = 'flaky'
+      step.presentation.status = self.m.step.FAILURE
     else:
-      resource_name = self.resource('runner.sh')
-      shell = 'bash'
-
-    logs_file = self.m.path.mkstemp()
-    env = {'LOGS_FILE': logs_file}
-    with self.m.context(env=env):
-      try:
-        final_cmd = [shell, resource_name]
-        final_cmd.extend(command_list)
-        self.m.step(
-            step_name,
-            final_cmd,
-            infra_step=infra_step,
-            timeout=timeout_secs,
-        )
-        # Read logs to analyze flakiness.
-        logs = self.m.file.read_text('read_logs', logs_file)
-        step_stdout = self.m.properties.get(
-            'fake_data'
-        ) if self._test_data.enabled else logs
-        if self._is_flaky(step_stdout):
-          test_run_status = 'flaky'
-          self.flaky_step(step_name, step_stdout)
-        else:
-          test_run_status = 'success'
-      except self.m.step.StepFailure as f:
-        result = f.result
-        logs = self.m.file.read_text('read_logs', logs_file)
-        # Truncate stdout
-        result_stdout = self.m.properties.get(
-            'fake_data'
-        ) if self._test_data.enabled else logs
-        truncated_stdout = self._truncateString(result_stdout)
-        raise PrettyFailure(
-            '\n\n```\n%s\n```\n' % (truncated_stdout),
-            result=result,
-        )
-      return test_run_status
+      test_run_status = 'success'
+    return test_run_status
 
   def test_step_name(self, step_name):
     """Append keyword test to test step name to be consistent.
@@ -185,14 +173,23 @@
     """
     return 'test: %s' % step_name
 
-  def flaky_step(self, step_name, stdout=''):
+  def flaky_step(self, step_name):
     """Add a flaky step when test is flaky.
     Args:
       step_name(str): The name of the step.
     """
-    with self.m.step.nest('step is flaky: %s' % step_name) as presentation:
-      presentation.links['stdout'] = stdout
-      presentation.status = self.m.step.WARNING
+    if self.m.platform.is_win:
+      self.m.step(
+          'step is flaky: %s' % step_name,
+          ['powershell.exe', 'echo "test run is flaky"'],
+          infra_step=True,
+      )
+    else:
+      self.m.step(
+          'step is flaky: %s' % step_name,
+          ['echo', 'test run is flaky'],
+          infra_step=True,
+      )
 
   def collect_benchmark_tags(self, env, env_prefixes, target_tags):
     """Collect host and device tags for devicelab benchmarks.
diff --git a/recipe_modules/test_utils/examples/full.expected/failing.json b/recipe_modules/test_utils/examples/full.expected/failing.json
index 30523de..dc07e37 100644
--- a/recipe_modules/test_utils/examples/full.expected/failing.json
+++ b/recipe_modules/test_utils/examples/full.expected/failing.json
@@ -1,41 +1,21 @@
 [
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "ls",
       "-la"
     ],
-    "env": {
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1"
-    },
     "name": "mytest",
     "timeout": 3600,
     "~followup_annotations": [
+      "@@@STEP_LOG_LINE@test_stdout@#failure@@@",
+      "@@@STEP_LOG_LINE@test_stdout@this is a failure@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@",
       "@@@STEP_FAILURE@@@"
     ]
   },
   {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "env": {
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1"
-    },
-    "infra_step": true,
-    "name": "read_logs",
-    "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
-    ]
-  },
-  {
     "failure": {
       "failure": {},
       "humanReason": "\n\n```\n#failure\nthis is a failure\n```\n\nStep failed (retcode: 1)"
diff --git a/recipe_modules/test_utils/examples/full.expected/flaky.json b/recipe_modules/test_utils/examples/full.expected/flaky.json
index 4368bc0..195d68a 100644
--- a/recipe_modules/test_utils/examples/full.expected/flaky.json
+++ b/recipe_modules/test_utils/examples/full.expected/flaky.json
@@ -1,52 +1,28 @@
 [
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "ls",
       "-la"
     ],
-    "env": {
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1"
-    },
     "name": "mytest",
-    "timeout": 3600
+    "timeout": 3600,
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@test_stdout@#flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@this is a flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@flaky: true@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@",
+      "@@@STEP_FAILURE@@@"
+    ]
   },
   {
     "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
+      "echo",
+      "test run is flaky"
     ],
-    "env": {
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1"
-    },
     "infra_step": true,
-    "name": "read_logs",
-    "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "step is flaky: mytest",
-    "~followup_annotations": [
-      "@@@STEP_LINK@stdout@#flaky\nthis%20is%20a%20flaky\nflaky:%20true@@@",
-      "@@@STEP_WARNINGS@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "step is flaky: test step",
-    "~followup_annotations": [
-      "@@@STEP_LINK@stdout@@@@",
-      "@@@STEP_WARNINGS@@@"
-    ]
+    "name": "step is flaky: test step"
   },
   {
     "cmd": [
diff --git a/recipe_modules/test_utils/examples/full.expected/long_stdout.json b/recipe_modules/test_utils/examples/full.expected/long_stdout.json
index ea93d35..b190ae9 100644
--- a/recipe_modules/test_utils/examples/full.expected/long_stdout.json
+++ b/recipe_modules/test_utils/examples/full.expected/long_stdout.json
@@ -1,41 +1,1519 @@
 [
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "ls",
       "-la"
     ],
-    "env": {
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1"
-    },
     "name": "mytest",
     "timeout": 3600,
     "~followup_annotations": [
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_LINE@test_stdout@xyz@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@",
       "@@@STEP_FAILURE@@@"
     ]
   },
   {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "env": {
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1"
-    },
-    "infra_step": true,
-    "name": "read_logs",
-    "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
-    ]
-  },
-  {
     "failure": {
       "failure": {},
       "humanReason": "\n\n```\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\nxyz\n```\n\nStep failed (retcode: 1)"
diff --git a/recipe_modules/test_utils/examples/full.expected/passing-mac.json b/recipe_modules/test_utils/examples/full.expected/passing-mac.json
index 0e17099..f66229f 100644
--- a/recipe_modules/test_utils/examples/full.expected/passing-mac.json
+++ b/recipe_modules/test_utils/examples/full.expected/passing-mac.json
@@ -1,44 +1,26 @@
 [
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "ls",
       "-la"
     ],
-    "env": {
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1"
-    },
     "name": "mytest",
-    "timeout": 3600
+    "timeout": 3600,
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@test_stdout@#success@@@",
+      "@@@STEP_LOG_LINE@test_stdout@this is a success@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
+    ]
   },
   {
     "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
+      "echo",
+      "test run is flaky"
     ],
-    "env": {
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1"
-    },
     "infra_step": true,
-    "name": "read_logs",
-    "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "step is flaky: test step",
-    "~followup_annotations": [
-      "@@@STEP_LINK@stdout@@@@",
-      "@@@STEP_WARNINGS@@@"
-    ]
+    "name": "step is flaky: test step"
   },
   {
     "cmd": [
diff --git a/recipe_modules/test_utils/examples/full.expected/passing.json b/recipe_modules/test_utils/examples/full.expected/passing.json
index 1350502..8837ba3 100644
--- a/recipe_modules/test_utils/examples/full.expected/passing.json
+++ b/recipe_modules/test_utils/examples/full.expected/passing.json
@@ -1,44 +1,26 @@
 [
   {
     "cmd": [
-      "powershell",
-      "RECIPE_MODULE[flutter::test_utils]\\resources\\runner.ps1",
       "ls",
       "-la"
     ],
-    "env": {
-      "LOGS_FILE": "[CLEANUP]\\tmp_tmp_1"
-    },
     "name": "mytest",
-    "timeout": 3600
+    "timeout": 3600,
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@test_stdout@#success@@@",
+      "@@@STEP_LOG_LINE@test_stdout@this is a success@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
+    ]
   },
   {
     "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]\\tmp_tmp_1",
-      "/path/to/tmp/"
+      "powershell.exe",
+      "echo \"test run is flaky\""
     ],
-    "env": {
-      "LOGS_FILE": "[CLEANUP]\\tmp_tmp_1"
-    },
     "infra_step": true,
-    "name": "read_logs",
-    "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "step is flaky: test step",
-    "~followup_annotations": [
-      "@@@STEP_LINK@stdout@@@@",
-      "@@@STEP_WARNINGS@@@"
-    ]
+    "name": "step is flaky: test step"
   },
   {
     "name": "$result"
diff --git a/recipe_modules/test_utils/examples/full.py b/recipe_modules/test_utils/examples/full.py
index dbeede2..fd4a941 100644
--- a/recipe_modules/test_utils/examples/full.py
+++ b/recipe_modules/test_utils/examples/full.py
@@ -27,33 +27,46 @@
 def GenTests(api):
   yield api.test(
       'passing',
-      api.properties(fake_data='#success\nthis is a success'),
+      api.step_data(
+          'mytest',
+          stdout=api.raw_io.output_text('#success\nthis is a success'),
+      ),
       api.platform.name('win'),
       api.properties(tags=['hostonly']),
   )
   yield api.test(
-      'passing-mac', api.platform.name('mac'), api.properties(tags=['ios']),
-      api.properties(fake_data='#success\nthis is a success'),
+      'passing-mac',
+      api.step_data(
+          'mytest',
+          stdout=api.raw_io.output_text('#success\nthis is a success'),
+      ), api.platform.name('mac'), api.properties(tags=['ios']),
       api.step_data(
           'Find device type',
           stdout=api.raw_io.output_text('iPhone8,1'),
       )
   )
   yield api.test(
-      'flaky', api.properties(tags=['hostonly', 'android']),
-      api.properties(fake_data='#flaky\nthis is a flaky\nflaky: true'),
+      'flaky',
+      api.step_data(
+          'mytest',
+          stdout=api.raw_io.output_text('#flaky\nthis is a flaky\nflaky: true'),
+      ), api.properties(tags=['hostonly', 'android']),
       api.platform.name('linux')
   )
   yield api.test(
       'failing',
-      api.step_data('mytest', retcode=1),
-      api.properties(fake_data='#failure\nthis is a failure'),
+      api.step_data(
+          'mytest',
+          stdout=api.raw_io.output_text('#failure\nthis is a failure'),
+          retcode=1
+      ),
       status='FAILURE'
   )
   very_long_string = "xyz\n" * 1500
   yield api.test(
       'long_stdout',
-      api.step_data('mytest', retcode=1),
-      api.properties(fake_data=very_long_string),
+      api.step_data(
+          'mytest', stdout=api.raw_io.output_text(very_long_string), retcode=1
+      ),
       status='FAILURE'
   )
diff --git a/recipe_modules/test_utils/resources/runner.ps1 b/recipe_modules/test_utils/resources/runner.ps1
deleted file mode 100644
index ef3a355..0000000
--- a/recipe_modules/test_utils/resources/runner.ps1
+++ /dev/null
@@ -1 +0,0 @@
-iex "$args" | Tee-Object -FilePath $Env:LOGS_FILE
diff --git a/recipe_modules/test_utils/resources/runner.sh b/recipe_modules/test_utils/resources/runner.sh
deleted file mode 100644
index 2596b0f..0000000
--- a/recipe_modules/test_utils/resources/runner.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-# Helper script to run tests saving the output to a file.
-set -e
-
-args=( "$@" )
-"${args[@]}" 2>&1 | tee $LOGS_FILE
diff --git a/recipes/devicelab/devicelab_drone.expected/basic.json b/recipes/devicelab/devicelab_drone.expected/basic.json
index 523cdf7..a2633bf 100644
--- a/recipes/devicelab/devicelab_drone.expected/basic.json
+++ b/recipes/devicelab/devicelab_drone.expected/basic.json
@@ -481,8 +481,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "bin/test_runner.dart",
       "test",
@@ -502,7 +500,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -531,58 +528,15 @@
       }
     },
     "name": "run abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "USE_EMULATOR": "False"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "test:ci"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@#flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@this is a flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@flaky: true@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@",
+      "@@@STEP_FAILURE@@@"
     ]
   },
   {
@@ -1033,6 +987,48 @@
     "name": "OS info (2)"
   },
   {
+    "cmd": [
+      "echo",
+      "test run is flaky"
+    ],
+    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+    "env": {
+      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+      "GIT_BRANCH": "master",
+      "LUCI_BRANCH": "",
+      "LUCI_CI": "True",
+      "LUCI_PR": "",
+      "OS": "linux",
+      "PUB_CACHE": "[START_DIR]/.pub-cache",
+      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
+      "USE_EMULATOR": "False"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "test:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "step is flaky: run abc"
+  },
+  {
     "cmd": [],
     "name": "Upload results"
   },
diff --git a/recipes/devicelab/devicelab_drone.expected/emulator-test.json b/recipes/devicelab/devicelab_drone.expected/emulator-test.json
index 19fed37..84056af 100644
--- a/recipes/devicelab/devicelab_drone.expected/emulator-test.json
+++ b/recipes/devicelab/devicelab_drone.expected/emulator-test.json
@@ -375,8 +375,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -391,7 +389,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -414,55 +411,11 @@
     "name": "Show devices attached - before emulator install/start.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "AVD_CIPD_VERSION": "AVDCIPDVERSION",
-      "AVD_ROOT": "[CACHE]/avd",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "EMULATOR_VERSION": "android_31_google_apis_x64.textpb",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "USE_EMULATOR": "True"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - before emulator install/start.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -626,8 +579,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -643,7 +594,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -666,56 +616,11 @@
     "name": "avd setup.avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "AVD_CIPD_VERSION": "AVDCIPDVERSION",
-      "AVD_ROOT": "[CACHE]/avd",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "EMULATOR_PID": "17687",
-      "EMULATOR_VERSION": "android_31_google_apis_x64.textpb",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "USE_EMULATOR": "True"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "avd setup.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -753,8 +658,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "bin/test_runner.dart",
       "test",
@@ -777,7 +680,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -794,48 +696,15 @@
       ]
     },
     "name": "run abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_4",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "AVD_CIPD_VERSION": "AVDCIPDVERSION",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "EMULATOR_VERSION": "android_31_google_apis_x64.textpb",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_4",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "USE_EMULATOR": "True"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_4@@@"
+      "@@@STEP_LOG_LINE@test_stdout@#flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@this is a flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@flaky: true@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@",
+      "@@@STEP_FAILURE@@@"
     ]
   },
   {
@@ -1196,6 +1065,38 @@
     "name": "OS info (2)"
   },
   {
+    "cmd": [
+      "echo",
+      "test run is flaky"
+    ],
+    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+    "env": {
+      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+      "AVD_CIPD_VERSION": "AVDCIPDVERSION",
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "EMULATOR_VERSION": "android_31_google_apis_x64.textpb",
+      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+      "GIT_BRANCH": "master",
+      "LUCI_BRANCH": "",
+      "LUCI_CI": "True",
+      "LUCI_PR": "",
+      "OS": "linux",
+      "PUB_CACHE": "[START_DIR]/.pub-cache",
+      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
+      "USE_EMULATOR": "True"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "name": "step is flaky: run abc"
+  },
+  {
     "cmd": [],
     "name": "kill and cleanup avd"
   },
@@ -1373,8 +1274,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -1390,7 +1289,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -1413,56 +1311,11 @@
     "name": "Show devices attached - after emulator uninstall.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_5",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "AVD_CIPD_VERSION": "AVDCIPDVERSION",
-      "AVD_ROOT": "[CACHE]/avd",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "EMULATOR_PID": "",
-      "EMULATOR_VERSION": "android_31_google_apis_x64.textpb",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "USE_EMULATOR": "True"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "Show devices attached - after emulator uninstall.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@tmp_tmp_5@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipes/devicelab/devicelab_drone.expected/linux-xvfb.json b/recipes/devicelab/devicelab_drone.expected/linux-xvfb.json
index 3afe2f6..caefbb2 100644
--- a/recipes/devicelab/devicelab_drone.expected/linux-xvfb.json
+++ b/recipes/devicelab/devicelab_drone.expected/linux-xvfb.json
@@ -481,8 +481,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "xvfb-run",
       "dart",
       "bin/test_runner.dart",
@@ -503,7 +501,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -532,58 +529,12 @@
       }
     },
     "name": "run abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "USE_EMULATOR": "False"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "project:staging"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipes/devicelab/devicelab_drone.expected/local-engine.json b/recipes/devicelab/devicelab_drone.expected/local-engine.json
index 939fca1..4eb4204 100644
--- a/recipes/devicelab/devicelab_drone.expected/local-engine.json
+++ b/recipes/devicelab/devicelab_drone.expected/local-engine.json
@@ -629,8 +629,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "bin/test_runner.dart",
       "test",
@@ -656,7 +654,6 @@
       "GIT_BRANCH": "master",
       "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/android-release",
       "LOCAL_ENGINE_HOST": "host-release",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -686,61 +683,12 @@
       }
     },
     "name": "run abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/android-release",
-      "LOCAL_ENGINE_HOST": "host-release",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "USE_EMULATOR": "False"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/builder/src/out/android-release/dart-sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "test:ci"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -1282,7 +1230,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_3"
+      "[CLEANUP]/tmp_tmp_2"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1386,7 +1334,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1447,7 +1395,7 @@
       "--test-status",
       "Succeeded",
       "--service-account-token-file",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1466,7 +1414,7 @@
       "PUB_CACHE": "[START_DIR]/.pub-cache",
       "REVISION": "12345abcde12345abcde12345abcde12345abcde",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_3",
+      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_2",
       "USE_EMULATOR": "False"
     },
     "env_prefixes": {
@@ -1505,7 +1453,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "remove",
-      "[CLEANUP]/tmp_tmp_3"
+      "[CLEANUP]/tmp_tmp_2"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
diff --git a/recipes/devicelab/devicelab_drone.expected/no-upload-metrics-linux-staging.json b/recipes/devicelab/devicelab_drone.expected/no-upload-metrics-linux-staging.json
index 16b1991..8157d54 100644
--- a/recipes/devicelab/devicelab_drone.expected/no-upload-metrics-linux-staging.json
+++ b/recipes/devicelab/devicelab_drone.expected/no-upload-metrics-linux-staging.json
@@ -481,8 +481,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "bin/test_runner.dart",
       "test",
@@ -502,7 +500,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -531,58 +528,12 @@
       }
     },
     "name": "run abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "USE_EMULATOR": "False"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "project:staging"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipes/devicelab/devicelab_drone.expected/post-submit.json b/recipes/devicelab/devicelab_drone.expected/post-submit.json
index 53407e3..3f9ca07 100644
--- a/recipes/devicelab/devicelab_drone.expected/post-submit.json
+++ b/recipes/devicelab/devicelab_drone.expected/post-submit.json
@@ -481,8 +481,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "bin/test_runner.dart",
       "test",
@@ -502,7 +500,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -531,58 +528,15 @@
       }
     },
     "name": "run abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "USE_EMULATOR": "False"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "project:ci"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@#flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@this is a flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@flaky: true@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@",
+      "@@@STEP_FAILURE@@@"
     ]
   },
   {
@@ -1033,6 +987,48 @@
     "name": "OS info (2)"
   },
   {
+    "cmd": [
+      "echo",
+      "test run is flaky"
+    ],
+    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+    "env": {
+      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+      "GIT_BRANCH": "master",
+      "LUCI_BRANCH": "",
+      "LUCI_CI": "True",
+      "LUCI_PR": "",
+      "OS": "linux",
+      "PUB_CACHE": "[START_DIR]/.pub-cache",
+      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
+      "USE_EMULATOR": "False"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "step is flaky: run abc"
+  },
+  {
     "cmd": [],
     "name": "Upload metrics"
   },
@@ -1094,7 +1090,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_3"
+      "[CLEANUP]/tmp_tmp_2"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1192,7 +1188,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1240,7 +1236,7 @@
       "bin/test_runner.dart",
       "upload-metrics",
       "--test-flaky",
-      "False",
+      "True",
       "--builder-bucket",
       "ci",
       "--results-file",
@@ -1252,7 +1248,7 @@
       "--benchmark-tags",
       "{\"arch\": \"intel\", \"device_type\": \"none\", \"device_version\": \"none\", \"host_type\": \"linux\"}",
       "--service-account-token-file",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1269,7 +1265,7 @@
       "PUB_CACHE": "[START_DIR]/.pub-cache",
       "REVISION": "12345abcde12345abcde12345abcde12345abcde",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_3",
+      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_2",
       "USE_EMULATOR": "False"
     },
     "env_prefixes": {
@@ -1306,7 +1302,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "remove",
-      "[CLEANUP]/tmp_tmp_3"
+      "[CLEANUP]/tmp_tmp_2"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
diff --git a/recipes/devicelab/devicelab_drone.expected/upload-metrics-mac.json b/recipes/devicelab/devicelab_drone.expected/upload-metrics-mac.json
index c7ee6df..2270be2 100644
--- a/recipes/devicelab/devicelab_drone.expected/upload-metrics-mac.json
+++ b/recipes/devicelab/devicelab_drone.expected/upload-metrics-mac.json
@@ -668,8 +668,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE[flutter::devicelab/devicelab_drone].resources/runner.sh",
       "-t",
       "abc",
@@ -687,7 +685,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -716,58 +713,12 @@
       }
     },
     "name": "run abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "darwin",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "USE_EMULATOR": "False"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "project:ci"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -1505,7 +1456,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_3"
+      "[CLEANUP]/tmp_tmp_2"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1603,7 +1554,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1663,7 +1614,7 @@
       "--benchmark-tags",
       "{\"arch\": \"intel\", \"device_type\": \"iPhone 6s\", \"device_version\": \"none\", \"host_type\": \"mac\"}",
       "--service-account-token-file",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1680,7 +1631,7 @@
       "PUB_CACHE": "[START_DIR]/.pub-cache",
       "REVISION": "12345abcde12345abcde12345abcde12345abcde",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_3",
+      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_2",
       "USE_EMULATOR": "False"
     },
     "env_prefixes": {
@@ -1717,7 +1668,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "remove",
-      "[CLEANUP]/tmp_tmp_3"
+      "[CLEANUP]/tmp_tmp_2"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
diff --git a/recipes/devicelab/devicelab_drone.expected/xcode-chromium-mac.json b/recipes/devicelab/devicelab_drone.expected/xcode-chromium-mac.json
index 91706a8..da15509 100644
--- a/recipes/devicelab/devicelab_drone.expected/xcode-chromium-mac.json
+++ b/recipes/devicelab/devicelab_drone.expected/xcode-chromium-mac.json
@@ -668,8 +668,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE[flutter::devicelab/devicelab_drone].resources/runner.sh",
       "-t",
       "abc",
@@ -687,7 +685,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -716,58 +713,12 @@
       }
     },
     "name": "run abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "darwin",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "USE_EMULATOR": "False"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "project:ci"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -1505,7 +1456,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_3"
+      "[CLEANUP]/tmp_tmp_2"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1603,7 +1554,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1661,7 +1612,7 @@
       "--test-status",
       "Succeeded",
       "--service-account-token-file",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1678,7 +1629,7 @@
       "PUB_CACHE": "[START_DIR]/.pub-cache",
       "REVISION": "12345abcde12345abcde12345abcde12345abcde",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_3",
+      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_2",
       "USE_EMULATOR": "False"
     },
     "env_prefixes": {
@@ -1715,7 +1666,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "remove",
-      "[CLEANUP]/tmp_tmp_3"
+      "[CLEANUP]/tmp_tmp_2"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
diff --git a/recipes/devicelab/devicelab_drone.expected/xcode-devicelab-timeout.json b/recipes/devicelab/devicelab_drone.expected/xcode-devicelab-timeout.json
index 9a84ccf..9587ab4 100644
--- a/recipes/devicelab/devicelab_drone.expected/xcode-devicelab-timeout.json
+++ b/recipes/devicelab/devicelab_drone.expected/xcode-devicelab-timeout.json
@@ -2436,8 +2436,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE[flutter::devicelab/devicelab_drone].resources/runner.sh",
       "-t",
       "abc",
@@ -2455,7 +2453,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -2486,62 +2483,14 @@
     "name": "run abc",
     "timeout": 1,
     "~followup_annotations": [
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@",
       "@@@STEP_FAILURE@@@"
     ]
   },
   {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "darwin",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "USE_EMULATOR": "False"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "project:ci"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
-    "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
-    ]
-  },
-  {
     "cmd": [],
     "name": "process logs"
   },
@@ -3357,7 +3306,7 @@
   {
     "failure": {
       "failure": {},
-      "humanReason": "\n\n```\nfake data\n```\n\nStep failed (timeout) (retcode: None)"
+      "humanReason": "\n\n```\n\n```\n\nStep failed (timeout) (retcode: None)"
     },
     "name": "$result"
   }
diff --git a/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json b/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json
index 443bfa8..e99f311 100644
--- a/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json
+++ b/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json
@@ -2436,8 +2436,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE[flutter::devicelab/devicelab_drone].resources/runner.sh",
       "-t",
       "abc",
@@ -2455,7 +2453,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -2484,66 +2481,15 @@
       }
     },
     "name": "run abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "darwin",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "USE_EMULATOR": "False"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "project:ci"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "step is flaky: run abc",
-    "~followup_annotations": [
-      "@@@STEP_LINK@stdout@#flaky\nthis%20is%20a%20flaky\nflaky:%20true@@@",
-      "@@@STEP_WARNINGS@@@"
+      "@@@STEP_LOG_LINE@test_stdout@#flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@this is a flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@flaky: true@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@",
+      "@@@STEP_FAILURE@@@"
     ]
   },
   {
@@ -3360,12 +3306,46 @@
     "name": "git xattr info (2)"
   },
   {
-    "cmd": [],
-    "name": "step is flaky: run abc (2)",
-    "~followup_annotations": [
-      "@@@STEP_LINK@stdout@@@@",
-      "@@@STEP_WARNINGS@@@"
-    ]
+    "cmd": [
+      "echo",
+      "test run is flaky"
+    ],
+    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+    "env": {
+      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+      "GIT_BRANCH": "master",
+      "LUCI_BRANCH": "",
+      "LUCI_CI": "True",
+      "LUCI_PR": "",
+      "OS": "darwin",
+      "PUB_CACHE": "[START_DIR]/.pub-cache",
+      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
+      "USE_EMULATOR": "False"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "step is flaky: run abc"
   },
   {
     "cmd": [],
@@ -3429,7 +3409,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_3"
+      "[CLEANUP]/tmp_tmp_2"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -3527,7 +3507,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -3585,7 +3565,7 @@
       "--test-status",
       "Succeeded",
       "--service-account-token-file",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -3602,7 +3582,7 @@
       "PUB_CACHE": "[START_DIR]/.pub-cache",
       "REVISION": "12345abcde12345abcde12345abcde12345abcde",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_3",
+      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_2",
       "USE_EMULATOR": "False"
     },
     "env_prefixes": {
@@ -3639,7 +3619,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "remove",
-      "[CLEANUP]/tmp_tmp_3"
+      "[CLEANUP]/tmp_tmp_2"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
diff --git a/recipes/devicelab/devicelab_drone.py b/recipes/devicelab/devicelab_drone.py
index eb69629..4d74b5b 100644
--- a/recipes/devicelab/devicelab_drone.py
+++ b/recipes/devicelab/devicelab_drone.py
@@ -316,7 +316,6 @@
           buildername='Linux abc',
           task_name='abc',
           git_branch='master',
-          fake_data='fake data',
           openpay=True,
       ),
       api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
@@ -337,10 +336,10 @@
           buildername='Linux abc',
           task_name='abc',
           git_branch='master',
-          fake_data='fake data',
-          dependencies=[{
-              "dependency": "android_virtual_device", "version": avd_version
-          }, {"dependency": "avd_cipd_version", "version": avd_cipd_version}],
+          dependencies=[
+            {"dependency": "android_virtual_device", "version": avd_version},
+            {"dependency": "avd_cipd_version", "version": avd_cipd_version}
+          ],
           contexts=["android_virtual_device"]
       ), api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
       api.step_data(
@@ -363,7 +362,6 @@
           tags=['ios'],
           device_os='iOS-16',
           git_branch='master',
-          fake_data='#flaky\nthis is a flaky\nflaky: true',
           **{'$flutter/osx_sdk': {'sdk_version': 'deadbeef',}}
       ),
       api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
@@ -399,7 +397,6 @@
           device_os='iOS-16',
           test_timeout_secs=1,
           git_branch='master',
-          fake_data='fake data',
           **{'$flutter/osx_sdk': {'sdk_version': 'deadbeef',}}
       ),
       api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
@@ -436,7 +433,6 @@
           device_os='iOS-16',
           **{'$flutter/osx_sdk': {'sdk_version': 'deadbeef',}},
           git_branch='master',
-          fake_data='fake data',
       ),
       api.buildbucket.ci_build(git_ref='refs/heads/master',),
       api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
@@ -453,7 +449,6 @@
           task_name='abc',
           upload_metrics=True,
           git_branch='master',
-          fake_data='fake data',
       ),
       api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
       api.step_data(
@@ -473,7 +468,6 @@
           upload_metrics=True,
           upload_metrics_to_cas=True,
           git_branch='master',
-          fake_data='fake data',
       ), api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
       api.platform.name('mac'),
       api.step_data(
@@ -488,7 +482,6 @@
           task_name='abc',
           upload_metrics_to_cas=True,
           git_branch='master',
-          fake_data='fake data',
       ), api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
       api.buildbucket.ci_build(
           git_ref='refs/heads/master',
@@ -502,7 +495,6 @@
           task_name='abc',
           upload_metrics_to_cas=True,
           git_branch='master',
-          fake_data='fake data',
           xvfb=1,
       ), api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
       api.buildbucket.ci_build(
@@ -519,7 +511,6 @@
           local_engine='android-release',
           local_engine_host='host-release',
           git_branch='master',
-          fake_data='fake data',
       ), api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
       api.buildbucket.ci_build(
           project='test',
diff --git a/recipes/devicelab/devicelab_drone_build_test.expected/artifact does not exist.json b/recipes/devicelab/devicelab_drone_build_test.expected/artifact does not exist.json
index 632151d..2c9c712 100644
--- a/recipes/devicelab/devicelab_drone_build_test.expected/artifact does not exist.json
+++ b/recipes/devicelab/devicelab_drone_build_test.expected/artifact does not exist.json
@@ -441,8 +441,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "bin/test_runner.dart",
       "test",
@@ -462,7 +460,6 @@
       "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
       "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "1",
@@ -492,57 +489,12 @@
       }
     },
     "name": "build abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "1",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "test:ci"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -892,7 +844,7 @@
       }
     },
     "name": "launch builds.schedule",
-    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"ci\", \"builder\": \"Linux Engine Drone\", \"project\": \"test\"}, \"dimensions\": [{\"key\": \"os\", \"value\": \"Linux\"}], \"exe\": {\"cipdVersion\": \"refs/heads/main\"}, \"experimental\": \"NO\", \"experiments\": {\"luci.buildbucket.parent_tracking\": false}, \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"git.example.com\", \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\", \"project\": \"test/repo\", \"ref\": \"refs/heads/main\"}, \"priority\": 30, \"properties\": {\"$flutter/osx_sdk\": {}, \"artifact\": \"def\", \"build\": {\"drone_dimensions\": [\"os=Linux\"], \"name\": \"abc\", \"properties\": {\"$flutter/osx_sdk\": {}, \"artifact\": \"def\", \"dependencies\": [], \"git_branch\": \"master\", \"parent_builder\": \"Linux abc\", \"tags\": [], \"task_name\": \"abc\"}, \"recipe\": \"devicelab/devicelab_test_drone\"}, \"dependencies\": [], \"drone_dimensions\": [\"os=Linux\"], \"fake_data\": \"fake data\", \"gclient_variables\": {}, \"git_branch\": \"master\", \"git_ref\": \"refs/pull/1/head\", \"parent_builder\": \"Linux abc\", \"recipe\": \"devicelab/devicelab_test_drone\", \"tags\": [], \"task_name\": \"abc\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", \"swarming\": {\"parentRunId\": \"fake-task-id\"}, \"tags\": [{\"key\": \"parent_buildbucket_id\", \"value\": \"8945511751514863184\"}, {\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
+    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"ci\", \"builder\": \"Linux Engine Drone\", \"project\": \"test\"}, \"dimensions\": [{\"key\": \"os\", \"value\": \"Linux\"}], \"exe\": {\"cipdVersion\": \"refs/heads/main\"}, \"experimental\": \"NO\", \"experiments\": {\"luci.buildbucket.parent_tracking\": false}, \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"git.example.com\", \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\", \"project\": \"test/repo\", \"ref\": \"refs/heads/main\"}, \"priority\": 30, \"properties\": {\"$flutter/osx_sdk\": {}, \"artifact\": \"def\", \"build\": {\"drone_dimensions\": [\"os=Linux\"], \"name\": \"abc\", \"properties\": {\"$flutter/osx_sdk\": {}, \"artifact\": \"def\", \"dependencies\": [], \"git_branch\": \"master\", \"parent_builder\": \"Linux abc\", \"tags\": [], \"task_name\": \"abc\"}, \"recipe\": \"devicelab/devicelab_test_drone\"}, \"dependencies\": [], \"drone_dimensions\": [\"os=Linux\"], \"gclient_variables\": {}, \"git_branch\": \"master\", \"git_ref\": \"refs/pull/1/head\", \"parent_builder\": \"Linux abc\", \"recipe\": \"devicelab/devicelab_test_drone\", \"tags\": [], \"task_name\": \"abc\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", \"swarming\": {\"parentRunId\": \"fake-task-id\"}, \"tags\": [{\"key\": \"parent_buildbucket_id\", \"value\": \"8945511751514863184\"}, {\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -963,7 +915,6 @@
       "@@@STEP_LOG_LINE@request@          \"drone_dimensions\": [@@@",
       "@@@STEP_LOG_LINE@request@            \"os=Linux\"@@@",
       "@@@STEP_LOG_LINE@request@          ],@@@",
-      "@@@STEP_LOG_LINE@request@          \"fake_data\": \"fake data\",@@@",
       "@@@STEP_LOG_LINE@request@          \"gclient_variables\": {},@@@",
       "@@@STEP_LOG_LINE@request@          \"git_branch\": \"master\",@@@",
       "@@@STEP_LOG_LINE@request@          \"git_ref\": \"refs/pull/1/head\",@@@",
diff --git a/recipes/devicelab/devicelab_drone_build_test.expected/artifact exists.json b/recipes/devicelab/devicelab_drone_build_test.expected/artifact exists.json
index feadd5d..2ee227f 100644
--- a/recipes/devicelab/devicelab_drone_build_test.expected/artifact exists.json
+++ b/recipes/devicelab/devicelab_drone_build_test.expected/artifact exists.json
@@ -38,7 +38,7 @@
     ],
     "infra_step": true,
     "name": "launch builds.schedule",
-    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"builder\": \"Linux Engine Drone\"}, \"dimensions\": [{\"key\": \"os\", \"value\": \"Linux\"}], \"exe\": {\"cipdVersion\": \"refs/heads/main\"}, \"experimental\": \"NO\", \"experiments\": {\"luci.buildbucket.parent_tracking\": false}, \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"priority\": 30, \"properties\": {\"$flutter/osx_sdk\": {}, \"artifact\": \"def\", \"build\": {\"drone_dimensions\": [\"os=Linux\"], \"name\": \"abc\", \"properties\": {\"$flutter/osx_sdk\": {}, \"artifact\": \"def\", \"dependencies\": [], \"git_branch\": \"master\", \"parent_builder\": \"Linux abc\", \"tags\": [], \"task_name\": \"abc\"}, \"recipe\": \"devicelab/devicelab_test_drone\"}, \"dependencies\": [], \"drone_dimensions\": [\"os=Linux\"], \"fake_data\": \"fake data\", \"gclient_variables\": {}, \"git_branch\": \"master\", \"git_ref\": \"refs/pull/1/head\", \"git_url\": \"test/repo\", \"parent_builder\": \"Linux abc\", \"recipe\": \"devicelab/devicelab_test_drone\", \"tags\": [], \"task_name\": \"abc\"}, \"requestId\": \"0-00000000-0000-0000-0000-000000001337\", \"swarming\": {\"parentRunId\": \"fake-task-id\"}, \"tags\": [{\"key\": \"parent_buildbucket_id\", \"value\": \"0\"}, {\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
+    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"builder\": \"Linux Engine Drone\"}, \"dimensions\": [{\"key\": \"os\", \"value\": \"Linux\"}], \"exe\": {\"cipdVersion\": \"refs/heads/main\"}, \"experimental\": \"NO\", \"experiments\": {\"luci.buildbucket.parent_tracking\": false}, \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"priority\": 30, \"properties\": {\"$flutter/osx_sdk\": {}, \"artifact\": \"def\", \"build\": {\"drone_dimensions\": [\"os=Linux\"], \"name\": \"abc\", \"properties\": {\"$flutter/osx_sdk\": {}, \"artifact\": \"def\", \"dependencies\": [], \"git_branch\": \"master\", \"parent_builder\": \"Linux abc\", \"tags\": [], \"task_name\": \"abc\"}, \"recipe\": \"devicelab/devicelab_test_drone\"}, \"dependencies\": [], \"drone_dimensions\": [\"os=Linux\"], \"gclient_variables\": {}, \"git_branch\": \"master\", \"git_ref\": \"refs/pull/1/head\", \"git_url\": \"test/repo\", \"parent_builder\": \"Linux abc\", \"recipe\": \"devicelab/devicelab_test_drone\", \"tags\": [], \"task_name\": \"abc\"}, \"requestId\": \"0-00000000-0000-0000-0000-000000001337\", \"swarming\": {\"parentRunId\": \"fake-task-id\"}, \"tags\": [{\"key\": \"parent_buildbucket_id\", \"value\": \"0\"}, {\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -99,7 +99,6 @@
       "@@@STEP_LOG_LINE@request@          \"drone_dimensions\": [@@@",
       "@@@STEP_LOG_LINE@request@            \"os=Linux\"@@@",
       "@@@STEP_LOG_LINE@request@          ],@@@",
-      "@@@STEP_LOG_LINE@request@          \"fake_data\": \"fake data\",@@@",
       "@@@STEP_LOG_LINE@request@          \"gclient_variables\": {},@@@",
       "@@@STEP_LOG_LINE@request@          \"git_branch\": \"master\",@@@",
       "@@@STEP_LOG_LINE@request@          \"git_ref\": \"refs/pull/1/head\",@@@",
diff --git a/recipes/devicelab/devicelab_drone_build_test.expected/local-engine.json b/recipes/devicelab/devicelab_drone_build_test.expected/local-engine.json
index f67bf38..9e30027 100644
--- a/recipes/devicelab/devicelab_drone_build_test.expected/local-engine.json
+++ b/recipes/devicelab/devicelab_drone_build_test.expected/local-engine.json
@@ -32,7 +32,7 @@
       "RECIPE_REPO[depot_tools]/gsutil.py",
       "----",
       "ls",
-      "gs://flutter_devicelab/flutter/ci/2d72510e447ab60a9728aeea2362d8be2cbd7789/abc"
+      "gs://flutter_devicelab/flutter/ci/2d72510e447ab60a9728aeea2362d8be2cbd7789/def"
     ],
     "infra_step": true,
     "luci_context": {
@@ -438,7 +438,7 @@
       "ensure-directory",
       "--mode",
       "0o777",
-      "[CLEANUP]/tmp_tmp_2/abc"
+      "[CLEANUP]/tmp_tmp_2/def"
     ],
     "infra_step": true,
     "luci_context": {
@@ -453,7 +453,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "mkdir abc"
+    "name": "mkdir def"
   },
   {
     "cmd": [
@@ -589,8 +589,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "bin/test_runner.dart",
       "test",
@@ -601,7 +599,7 @@
       "--task-args",
       "build",
       "--task-args",
-      "application-binary-path=[CLEANUP]/tmp_tmp_2/abc",
+      "application-binary-path=[CLEANUP]/tmp_tmp_2/def",
       "--local-engine",
       "[CLEANUP]/builder/src/out/android-release",
       "--local-engine-host",
@@ -616,7 +614,6 @@
       "GIT_BRANCH": "master",
       "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/android-release",
       "LOCAL_ENGINE_HOST": "host-release",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -648,61 +645,12 @@
       }
     },
     "name": "build abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "GIT_BRANCH": "master",
-      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/android-release",
-      "LOCAL_ENGINE_HOST": "host-release",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/builder/src/out/android-release/dart-sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
-        "[CLEANUP]/builder/src/out/android-release/dart-sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "test:ci"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -1010,7 +958,7 @@
       "cp",
       "-r",
       "[CLEANUP]/tmp_tmp_2/*",
-      "gs://flutter_devicelab/flutter/ci/2d72510e447ab60a9728aeea2362d8be2cbd7789/abc"
+      "gs://flutter_devicelab/flutter/ci/2d72510e447ab60a9728aeea2362d8be2cbd7789/def"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1052,7 +1000,7 @@
     },
     "name": "gsutil upload artifacts",
     "~followup_annotations": [
-      "@@@STEP_LINK@artifacts@https://console.cloud.google.com/storage/browser/flutter_devicelab/flutter/ci/2d72510e447ab60a9728aeea2362d8be2cbd7789/abc@@@"
+      "@@@STEP_LINK@artifacts@https://console.cloud.google.com/storage/browser/flutter_devicelab/flutter/ci/2d72510e447ab60a9728aeea2362d8be2cbd7789/def@@@"
     ]
   },
   {
@@ -1080,7 +1028,7 @@
       }
     },
     "name": "launch builds.schedule",
-    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"ci\", \"builder\": \"Linux Engine Drone\", \"project\": \"test\"}, \"dimensions\": [{\"key\": \"os\", \"value\": \"Linux\"}], \"exe\": {\"cipdVersion\": \"refs/heads/main\"}, \"experimental\": \"NO\", \"experiments\": {\"luci.buildbucket.parent_tracking\": false}, \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"git.example.com\", \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\", \"project\": \"test/repo\", \"ref\": \"refs/heads/master\"}, \"priority\": 30, \"properties\": {\"$flutter/osx_sdk\": {}, \"artifact\": \"abc\", \"build\": {\"drone_dimensions\": [\"os=Linux\"], \"name\": \"abc\", \"properties\": {\"$flutter/osx_sdk\": {}, \"artifact\": \"abc\", \"dependencies\": [], \"git_branch\": \"master\", \"parent_builder\": \"Linux abc\", \"tags\": [], \"task_name\": \"abc\"}, \"recipe\": \"devicelab/devicelab_test_drone\"}, \"dependencies\": [], \"drone_dimensions\": [\"os=Linux\"], \"fake_data\": \"fake data\", \"gclient_variables\": {}, \"git_branch\": \"master\", \"local_engine\": \"android-release\", \"local_engine_cas_hash\": \"isolatehashlocalengine/22\", \"local_engine_host\": \"host-release\", \"parent_builder\": \"Linux abc\", \"recipe\": \"devicelab/devicelab_test_drone\", \"rtifact\": \"def\", \"tags\": [], \"task_name\": \"abc\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", \"swarming\": {\"parentRunId\": \"fake-task-id\"}, \"tags\": [{\"key\": \"parent_buildbucket_id\", \"value\": \"8945511751514863184\"}, {\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
+    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"ci\", \"builder\": \"Linux Engine Drone\", \"project\": \"test\"}, \"dimensions\": [{\"key\": \"os\", \"value\": \"Linux\"}], \"exe\": {\"cipdVersion\": \"refs/heads/main\"}, \"experimental\": \"NO\", \"experiments\": {\"luci.buildbucket.parent_tracking\": false}, \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"git.example.com\", \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\", \"project\": \"test/repo\", \"ref\": \"refs/heads/master\"}, \"priority\": 30, \"properties\": {\"$flutter/osx_sdk\": {}, \"artifact\": \"def\", \"build\": {\"drone_dimensions\": [\"os=Linux\"], \"name\": \"abc\", \"properties\": {\"$flutter/osx_sdk\": {}, \"artifact\": \"def\", \"dependencies\": [], \"git_branch\": \"master\", \"parent_builder\": \"Linux abc\", \"tags\": [], \"task_name\": \"abc\"}, \"recipe\": \"devicelab/devicelab_test_drone\"}, \"dependencies\": [], \"drone_dimensions\": [\"os=Linux\"], \"gclient_variables\": {}, \"git_branch\": \"master\", \"local_engine\": \"android-release\", \"local_engine_cas_hash\": \"isolatehashlocalengine/22\", \"local_engine_host\": \"host-release\", \"parent_builder\": \"Linux abc\", \"recipe\": \"devicelab/devicelab_test_drone\", \"tags\": [], \"task_name\": \"abc\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", \"swarming\": {\"parentRunId\": \"fake-task-id\"}, \"tags\": [{\"key\": \"parent_buildbucket_id\", \"value\": \"8945511751514863184\"}, {\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -1130,7 +1078,7 @@
       "@@@STEP_LOG_LINE@request@        \"priority\": 30,@@@",
       "@@@STEP_LOG_LINE@request@        \"properties\": {@@@",
       "@@@STEP_LOG_LINE@request@          \"$flutter/osx_sdk\": {},@@@",
-      "@@@STEP_LOG_LINE@request@          \"artifact\": \"abc\",@@@",
+      "@@@STEP_LOG_LINE@request@          \"artifact\": \"def\",@@@",
       "@@@STEP_LOG_LINE@request@          \"build\": {@@@",
       "@@@STEP_LOG_LINE@request@            \"drone_dimensions\": [@@@",
       "@@@STEP_LOG_LINE@request@              \"os=Linux\"@@@",
@@ -1138,7 +1086,7 @@
       "@@@STEP_LOG_LINE@request@            \"name\": \"abc\",@@@",
       "@@@STEP_LOG_LINE@request@            \"properties\": {@@@",
       "@@@STEP_LOG_LINE@request@              \"$flutter/osx_sdk\": {},@@@",
-      "@@@STEP_LOG_LINE@request@              \"artifact\": \"abc\",@@@",
+      "@@@STEP_LOG_LINE@request@              \"artifact\": \"def\",@@@",
       "@@@STEP_LOG_LINE@request@              \"dependencies\": [],@@@",
       "@@@STEP_LOG_LINE@request@              \"git_branch\": \"master\",@@@",
       "@@@STEP_LOG_LINE@request@              \"parent_builder\": \"Linux abc\",@@@",
@@ -1151,7 +1099,6 @@
       "@@@STEP_LOG_LINE@request@          \"drone_dimensions\": [@@@",
       "@@@STEP_LOG_LINE@request@            \"os=Linux\"@@@",
       "@@@STEP_LOG_LINE@request@          ],@@@",
-      "@@@STEP_LOG_LINE@request@          \"fake_data\": \"fake data\",@@@",
       "@@@STEP_LOG_LINE@request@          \"gclient_variables\": {},@@@",
       "@@@STEP_LOG_LINE@request@          \"git_branch\": \"master\",@@@",
       "@@@STEP_LOG_LINE@request@          \"local_engine\": \"android-release\",@@@",
@@ -1159,7 +1106,6 @@
       "@@@STEP_LOG_LINE@request@          \"local_engine_host\": \"host-release\",@@@",
       "@@@STEP_LOG_LINE@request@          \"parent_builder\": \"Linux abc\",@@@",
       "@@@STEP_LOG_LINE@request@          \"recipe\": \"devicelab/devicelab_test_drone\",@@@",
-      "@@@STEP_LOG_LINE@request@          \"rtifact\": \"def\",@@@",
       "@@@STEP_LOG_LINE@request@          \"tags\": [],@@@",
       "@@@STEP_LOG_LINE@request@          \"task_name\": \"abc\"@@@",
       "@@@STEP_LOG_LINE@request@        },@@@",
diff --git a/recipes/devicelab/devicelab_drone_build_test.expected/xcode-mac.json b/recipes/devicelab/devicelab_drone_build_test.expected/xcode-mac.json
index 60f4608..9aadaed 100644
--- a/recipes/devicelab/devicelab_drone_build_test.expected/xcode-mac.json
+++ b/recipes/devicelab/devicelab_drone_build_test.expected/xcode-mac.json
@@ -1361,8 +1361,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "bin/test_runner.dart",
       "test",
@@ -1382,7 +1380,6 @@
       "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
       "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -1414,59 +1411,12 @@
       }
     },
     "name": "build abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "darwin",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "project:ci"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -2101,7 +2051,7 @@
       }
     },
     "name": "launch builds.schedule",
-    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"ci\", \"builder\": \"Mac Engine Drone\", \"project\": \"project\"}, \"dimensions\": [{\"key\": \"os\", \"value\": \"Mac\"}], \"exe\": {\"cipdVersion\": \"refs/heads/main\"}, \"experimental\": \"NO\", \"experiments\": {\"luci.buildbucket.parent_tracking\": false}, \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"chromium.googlesource.com\", \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\", \"project\": \"project\", \"ref\": \"refs/heads/master\"}, \"priority\": 30, \"properties\": {\"$flutter/osx_sdk\": {\"sdk_version\": \"deadbeef\"}, \"artifact\": \"abc\", \"build\": {\"drone_dimensions\": [\"os=Mac\"], \"name\": \"abc\", \"properties\": {\"$flutter/osx_sdk\": {\"sdk_version\": \"deadbeef\"}, \"artifact\": \"abc\", \"dependencies\": [], \"git_branch\": \"master\", \"parent_builder\": \"Mac_ios abc\", \"tags\": [\"ios\"], \"task_name\": \"abc\"}, \"recipe\": \"devicelab/devicelab_test_drone\"}, \"dependencies\": [], \"drone_dimensions\": [\"os=Mac\"], \"fake_data\": \"fake data\", \"gclient_variables\": {}, \"git_branch\": \"master\", \"parent_builder\": \"Mac_ios abc\", \"recipe\": \"devicelab/devicelab_test_drone\", \"tags\": [\"ios\"], \"task_name\": \"abc\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", \"swarming\": {\"parentRunId\": \"fake-task-id\"}, \"tags\": [{\"key\": \"parent_buildbucket_id\", \"value\": \"8945511751514863184\"}, {\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
+    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"ci\", \"builder\": \"Mac Engine Drone\", \"project\": \"project\"}, \"dimensions\": [{\"key\": \"os\", \"value\": \"Mac\"}], \"exe\": {\"cipdVersion\": \"refs/heads/main\"}, \"experimental\": \"NO\", \"experiments\": {\"luci.buildbucket.parent_tracking\": false}, \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"chromium.googlesource.com\", \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\", \"project\": \"project\", \"ref\": \"refs/heads/master\"}, \"priority\": 30, \"properties\": {\"$flutter/osx_sdk\": {\"sdk_version\": \"deadbeef\"}, \"artifact\": \"abc\", \"build\": {\"drone_dimensions\": [\"os=Mac\"], \"name\": \"abc\", \"properties\": {\"$flutter/osx_sdk\": {\"sdk_version\": \"deadbeef\"}, \"artifact\": \"abc\", \"dependencies\": [], \"git_branch\": \"master\", \"parent_builder\": \"Mac_ios abc\", \"tags\": [\"ios\"], \"task_name\": \"abc\"}, \"recipe\": \"devicelab/devicelab_test_drone\"}, \"dependencies\": [], \"drone_dimensions\": [\"os=Mac\"], \"gclient_variables\": {}, \"git_branch\": \"master\", \"parent_builder\": \"Mac_ios abc\", \"recipe\": \"devicelab/devicelab_test_drone\", \"tags\": [\"ios\"], \"task_name\": \"abc\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", \"swarming\": {\"parentRunId\": \"fake-task-id\"}, \"tags\": [{\"key\": \"parent_buildbucket_id\", \"value\": \"8945511751514863184\"}, {\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -2178,7 +2128,6 @@
       "@@@STEP_LOG_LINE@request@          \"drone_dimensions\": [@@@",
       "@@@STEP_LOG_LINE@request@            \"os=Mac\"@@@",
       "@@@STEP_LOG_LINE@request@          ],@@@",
-      "@@@STEP_LOG_LINE@request@          \"fake_data\": \"fake data\",@@@",
       "@@@STEP_LOG_LINE@request@          \"gclient_variables\": {},@@@",
       "@@@STEP_LOG_LINE@request@          \"git_branch\": \"master\",@@@",
       "@@@STEP_LOG_LINE@request@          \"parent_builder\": \"Mac_ios abc\",@@@",
diff --git a/recipes/devicelab/devicelab_drone_build_test.py b/recipes/devicelab/devicelab_drone_build_test.py
index 05df717..0362206 100644
--- a/recipes/devicelab/devicelab_drone_build_test.py
+++ b/recipes/devicelab/devicelab_drone_build_test.py
@@ -227,7 +227,6 @@
           drone_dimensions=['os=Linux'],
           task_name='abc',
           git_branch='master',
-          fake_data='fake data',
           artifact='def',
           git_ref='refs/pull/1/head',
           git_url='test/repo'
@@ -244,7 +243,6 @@
       api.properties(
           buildername='Linux abc',
           drone_dimensions=['os=Linux'],
-          fake_data='fake data',
           task_name='abc',
           git_branch='master',
           artifact='def',
@@ -262,12 +260,11 @@
           buildername='Linux abc',
           drone_dimensions=['os=Linux'],
           task_name='abc',
-          rtifact='def',
+          artifact='def',
           local_engine_cas_hash='isolatehashlocalengine/22',
           local_engine='android-release',
           local_engine_host='host-release',
           git_branch='master',
-          fake_data='fake data',
       ), api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
       api.buildbucket.ci_build(
           project='test',
@@ -283,7 +280,6 @@
           task_name='abc',
           tags=['ios'],
           git_branch='master',
-          fake_data='fake data',
           **{'$flutter/osx_sdk': {'sdk_version': 'deadbeef',}}
       ), api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
       api.platform.name('mac'),
diff --git a/recipes/devicelab/devicelab_test_drone.expected/artifact-exists.json b/recipes/devicelab/devicelab_test_drone.expected/artifact-exists.json
index f0eaed7..07b468a 100644
--- a/recipes/devicelab/devicelab_test_drone.expected/artifact-exists.json
+++ b/recipes/devicelab/devicelab_test_drone.expected/artifact-exists.json
@@ -305,8 +305,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "bin/test_runner.dart",
       "test",
@@ -330,7 +328,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "1",
@@ -348,47 +345,12 @@
       ]
     },
     "name": "run abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "1",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -788,7 +750,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -860,7 +822,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_5"
+      "[CLEANUP]/tmp_tmp_4"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -905,7 +867,7 @@
       "--test-status",
       "Succeeded",
       "--service-account-token-file",
-      "[CLEANUP]/tmp_tmp_5"
+      "[CLEANUP]/tmp_tmp_4"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -922,7 +884,7 @@
       "PUB_CACHE": "[START_DIR]/.pub-cache",
       "REVISION": "12345abcde12345abcde12345abcde12345abcde",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_4"
+      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_3"
     },
     "env_prefixes": {
       "PATH": [
@@ -946,7 +908,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "remove",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
diff --git a/recipes/devicelab/devicelab_test_drone.expected/basic.json b/recipes/devicelab/devicelab_test_drone.expected/basic.json
index d33245b..027ccfa 100644
--- a/recipes/devicelab/devicelab_test_drone.expected/basic.json
+++ b/recipes/devicelab/devicelab_test_drone.expected/basic.json
@@ -508,8 +508,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "bin/test_runner.dart",
       "test",
@@ -533,7 +531,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -563,67 +560,15 @@
       }
     },
     "name": "run abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "test:ci"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "step is flaky: run abc",
-    "~followup_annotations": [
-      "@@@STEP_LINK@stdout@#flaky\nthis%20is%20a%20flaky\nflaky:%20true@@@",
-      "@@@STEP_WARNINGS@@@"
+      "@@@STEP_LOG_LINE@test_stdout@#flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@this is a flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@flaky: true@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@",
+      "@@@STEP_FAILURE@@@"
     ]
   },
   {
@@ -1083,12 +1028,47 @@
     "name": "OS info (2)"
   },
   {
-    "cmd": [],
-    "name": "step is flaky: run abc (2)",
-    "~followup_annotations": [
-      "@@@STEP_LINK@stdout@@@@",
-      "@@@STEP_WARNINGS@@@"
-    ]
+    "cmd": [
+      "echo",
+      "test run is flaky"
+    ],
+    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+    "env": {
+      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+      "GIT_BRANCH": "master",
+      "LUCI_BRANCH": "",
+      "LUCI_CI": "True",
+      "LUCI_PR": "",
+      "OS": "linux",
+      "PUB_CACHE": "[START_DIR]/.pub-cache",
+      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "test:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "step is flaky: run abc"
   },
   {
     "cmd": [],
@@ -1151,7 +1131,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1247,7 +1227,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_5"
+      "[CLEANUP]/tmp_tmp_4"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1306,7 +1286,7 @@
       "--benchmark-tags",
       "{\"arch\": \"intel\", \"device_type\": \"none\", \"device_version\": \"none\", \"host_type\": \"linux\"}",
       "--service-account-token-file",
-      "[CLEANUP]/tmp_tmp_5"
+      "[CLEANUP]/tmp_tmp_4"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1323,7 +1303,7 @@
       "PUB_CACHE": "[START_DIR]/.pub-cache",
       "REVISION": "12345abcde12345abcde12345abcde12345abcde",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_4"
+      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_3"
     },
     "env_prefixes": {
       "PATH": [
@@ -1359,7 +1339,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "remove",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
diff --git a/recipes/devicelab/devicelab_test_drone.expected/experimental.json b/recipes/devicelab/devicelab_test_drone.expected/experimental.json
index 4c14b6c..d115560 100644
--- a/recipes/devicelab/devicelab_test_drone.expected/experimental.json
+++ b/recipes/devicelab/devicelab_test_drone.expected/experimental.json
@@ -508,8 +508,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "bin/test_runner.dart",
       "test",
@@ -533,7 +531,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -563,67 +560,15 @@
       }
     },
     "name": "run abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "test:ci"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "step is flaky: run abc",
-    "~followup_annotations": [
-      "@@@STEP_LINK@stdout@#flaky\nthis%20is%20a%20flaky\nflaky:%20true@@@",
-      "@@@STEP_WARNINGS@@@"
+      "@@@STEP_LOG_LINE@test_stdout@#flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@this is a flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@flaky: true@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@",
+      "@@@STEP_FAILURE@@@"
     ]
   },
   {
@@ -1083,12 +1028,47 @@
     "name": "OS info (2)"
   },
   {
-    "cmd": [],
-    "name": "step is flaky: run abc (2)",
-    "~followup_annotations": [
-      "@@@STEP_LINK@stdout@@@@",
-      "@@@STEP_WARNINGS@@@"
-    ]
+    "cmd": [
+      "echo",
+      "test run is flaky"
+    ],
+    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+    "env": {
+      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+      "GIT_BRANCH": "master",
+      "LUCI_BRANCH": "",
+      "LUCI_CI": "True",
+      "LUCI_PR": "",
+      "OS": "linux",
+      "PUB_CACHE": "[START_DIR]/.pub-cache",
+      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "test:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "step is flaky: run abc"
   },
   {
     "name": "$result"
diff --git a/recipes/devicelab/devicelab_test_drone.expected/local-engine.json b/recipes/devicelab/devicelab_test_drone.expected/local-engine.json
index 44a3b8a..9a31c9a 100644
--- a/recipes/devicelab/devicelab_test_drone.expected/local-engine.json
+++ b/recipes/devicelab/devicelab_test_drone.expected/local-engine.json
@@ -657,8 +657,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "bin/test_runner.dart",
       "test",
@@ -688,7 +686,6 @@
       "GIT_BRANCH": "master",
       "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/android-release",
       "LOCAL_ENGINE_HOST": "host-release",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -720,63 +717,12 @@
       }
     },
     "name": "run abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/android-release",
-      "LOCAL_ENGINE_HOST": "host-release",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/builder/src/out/android-release/dart-sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
-        "[CLEANUP]/builder/src/out/android-release/dart-sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "test:ci"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -1335,7 +1281,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1437,7 +1383,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_5"
+      "[CLEANUP]/tmp_tmp_4"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1497,7 +1443,7 @@
       "--test-status",
       "Succeeded",
       "--service-account-token-file",
-      "[CLEANUP]/tmp_tmp_5"
+      "[CLEANUP]/tmp_tmp_4"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -1516,7 +1462,7 @@
       "PUB_CACHE": "[START_DIR]/.pub-cache",
       "REVISION": "12345abcde12345abcde12345abcde12345abcde",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_4"
+      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_3"
     },
     "env_prefixes": {
       "PATH": [
@@ -1554,7 +1500,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "remove",
-      "[CLEANUP]/tmp_tmp_4"
+      "[CLEANUP]/tmp_tmp_3"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
diff --git a/recipes/devicelab/devicelab_test_drone.expected/mac.json b/recipes/devicelab/devicelab_test_drone.expected/mac.json
index 178085d..b3df8ae 100644
--- a/recipes/devicelab/devicelab_test_drone.expected/mac.json
+++ b/recipes/devicelab/devicelab_test_drone.expected/mac.json
@@ -1238,8 +1238,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "bin/test_runner.dart",
       "test",
@@ -1263,7 +1261,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -1293,67 +1290,15 @@
       }
     },
     "name": "run abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_5",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_5",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "darwin",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "project:ci"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_5@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "step is flaky: run abc",
-    "~followup_annotations": [
-      "@@@STEP_LINK@stdout@#flaky\nthis%20is%20a%20flaky\nflaky:%20true@@@",
-      "@@@STEP_WARNINGS@@@"
+      "@@@STEP_LOG_LINE@test_stdout@#flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@this is a flaky@@@",
+      "@@@STEP_LOG_LINE@test_stdout@flaky: true@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@",
+      "@@@STEP_FAILURE@@@"
     ]
   },
   {
@@ -2044,12 +1989,47 @@
     "name": "git xattr info (2)"
   },
   {
-    "cmd": [],
-    "name": "step is flaky: run abc (2)",
-    "~followup_annotations": [
-      "@@@STEP_LINK@stdout@@@@",
-      "@@@STEP_WARNINGS@@@"
-    ]
+    "cmd": [
+      "echo",
+      "test run is flaky"
+    ],
+    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+    "env": {
+      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+      "GIT_BRANCH": "master",
+      "LUCI_BRANCH": "",
+      "LUCI_CI": "True",
+      "LUCI_PR": "",
+      "OS": "darwin",
+      "PUB_CACHE": "[START_DIR]/.pub-cache",
+      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "step is flaky: run abc"
   },
   {
     "cmd": [
@@ -2154,7 +2134,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_6"
+      "[CLEANUP]/tmp_tmp_5"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -2250,7 +2230,7 @@
       "/path/to/tmp/json",
       "copy",
       "extra.secret.token.should.not.be.logged",
-      "[CLEANUP]/tmp_tmp_7"
+      "[CLEANUP]/tmp_tmp_6"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -2307,7 +2287,7 @@
       "--test-status",
       "Succeeded",
       "--service-account-token-file",
-      "[CLEANUP]/tmp_tmp_7"
+      "[CLEANUP]/tmp_tmp_6"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
@@ -2324,7 +2304,7 @@
       "PUB_CACHE": "[START_DIR]/.pub-cache",
       "REVISION": "12345abcde12345abcde12345abcde12345abcde",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
-      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_6"
+      "TOKEN_PATH": "[CLEANUP]/tmp_tmp_5"
     },
     "env_prefixes": {
       "PATH": [
@@ -2360,7 +2340,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "remove",
-      "[CLEANUP]/tmp_tmp_6"
+      "[CLEANUP]/tmp_tmp_5"
     ],
     "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
     "env": {
diff --git a/recipes/devicelab/devicelab_test_drone.expected/no-upload-metrics-linux-staging.json b/recipes/devicelab/devicelab_test_drone.expected/no-upload-metrics-linux-staging.json
index f9bf91c..279a5ac 100644
--- a/recipes/devicelab/devicelab_test_drone.expected/no-upload-metrics-linux-staging.json
+++ b/recipes/devicelab/devicelab_test_drone.expected/no-upload-metrics-linux-staging.json
@@ -508,8 +508,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "bin/test_runner.dart",
       "test",
@@ -533,7 +531,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -563,59 +560,12 @@
       }
     },
     "name": "run abc",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
-        "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "luci_context": {
-      "realm": {
-        "name": "project:staging"
-      },
-      "resultdb": {
-        "current_invocation": {
-          "name": "invocations/build:8945511751514863184",
-          "update_token": "token"
-        },
-        "hostname": "rdbhost"
-      }
-    },
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipes/devicelab/devicelab_test_drone.py b/recipes/devicelab/devicelab_test_drone.py
index 0a5a5de..52a4f0b 100644
--- a/recipes/devicelab/devicelab_test_drone.py
+++ b/recipes/devicelab/devicelab_test_drone.py
@@ -297,7 +297,6 @@
           task_name='abc',
           git_branch='master',
           artifact='def',
-          fake_data='fake data',
           git_ref='refs/pull/1/head',
           parent_builder='ghi',
       ),
@@ -309,13 +308,17 @@
           buildername='Linux abc',
           task_name='abc',
           git_branch='master',
-          fake_data='#flaky\nthis is a flaky\nflaky: true',
           artifact='def',
           upload_metrics=True,
           upload_metrics_to_cas=True,
           parent_builder='ghi',
       ),
       api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
+      api.step_data(
+          'run abc',
+          stdout=api.raw_io.output_text('#flaky\nthis is a flaky\nflaky: true'),
+          retcode=0
+      ),
       api.buildbucket.ci_build(
           project='test',
           git_repo='git.example.com/test/repo',
@@ -328,10 +331,14 @@
           task_name='abc',
           git_branch='master',
           artifact='def',
-          fake_data='#flaky\nthis is a flaky\nflaky: true',
           parent_builder='ghi',
       ),
       api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
+      api.step_data(
+          'run abc',
+          stdout=api.raw_io.output_text('#flaky\nthis is a flaky\nflaky: true'),
+          retcode=0
+      ),
       api.buildbucket.ci_build(
           project='test',
           git_repo='git.example.com/test/repo',
@@ -343,7 +350,6 @@
       api.properties(
           buildername='Linux abc',
           task_name='abc',
-          fake_data='fake data',
           artifact='def',
           upload_metrics_to_cas=True,
           git_branch='master',
@@ -363,7 +369,6 @@
           local_engine='android-release',
           local_engine_host='host-release',
           git_branch='master',
-          fake_data='fake data',
           artifact='def',
           parent_builder='ghi',
       ), api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
@@ -382,12 +387,15 @@
           git_branch='master',
           **{'$flutter/osx_sdk': {'sdk_version': 'deadbeef',}},
           artifact='def',
-          fake_data='#flaky\nthis is a flaky\nflaky: true',
           parent_builder='ghi'
       ), api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
       api.platform.name('mac'),
       api.buildbucket.ci_build(git_ref='refs/heads/master',),
-      api.swarming.properties(bot_id='flutter-devicelab-mac-1'),
+      api.step_data(
+          'run abc',
+          stdout=api.raw_io.output_text('#flaky\nthis is a flaky\nflaky: true'),
+          retcode=0
+      ), api.swarming.properties(bot_id='flutter-devicelab-mac-1'),
       api.step_data(
           'Find device type',
           stdout=api.raw_io.output_text('iPhone8,1'),
diff --git a/recipes/flutter/flutter_drone.expected/android_sdk.json b/recipes/flutter/flutter_drone.expected/android_sdk.json
index 4be4c45..14ef957 100644
--- a/recipes/flutter/flutter_drone.expected/android_sdk.json
+++ b/recipes/flutter/flutter_drone.expected/android_sdk.json
@@ -245,8 +245,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "--enable-asserts",
       "[START_DIR]/flutter/dev/bots/test.dart"
@@ -264,7 +262,6 @@
       "GIT_BRANCH": "",
       "GRADLE_OPTS": "-Dorg.gradle.daemon=false",
       "GRADLE_USER_HOME": "[CACHE]/gradle",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -287,58 +284,12 @@
       ]
     },
     "name": "run test.dart for None shard and subshard None",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[START_DIR]/flutter",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/android/sdk",
-      "ANDROID_NDK_PATH": "[CACHE]/android/ndk",
-      "ANDROID_SDK_HOME": "[CLEANUP]/tmp_tmp_1",
-      "ANDROID_SDK_ROOT": "[CACHE]/android/sdk",
-      "ANDROID_USER_HOME": "[CLEANUP]/tmp_tmp_1/.android",
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "GCP_PROJECT": "flutter-infra",
-      "GIT_BRANCH": "",
-      "GRADLE_OPTS": "-Dorg.gradle.daemon=false",
-      "GRADLE_USER_HOME": "[CACHE]/gradle",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REDUCED_TEST_SET": "False",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
-      "SHARD": null,
-      "SUBSHARD": null
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipes/flutter/flutter_drone.expected/android_sdk_reduced.json b/recipes/flutter/flutter_drone.expected/android_sdk_reduced.json
index 6eacfd6..437a771 100644
--- a/recipes/flutter/flutter_drone.expected/android_sdk_reduced.json
+++ b/recipes/flutter/flutter_drone.expected/android_sdk_reduced.json
@@ -245,8 +245,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "--enable-asserts",
       "[START_DIR]/flutter/dev/bots/test.dart"
@@ -264,7 +262,6 @@
       "GIT_BRANCH": "",
       "GRADLE_OPTS": "-Dorg.gradle.daemon=false",
       "GRADLE_USER_HOME": "[CACHE]/gradle",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -287,58 +284,12 @@
       ]
     },
     "name": "run test.dart for None shard and subshard None",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[START_DIR]/flutter",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/android/sdk",
-      "ANDROID_NDK_PATH": "[CACHE]/android/ndk",
-      "ANDROID_SDK_HOME": "[CLEANUP]/tmp_tmp_1",
-      "ANDROID_SDK_ROOT": "[CACHE]/android/sdk",
-      "ANDROID_USER_HOME": "[CLEANUP]/tmp_tmp_1/.android",
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "GCP_PROJECT": "flutter-infra",
-      "GIT_BRANCH": "",
-      "GRADLE_OPTS": "-Dorg.gradle.daemon=false",
-      "GRADLE_USER_HOME": "[CACHE]/gradle",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REDUCED_TEST_SET": "True",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
-      "SHARD": null,
-      "SUBSHARD": null
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipes/flutter/flutter_drone.expected/no_requirements.json b/recipes/flutter/flutter_drone.expected/no_requirements.json
index 304bb53..5d884e0 100644
--- a/recipes/flutter/flutter_drone.expected/no_requirements.json
+++ b/recipes/flutter/flutter_drone.expected/no_requirements.json
@@ -203,8 +203,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "--enable-asserts",
       "[START_DIR]/flutter/dev/bots/test.dart"
@@ -215,7 +213,6 @@
       "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
       "GCP_PROJECT": "flutter-infra",
       "GIT_BRANCH": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -238,51 +235,12 @@
       ]
     },
     "name": "run test.dart for None shard and subshard None",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[START_DIR]/flutter",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "GCP_PROJECT": "flutter-infra",
-      "GIT_BRANCH": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REDUCED_TEST_SET": "False",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
-      "SHARD": null,
-      "SUBSHARD": null
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipes/flutter/flutter_drone.expected/no_requirements_reduced.json b/recipes/flutter/flutter_drone.expected/no_requirements_reduced.json
index 2426eed..fc4bb74 100644
--- a/recipes/flutter/flutter_drone.expected/no_requirements_reduced.json
+++ b/recipes/flutter/flutter_drone.expected/no_requirements_reduced.json
@@ -203,8 +203,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "--enable-asserts",
       "[START_DIR]/flutter/dev/bots/test.dart"
@@ -215,7 +213,6 @@
       "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
       "GCP_PROJECT": "flutter-infra",
       "GIT_BRANCH": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -238,51 +235,12 @@
       ]
     },
     "name": "run test.dart for None shard and subshard None",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[START_DIR]/flutter",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "GCP_PROJECT": "flutter-infra",
-      "GIT_BRANCH": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REDUCED_TEST_SET": "True",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
-      "SHARD": null,
-      "SUBSHARD": null
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipes/flutter/flutter_drone.expected/web_engine.json b/recipes/flutter/flutter_drone.expected/web_engine.json
index 32a3a95..1ae29cd 100644
--- a/recipes/flutter/flutter_drone.expected/web_engine.json
+++ b/recipes/flutter/flutter_drone.expected/web_engine.json
@@ -375,8 +375,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "--enable-asserts",
       "[START_DIR]/flutter/dev/bots/test.dart",
@@ -390,7 +388,6 @@
       "GCP_PROJECT": "flutter-infra",
       "GIT_BRANCH": "",
       "LOCAL_WEB_SDK": "[CLEANUP]/builder/src/out/wasm_release",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -415,54 +412,12 @@
       ]
     },
     "name": "run test.dart for None shard and subshard None",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[START_DIR]/flutter",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "GCP_PROJECT": "flutter-infra",
-      "GIT_BRANCH": "",
-      "LOCAL_WEB_SDK": "[CLEANUP]/builder/src/out/wasm_release",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REDUCED_TEST_SET": "False",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
-      "SHARD": null,
-      "SUBSHARD": null
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/builder/src/flutter/prebuilts/${platform}/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[CLEANUP]/builder/src/flutter/prebuilts/${platform}/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipes/flutter/flutter_drone.expected/web_engine_reduced.json b/recipes/flutter/flutter_drone.expected/web_engine_reduced.json
index c32fe74..4c52987 100644
--- a/recipes/flutter/flutter_drone.expected/web_engine_reduced.json
+++ b/recipes/flutter/flutter_drone.expected/web_engine_reduced.json
@@ -375,8 +375,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "--enable-asserts",
       "[START_DIR]/flutter/dev/bots/test.dart",
@@ -390,7 +388,6 @@
       "GCP_PROJECT": "flutter-infra",
       "GIT_BRANCH": "",
       "LOCAL_WEB_SDK": "[CLEANUP]/builder/src/out/wasm_release",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -415,54 +412,12 @@
       ]
     },
     "name": "run test.dart for None shard and subshard None",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[START_DIR]/flutter",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "GCP_PROJECT": "flutter-infra",
-      "GIT_BRANCH": "",
-      "LOCAL_WEB_SDK": "[CLEANUP]/builder/src/out/wasm_release",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REDUCED_TEST_SET": "True",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
-      "SHARD": null,
-      "SUBSHARD": null
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CLEANUP]/builder/src/flutter/prebuilts/${platform}/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[CLEANUP]/builder/src/flutter/prebuilts/${platform}/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipes/flutter/flutter_drone.expected/xcode.json b/recipes/flutter/flutter_drone.expected/xcode.json
index 304bb53..5d884e0 100644
--- a/recipes/flutter/flutter_drone.expected/xcode.json
+++ b/recipes/flutter/flutter_drone.expected/xcode.json
@@ -203,8 +203,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "--enable-asserts",
       "[START_DIR]/flutter/dev/bots/test.dart"
@@ -215,7 +213,6 @@
       "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
       "GCP_PROJECT": "flutter-infra",
       "GIT_BRANCH": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -238,51 +235,12 @@
       ]
     },
     "name": "run test.dart for None shard and subshard None",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[START_DIR]/flutter",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "GCP_PROJECT": "flutter-infra",
-      "GIT_BRANCH": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REDUCED_TEST_SET": "False",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
-      "SHARD": null,
-      "SUBSHARD": null
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipes/flutter/flutter_drone.expected/xcode_reduced.json b/recipes/flutter/flutter_drone.expected/xcode_reduced.json
index 2426eed..fc4bb74 100644
--- a/recipes/flutter/flutter_drone.expected/xcode_reduced.json
+++ b/recipes/flutter/flutter_drone.expected/xcode_reduced.json
@@ -203,8 +203,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "dart",
       "--enable-asserts",
       "[START_DIR]/flutter/dev/bots/test.dart"
@@ -215,7 +213,6 @@
       "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
       "GCP_PROJECT": "flutter-infra",
       "GIT_BRANCH": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -238,51 +235,12 @@
       ]
     },
     "name": "run test.dart for None shard and subshard None",
-    "timeout": 1800
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[START_DIR]/flutter",
-    "env": {
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "GCP_PROJECT": "flutter-infra",
-      "GIT_BRANCH": "",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REDUCED_TEST_SET": "True",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
-      "SHARD": null,
-      "SUBSHARD": null
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "read_logs",
+    "timeout": 1800,
     "~followup_annotations": [
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipes/flutter/flutter_drone.py b/recipes/flutter/flutter_drone.py
index 6f649ac..4a18f69 100644
--- a/recipes/flutter/flutter_drone.py
+++ b/recipes/flutter/flutter_drone.py
@@ -121,13 +121,11 @@
     yield api.test(
         'no_requirements%s' % ('_reduced' if should_run_reduced else ''),
         api.repo_util.flutter_environment_data(),
-        api.properties(reduced_test_set=should_run_reduced),
-        api.properties(fake_data='fake data'),
+        api.properties(reduced_test_set=should_run_reduced)
     )
     yield api.test(
         'android_sdk%s' % ('_reduced' if should_run_reduced else ''),
         api.repo_util.flutter_environment_data(),
-        api.properties(fake_data='fake data'),
         api.properties(
             dependencies=[{'dependency': 'android_sdk'}],
             android_sdk=True,
@@ -139,7 +137,6 @@
     yield api.test(
         'web_engine%s' % ('_reduced' if should_run_reduced else ''),
         api.repo_util.flutter_environment_data(),
-        api.properties(fake_data='fake data'),
         api.properties(
             local_web_sdk_cas_hash='abceqwe',
             reduced_test_set=should_run_reduced
@@ -148,7 +145,6 @@
     yield api.test(
         'xcode%s' % ('_reduced' if should_run_reduced else ''),
         api.repo_util.flutter_environment_data(),
-        api.properties(fake_data='fake data'),
         api.properties(
             **{'$flutter/osx_sdk': {'sdk_version': 'deadbeef',}},
             reduced_test_set=should_run_reduced
diff --git a/recipes/packages/packages.expected/emulator-test.json b/recipes/packages/packages.expected/emulator-test.json
index e41414e..aa018d0 100644
--- a/recipes/packages/packages.expected/emulator-test.json
+++ b/recipes/packages/packages.expected/emulator-test.json
@@ -534,8 +534,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -548,7 +546,6 @@
       "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
       "EMULATOR_VERSION": "android_31_google_apis_x64.textpb",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -572,54 +569,11 @@
     "name": "Run package tests.Show devices attached - before emulator install/start.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_1",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "AVD_CIPD_VERSION": "AVDCIPDVERSION",
-      "AVD_ROOT": "[CACHE]/avd",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "EMULATOR_VERSION": "android_31_google_apis_x64.textpb",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PR_OVERRIDE_LABELS": "",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
-      "USE_EMULATOR": "True"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "Run package tests.Show devices attached - before emulator install/start.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_END@tmp_tmp_1@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -786,8 +740,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/avd_setup.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -801,7 +753,6 @@
       "EMULATOR_PID": "17687",
       "EMULATOR_VERSION": "android_31_google_apis_x64.textpb",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -825,55 +776,11 @@
     "name": "Run package tests.avd setup.avd_setup.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_2",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "AVD_CIPD_VERSION": "AVDCIPDVERSION",
-      "AVD_ROOT": "[CACHE]/avd",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "EMULATOR_PID": "17687",
-      "EMULATOR_VERSION": "android_31_google_apis_x64.textpb",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_2",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PR_OVERRIDE_LABELS": "",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
-      "USE_EMULATOR": "True"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "Run package tests.avd setup.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_END@tmp_tmp_2@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
@@ -1337,8 +1244,6 @@
   },
   {
     "cmd": [
-      "bash",
-      "RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
       "RECIPE_MODULE[flutter::android_virtual_device]/resources/adb_show_devices.sh",
       "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb"
     ],
@@ -1354,7 +1259,6 @@
       "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
       "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
       "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
       "LUCI_PR": "",
@@ -1378,57 +1282,11 @@
     "name": "Run package tests.Show devices attached - after emulator uninstall.adb_show_devices.sh",
     "timeout": 3600,
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/tmp_tmp_3",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[CACHE]/avd",
-    "env": {
-      "ADB_PATH": "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools/adb",
-      "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
-      "AVD_CIPD_VERSION": "AVDCIPDVERSION",
-      "AVD_ROOT": "[CACHE]/avd",
-      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "EMULATOR_PID": "",
-      "EMULATOR_VERSION": "android_31_google_apis_x64.textpb",
-      "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
-      "GIT_BRANCH": "master",
-      "LOGS_FILE": "[CLEANUP]/tmp_tmp_3",
-      "LUCI_BRANCH": "",
-      "LUCI_CI": "True",
-      "LUCI_PR": "",
-      "OS": "linux",
-      "PR_OVERRIDE_LABELS": "",
-      "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "12345abcde12345abcde12345abcde12345abcde",
-      "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
-      "USE_EMULATOR": "True"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
-        "[CACHE]/avd/src/third_party/android_sdk/public/platform-tools",
-        "[START_DIR]/flutter/bin",
-        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
-      ]
-    },
-    "infra_step": true,
-    "name": "Run package tests.Show devices attached - after emulator uninstall.read_logs",
-    "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_END@tmp_tmp_3@@@"
+      "@@@STEP_LOG_LINE@test_stdout@@@@",
+      "@@@STEP_LOG_END@test_stdout@@@",
+      "@@@STEP_LOG_LINE@test_stderr@@@@",
+      "@@@STEP_LOG_END@test_stderr@@@"
     ]
   },
   {
diff --git a/recipes/packages/packages.py b/recipes/packages/packages.py
index 57c9f37..5d3e31a 100644
--- a/recipes/packages/packages.py
+++ b/recipes/packages/packages.py
@@ -185,7 +185,6 @@
               {"dependency": "avd_cipd_version", "version": "AVDCIPDVERSION"}
           ],
       ), api.step_data('read yaml.parse', api.json.output(tasks_dict)),
-      api.properties(fake_data='fake data'),
       api.step_data(
           'Run package tests.start avd.Start Android emulator (android_31_google_apis_x64.textpb)',
           stdout=api.raw_io.output_text(