[testsharder] Make test_api helper more helpful

Makes every argument on the `test()` helper function of the testsharder
test API optional except `name`, and sets them based on `name` if they
are unset. This helps make test cases less verbose.

The expectation file diffs are mostly from making the mock data more
realistic:
- tests' "path" fields start with "/pkgfs" for fuchsia tests and "host_x64"
  for host-side tests
- the "command" field is populated for fuchsia tests
- adding a "deps" field by default

Change-Id: I36244487976f32c2dcb32e3076d23e573233b770
diff --git a/recipe_modules/build/examples/full.expected/asan.json b/recipe_modules/build/examples/full.expected/asan.json
index c74c9dd..0f43e78 100644
--- a/recipe_modules/build/examples/full.expected/asan.json
+++ b/recipe_modules/build/examples/full.expected/asan.json
@@ -3389,11 +3389,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/blobstats_fails.json b/recipe_modules/build/examples/full.expected/blobstats_fails.json
index 66e39f4..6a112e9 100644
--- a/recipe_modules/build/examples/full.expected/blobstats_fails.json
+++ b/recipe_modules/build/examples/full.expected/blobstats_fails.json
@@ -3367,11 +3367,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/board_with_packages.json b/recipe_modules/build/examples/full.expected/board_with_packages.json
index 3031c4c..c63bccc 100644
--- a/recipe_modules/build/examples/full.expected/board_with_packages.json
+++ b/recipe_modules/build/examples/full.expected/board_with_packages.json
@@ -3431,11 +3431,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/clang_toolchain_from_cipd.json b/recipe_modules/build/examples/full.expected/clang_toolchain_from_cipd.json
index 3fe3dba..3963383 100644
--- a/recipe_modules/build/examples/full.expected/clang_toolchain_from_cipd.json
+++ b/recipe_modules/build/examples/full.expected/clang_toolchain_from_cipd.json
@@ -3006,11 +3006,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/clang_toolchain_from_isolate.json b/recipe_modules/build/examples/full.expected/clang_toolchain_from_isolate.json
index b74a110..3b0ef01 100644
--- a/recipe_modules/build/examples/full.expected/clang_toolchain_from_isolate.json
+++ b/recipe_modules/build/examples/full.expected/clang_toolchain_from_isolate.json
@@ -3031,11 +3031,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/compdb.json b/recipe_modules/build/examples/full.expected/compdb.json
index 25361d3..bb6dbd8 100644
--- a/recipe_modules/build/examples/full.expected/compdb.json
+++ b/recipe_modules/build/examples/full.expected/compdb.json
@@ -3389,11 +3389,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/default.json b/recipe_modules/build/examples/full.expected/default.json
index 25361d3..bb6dbd8 100644
--- a/recipe_modules/build/examples/full.expected/default.json
+++ b/recipe_modules/build/examples/full.expected/default.json
@@ -3389,11 +3389,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/default_cq.json b/recipe_modules/build/examples/full.expected/default_cq.json
index 425969c..4a8eb35 100644
--- a/recipe_modules/build/examples/full.expected/default_cq.json
+++ b/recipe_modules/build/examples/full.expected/default_cq.json
@@ -3094,11 +3094,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/exclude_images.json b/recipe_modules/build/examples/full.expected/exclude_images.json
index 573a0aa..eed8e2f 100644
--- a/recipe_modules/build/examples/full.expected/exclude_images.json
+++ b/recipe_modules/build/examples/full.expected/exclude_images.json
@@ -3273,11 +3273,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/extract_build_artifacts.json b/recipe_modules/build/examples/full.expected/extract_build_artifacts.json
index be3d10b..8a8a913 100644
--- a/recipe_modules/build/examples/full.expected/extract_build_artifacts.json
+++ b/recipe_modules/build/examples/full.expected/extract_build_artifacts.json
@@ -3391,11 +3391,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -3415,7 +3415,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"path\": \"/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
+      "[\n  {\n    \"path\": \"host_x64/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"host_x64/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_2/tests.json"
     ],
     "infra_step": true,
@@ -3424,10 +3424,10 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -3440,7 +3440,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"/path/to/test\": [\"/path/to/test\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_2/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_2/testrunner\"], \"[START_DIR]/out/default/some.dep\": [\"[CLEANUP]/isolate_tmp_2/some.dep\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_2/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/out/default/host_x64/path/to/test\": [\"[CLEANUP]/isolate_tmp_2/host_x64/path/to/test\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_2/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_2/testrunner\"], \"[START_DIR]/out/default/some.dep\": [\"[CLEANUP]/isolate_tmp_2/some.dep\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_2/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard Vim2.create tree of build artifacts",
@@ -3516,7 +3516,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"environment\": {\n      \"dimensions\": {\n        \"device_type\": \"Khadas Vim2 Max\"\n      }\n    }, \n    \"tests\": [\n      {\n        \"path\": \"/path/to/test\", \n        \"os\": \"linux\", \n        \"name\": \"test\", \n        \"install_path\": \"/path/to/test\", \n        \"label\": \"//path/to/test:test(//toolchain)\"\n      }\n    ], \n    \"name\": \"Vim2\", \n    \"deps\": [\n      \"some.dep\"\n    ]\n  }\n]",
+      "[\n  {\n    \"environment\": {\n      \"dimensions\": {\n        \"device_type\": \"Khadas Vim2 Max\"\n      }\n    }, \n    \"tests\": [\n      {\n        \"path\": \"host_x64/path/to/test\", \n        \"os\": \"linux\", \n        \"name\": \"test\", \n        \"install_path\": \"host_x64/path/to/test\", \n        \"label\": \"//path/to/test:test(//toolchain)\"\n      }\n    ], \n    \"name\": \"Vim2\", \n    \"deps\": [\n      \"some.dep\"\n    ]\n  }\n]",
       "[CLEANUP]/test-orchestration-inputs_tmp_3/shards.json"
     ],
     "infra_step": true,
@@ -3532,10 +3532,10 @@
       "@@@STEP_LOG_LINE@shards.json@    }, @@@",
       "@@@STEP_LOG_LINE@shards.json@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@shards.json@      {@@@",
-      "@@@STEP_LOG_LINE@shards.json@        \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@shards.json@        \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@shards.json@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@shards.json@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@shards.json@      }@@@",
       "@@@STEP_LOG_LINE@shards.json@    ], @@@",
@@ -3809,7 +3809,9 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"QEMU\"@@@",
@@ -3818,20 +3820,28 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/hello\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/goodbye\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/extract_build_artifacts_with_images.json b/recipe_modules/build/examples/full.expected/extract_build_artifacts_with_images.json
index fdb1077..989eb8c 100644
--- a/recipe_modules/build/examples/full.expected/extract_build_artifacts_with_images.json
+++ b/recipe_modules/build/examples/full.expected/extract_build_artifacts_with_images.json
@@ -3389,11 +3389,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -3413,7 +3413,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"path\": \"/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
+      "[\n  {\n    \"path\": \"host_x64/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"host_x64/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_2/tests.json"
     ],
     "infra_step": true,
@@ -3422,10 +3422,10 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -3438,7 +3438,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"/path/to/test\": [\"/path/to/test\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_2/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_2/testrunner\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_2/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/out/default/host_x64/path/to/test\": [\"[CLEANUP]/isolate_tmp_2/host_x64/path/to/test\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_2/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_2/testrunner\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_2/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard Vim2.create tree of build artifacts",
@@ -3514,7 +3514,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"environment\": {\n      \"dimensions\": {\n        \"device_type\": \"Khadas Vim2 Max\"\n      }\n    }, \n    \"tests\": [\n      {\n        \"path\": \"/path/to/test\", \n        \"os\": \"linux\", \n        \"name\": \"test\", \n        \"install_path\": \"/path/to/test\", \n        \"label\": \"//path/to/test:test(//toolchain)\"\n      }\n    ], \n    \"name\": \"Vim2\", \n    \"deps\": []\n  }\n]",
+      "[\n  {\n    \"environment\": {\n      \"dimensions\": {\n        \"device_type\": \"Khadas Vim2 Max\"\n      }\n    }, \n    \"tests\": [\n      {\n        \"path\": \"host_x64/path/to/test\", \n        \"os\": \"linux\", \n        \"name\": \"test\", \n        \"install_path\": \"host_x64/path/to/test\", \n        \"label\": \"//path/to/test:test(//toolchain)\"\n      }\n    ], \n    \"name\": \"Vim2\", \n    \"deps\": []\n  }\n]",
       "[CLEANUP]/test-orchestration-inputs_tmp_3/shards.json"
     ],
     "infra_step": true,
@@ -3530,10 +3530,10 @@
       "@@@STEP_LOG_LINE@shards.json@    }, @@@",
       "@@@STEP_LOG_LINE@shards.json@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@shards.json@      {@@@",
-      "@@@STEP_LOG_LINE@shards.json@        \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@shards.json@        \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@shards.json@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@shards.json@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@shards.json@      }@@@",
       "@@@STEP_LOG_LINE@shards.json@    ], @@@",
@@ -3805,7 +3805,9 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"QEMU\"@@@",
@@ -3814,20 +3816,28 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/hello\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/goodbye\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/gcc_toolchain_from_cipd.json b/recipe_modules/build/examples/full.expected/gcc_toolchain_from_cipd.json
index 0e76b70..21fb249 100644
--- a/recipe_modules/build/examples/full.expected/gcc_toolchain_from_cipd.json
+++ b/recipe_modules/build/examples/full.expected/gcc_toolchain_from_cipd.json
@@ -3006,11 +3006,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/gcc_toolchain_from_isolate.json b/recipe_modules/build/examples/full.expected/gcc_toolchain_from_isolate.json
index 408c131..2301055 100644
--- a/recipe_modules/build/examples/full.expected/gcc_toolchain_from_isolate.json
+++ b/recipe_modules/build/examples/full.expected/gcc_toolchain_from_isolate.json
@@ -3031,11 +3031,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/generated_sources.json b/recipe_modules/build/examples/full.expected/generated_sources.json
index 25361d3..bb6dbd8 100644
--- a/recipe_modules/build/examples/full.expected/generated_sources.json
+++ b/recipe_modules/build/examples/full.expected/generated_sources.json
@@ -3389,11 +3389,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/gn_args.json b/recipe_modules/build/examples/full.expected/gn_args.json
index dddc243..70cf925 100644
--- a/recipe_modules/build/examples/full.expected/gn_args.json
+++ b/recipe_modules/build/examples/full.expected/gn_args.json
@@ -3389,11 +3389,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/goma_local_cache.json b/recipe_modules/build/examples/full.expected/goma_local_cache.json
index 25361d3..bb6dbd8 100644
--- a/recipe_modules/build/examples/full.expected/goma_local_cache.json
+++ b/recipe_modules/build/examples/full.expected/goma_local_cache.json
@@ -3389,11 +3389,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/host_asan.json b/recipe_modules/build/examples/full.expected/host_asan.json
index 8039eaf..86e8a97 100644
--- a/recipe_modules/build/examples/full.expected/host_asan.json
+++ b/recipe_modules/build/examples/full.expected/host_asan.json
@@ -3389,11 +3389,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/lto.json b/recipe_modules/build/examples/full.expected/lto.json
index e9fb2f8..35029d7 100644
--- a/recipe_modules/build/examples/full.expected/lto.json
+++ b/recipe_modules/build/examples/full.expected/lto.json
@@ -3389,11 +3389,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/mac.json b/recipe_modules/build/examples/full.expected/mac.json
index ac16d9a..fad8d61 100644
--- a/recipe_modules/build/examples/full.expected/mac.json
+++ b/recipe_modules/build/examples/full.expected/mac.json
@@ -3522,11 +3522,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/netboot.json b/recipe_modules/build/examples/full.expected/netboot.json
index e37ceee..598062c 100644
--- a/recipe_modules/build/examples/full.expected/netboot.json
+++ b/recipe_modules/build/examples/full.expected/netboot.json
@@ -3387,11 +3387,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/ninja_targets.json b/recipe_modules/build/examples/full.expected/ninja_targets.json
index c718177..20524ca 100644
--- a/recipe_modules/build/examples/full.expected/ninja_targets.json
+++ b/recipe_modules/build/examples/full.expected/ninja_targets.json
@@ -3391,11 +3391,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/product_with_universe_packages.json b/recipe_modules/build/examples/full.expected/product_with_universe_packages.json
index 86324f7..2d2f842 100644
--- a/recipe_modules/build/examples/full.expected/product_with_universe_packages.json
+++ b/recipe_modules/build/examples/full.expected/product_with_universe_packages.json
@@ -3389,11 +3389,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/release_with_signature.json b/recipe_modules/build/examples/full.expected/release_with_signature.json
index 270d185..10ced13 100644
--- a/recipe_modules/build/examples/full.expected/release_with_signature.json
+++ b/recipe_modules/build/examples/full.expected/release_with_signature.json
@@ -3426,11 +3426,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/release_with_version.json b/recipe_modules/build/examples/full.expected/release_with_version.json
index 5ac0bc7..4b91868 100644
--- a/recipe_modules/build/examples/full.expected/release_with_version.json
+++ b/recipe_modules/build/examples/full.expected/release_with_version.json
@@ -3404,11 +3404,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/rust_toolchain_from_cipd.json b/recipe_modules/build/examples/full.expected/rust_toolchain_from_cipd.json
index af8a01d..6feb39e 100644
--- a/recipe_modules/build/examples/full.expected/rust_toolchain_from_cipd.json
+++ b/recipe_modules/build/examples/full.expected/rust_toolchain_from_cipd.json
@@ -3424,11 +3424,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/rust_toolchain_from_isolate.json b/recipe_modules/build/examples/full.expected/rust_toolchain_from_isolate.json
index 680af06..3c4308d 100644
--- a/recipe_modules/build/examples/full.expected/rust_toolchain_from_isolate.json
+++ b/recipe_modules/build/examples/full.expected/rust_toolchain_from_isolate.json
@@ -3449,11 +3449,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/storage_sparse_too_large.json b/recipe_modules/build/examples/full.expected/storage_sparse_too_large.json
index 3d7f8ae..54546f7 100644
--- a/recipe_modules/build/examples/full.expected/storage_sparse_too_large.json
+++ b/recipe_modules/build/examples/full.expected/storage_sparse_too_large.json
@@ -3457,11 +3457,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/subbuild.json b/recipe_modules/build/examples/full.expected/subbuild.json
index ad004b5..1a6da30 100644
--- a/recipe_modules/build/examples/full.expected/subbuild.json
+++ b/recipe_modules/build/examples/full.expected/subbuild.json
@@ -3389,11 +3389,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/thinlto.json b/recipe_modules/build/examples/full.expected/thinlto.json
index e5581c7..7e329ce 100644
--- a/recipe_modules/build/examples/full.expected/thinlto.json
+++ b/recipe_modules/build/examples/full.expected/thinlto.json
@@ -3389,11 +3389,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/upload_build_metrics.json b/recipe_modules/build/examples/full.expected/upload_build_metrics.json
index 1c3c57a..5d22011 100644
--- a/recipe_modules/build/examples/full.expected/upload_build_metrics.json
+++ b/recipe_modules/build/examples/full.expected/upload_build_metrics.json
@@ -3437,11 +3437,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/upload_debug_symbols_from_release_version.json b/recipe_modules/build/examples/full.expected/upload_debug_symbols_from_release_version.json
index 206bd1f..ac83cb9 100644
--- a/recipe_modules/build/examples/full.expected/upload_debug_symbols_from_release_version.json
+++ b/recipe_modules/build/examples/full.expected/upload_debug_symbols_from_release_version.json
@@ -3404,11 +3404,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/upload_debug_symbols_from_snapshot.json b/recipe_modules/build/examples/full.expected/upload_debug_symbols_from_snapshot.json
index 11e5946..3c1ab6c 100644
--- a/recipe_modules/build/examples/full.expected/upload_debug_symbols_from_snapshot.json
+++ b/recipe_modules/build/examples/full.expected/upload_debug_symbols_from_snapshot.json
@@ -3389,11 +3389,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/upload_filesystem_sizes.json b/recipe_modules/build/examples/full.expected/upload_filesystem_sizes.json
index fb06324..4693288 100644
--- a/recipe_modules/build/examples/full.expected/upload_filesystem_sizes.json
+++ b/recipe_modules/build/examples/full.expected/upload_filesystem_sizes.json
@@ -3462,11 +3462,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/examples/full.expected/zbi_tests.json b/recipe_modules/build/examples/full.expected/zbi_tests.json
index 115fa50..67c7b6a 100644
--- a/recipe_modules/build/examples/full.expected/zbi_tests.json
+++ b/recipe_modules/build/examples/full.expected/zbi_tests.json
@@ -3389,11 +3389,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/build/test_api.py b/recipe_modules/build/test_api.py
index 7450e08..89bd8fe 100644
--- a/recipe_modules/build/test_api.py
+++ b/recipe_modules/build/test_api.py
@@ -75,13 +75,7 @@
           self.m.testsharder.shard(
               name='Vim2',
               tests=[
-                  self.m.testsharder.test(
-                      name='test',
-                      label='//path/to/test:test(//toolchain)',
-                      os='linux',
-                      path='/path/to/test',
-                      deps=test_deps,
-                  )
+                  self.m.testsharder.test('test', os='linux', deps=test_deps),
               ],
               dimensions=dict(device_type='Khadas Vim2 Max'),
           ),
diff --git a/recipe_modules/testing/examples/full.expected/asan_tests.json b/recipe_modules/testing/examples/full.expected/asan_tests.json
index f808883..03b8822 100644
--- a/recipe_modules/testing/examples/full.expected/asan_tests.json
+++ b/recipe_modules/testing/examples/full.expected/asan_tests.json
@@ -1555,7 +1555,7 @@
     "name": "run tests.attempt 0.read tests.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@tests.json@[{\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \"path\": \"/path/to/hello\", \"os\": \"fuchsia\", \"name\": \"hello\", \"label\": \"//a/b/c:hello_test(//toolchain)\"}}, {\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \"path\": \"/path/to/goodbye\", \"os\": \"fuchsia\", \"name\": \"goodbye\", \"label\": \"//a/b/c:goodbye_test(//toolchain)\"}}]@@@",
+      "@@@STEP_LOG_LINE@tests.json@[{\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \"path\": \"/pkgfs/packages/path/to/hello\", \"os\": \"fuchsia\", \"name\": \"hello\", \"label\": \"//a/b/c:hello_test(//toolchain)\"}}, {\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \"path\": \"/pkgfs/packages/path/to/goodbye\", \"os\": \"fuchsia\", \"name\": \"goodbye\", \"label\": \"//a/b/c:goodbye_test(//toolchain)\"}}]@@@",
       "@@@STEP_LOG_END@tests.json@@@"
     ]
   },
@@ -1581,7 +1581,7 @@
     "name": "run tests.attempt 0.all test results.read summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"PASS\"}, {\"name\": \"/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"PASS\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/pkgfs/packages/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"PASS\"}, {\"name\": \"/pkgfs/packages/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"PASS\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
diff --git a/recipe_modules/testing/examples/full.expected/async.json b/recipe_modules/testing/examples/full.expected/async.json
index 8e41ca5..c47b71d 100644
--- a/recipe_modules/testing/examples/full.expected/async.json
+++ b/recipe_modules/testing/examples/full.expected/async.json
@@ -1504,7 +1504,7 @@
     "infra_step": true,
     "name": "read tests.json",
     "~followup_annotations": [
-      "@@@STEP_LOG_LINE@tests.json@[{\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \"path\": \"/path/to/hello\", \"os\": \"fuchsia\", \"name\": \"hello\", \"label\": \"//a/b/c:hello_test(//toolchain)\"}}, {\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \"path\": \"/path/to/goodbye\", \"os\": \"fuchsia\", \"name\": \"goodbye\", \"label\": \"//a/b/c:goodbye_test(//toolchain)\"}}]@@@",
+      "@@@STEP_LOG_LINE@tests.json@[{\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \"path\": \"/pkgfs/packages/path/to/hello\", \"os\": \"fuchsia\", \"name\": \"hello\", \"label\": \"//a/b/c:hello_test(//toolchain)\"}}, {\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \"path\": \"/pkgfs/packages/path/to/goodbye\", \"os\": \"fuchsia\", \"name\": \"goodbye\", \"label\": \"//a/b/c:goodbye_test(//toolchain)\"}}]@@@",
       "@@@STEP_LOG_END@tests.json@@@"
     ]
   },
@@ -1551,7 +1551,7 @@
     "name": "all test results.read summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"PASS\"}, {\"name\": \"/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"PASS\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/pkgfs/packages/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"PASS\"}, {\"name\": \"/pkgfs/packages/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"PASS\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
diff --git a/recipe_modules/testing/examples/full.expected/fail_then_timeout.json b/recipe_modules/testing/examples/full.expected/fail_then_timeout.json
index 17473db..e21e777 100644
--- a/recipe_modules/testing/examples/full.expected/fail_then_timeout.json
+++ b/recipe_modules/testing/examples/full.expected/fail_then_timeout.json
@@ -1199,7 +1199,9 @@
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"QEMU\"@@@",
@@ -1208,20 +1210,28 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"fuchsia-0000\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/hello\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/goodbye\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -1252,7 +1262,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"hello\", \n    \"install_path\": \"/path/to/hello\", \n    \"label\": \"//a/b/c:hello_test(//toolchain)\", \n    \"path\": \"/path/to/hello\", \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \n    \"os\": \"fuchsia\"\n  }, \n  {\n    \"name\": \"goodbye\", \n    \"install_path\": \"/path/to/goodbye\", \n    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", \n    \"path\": \"/path/to/goodbye\", \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \n    \"os\": \"fuchsia\"\n  }\n]",
+      "[\n  {\n    \"name\": \"hello\", \n    \"install_path\": \"/pkgfs/packages/path/to/hello\", \n    \"label\": \"//a/b/c:hello_test(//toolchain)\", \n    \"command\": [\n      \"run\", \n      \"fuchsia-pkg://fuchsia.com/hello\"\n    ], \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \n    \"path\": \"/pkgfs/packages/path/to/hello\", \n    \"os\": \"fuchsia\"\n  }, \n  {\n    \"name\": \"goodbye\", \n    \"install_path\": \"/pkgfs/packages/path/to/goodbye\", \n    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", \n    \"command\": [\n      \"run\", \n      \"fuchsia-pkg://fuchsia.com/goodbye\"\n    ], \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \n    \"path\": \"/pkgfs/packages/path/to/goodbye\", \n    \"os\": \"fuchsia\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_1/tests.json"
     ],
     "infra_step": true,
@@ -1262,18 +1272,26 @@
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"hello\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"command\": [@@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"run\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    ], @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }, @@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"goodbye\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"command\": [@@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"run\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    ], @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -1314,7 +1332,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"[START_DIR]/.ssh/pkey\": [\"[CLEANUP]/isolate_tmp_1/private_key\"], \"[START_DIR]/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_arm64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/.ssh/pkey\": [\"[CLEANUP]/isolate_tmp_1/private_key\"], \"[START_DIR]/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_arm64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/out/default/path/to/a/runtime/dep\": [\"[CLEANUP]/isolate_tmp_1/path/to/a/runtime/dep\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard fuchsia-0000.create tree of build artifacts",
@@ -1688,7 +1706,7 @@
     "name": "launch/collect.0.process results.fuchsia-0000.read summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"FAIL\"}, {\"name\": \"/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"FAIL\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/pkgfs/packages/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"FAIL\"}, {\"name\": \"/pkgfs/packages/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"FAIL\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
@@ -1735,12 +1753,12 @@
       "@@@STEP_LOG_LINE@summary.json@  }, @@@",
       "@@@STEP_LOG_LINE@summary.json@  \"tests\": [@@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"hello.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"FAIL\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }, @@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"goodbye.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"FAIL\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }@@@",
@@ -1791,7 +1809,7 @@
       "/path/to/tmp/"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.failed tasks.fuchsia-0000 (attempt 0).failed: /path/to/hello",
+    "name": "launch/collect.0.failed tasks.fuchsia-0000 (attempt 0).failed: /pkgfs/packages/path/to/hello",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@stdio@output@@@",
@@ -1810,7 +1828,7 @@
       "/path/to/tmp/"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.failed tasks.fuchsia-0000 (attempt 0).failed: /path/to/goodbye",
+    "name": "launch/collect.0.failed tasks.fuchsia-0000 (attempt 0).failed: /pkgfs/packages/path/to/goodbye",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@stdio@output@@@",
@@ -2138,12 +2156,12 @@
       "@@@STEP_LOG_LINE@summary.json@  }, @@@",
       "@@@STEP_LOG_LINE@summary.json@  \"tests\": [@@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"hello.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"FAIL\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }, @@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"goodbye.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"FAIL\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }@@@",
@@ -2166,7 +2184,7 @@
   },
   {
     "cmd": [],
-    "name": "failures.fuchsia-0000.attempt 0 (fail).failed: /path/to/hello",
+    "name": "failures.fuchsia-0000.attempt 0 (fail).failed: /pkgfs/packages/path/to/hello",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@stdio@output@@@",
@@ -2176,7 +2194,7 @@
   },
   {
     "cmd": [],
-    "name": "failures.fuchsia-0000.attempt 0 (fail).failed: /path/to/goodbye",
+    "name": "failures.fuchsia-0000.attempt 0 (fail).failed: /pkgfs/packages/path/to/goodbye",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@stdio@output@@@",
diff --git a/recipe_modules/testing/examples/full.expected/isolated_test_device_no_pave.json b/recipe_modules/testing/examples/full.expected/isolated_test_device_no_pave.json
index 60cb870..886cc10 100644
--- a/recipe_modules/testing/examples/full.expected/isolated_test_device_no_pave.json
+++ b/recipe_modules/testing/examples/full.expected/isolated_test_device_no_pave.json
@@ -1300,12 +1300,12 @@
       "@@@STEP_LOG_LINE@summary.json@  }, @@@",
       "@@@STEP_LOG_LINE@summary.json@  \"tests\": [@@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"hello.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"PASS\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }, @@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"goodbye.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"PASS\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }@@@",
@@ -1598,7 +1598,7 @@
     "name": "run tests.attempt 0.read tests.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@tests.json@[{\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \"path\": \"/path/to/hello\", \"os\": \"fuchsia\", \"name\": \"hello\", \"label\": \"//a/b/c:hello_test(//toolchain)\"}}, {\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \"path\": \"/path/to/goodbye\", \"os\": \"fuchsia\", \"name\": \"goodbye\", \"label\": \"//a/b/c:goodbye_test(//toolchain)\"}}]@@@",
+      "@@@STEP_LOG_LINE@tests.json@[{\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \"path\": \"/pkgfs/packages/path/to/hello\", \"os\": \"fuchsia\", \"name\": \"hello\", \"label\": \"//a/b/c:hello_test(//toolchain)\"}}, {\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \"path\": \"/pkgfs/packages/path/to/goodbye\", \"os\": \"fuchsia\", \"name\": \"goodbye\", \"label\": \"//a/b/c:goodbye_test(//toolchain)\"}}]@@@",
       "@@@STEP_LOG_END@tests.json@@@"
     ]
   },
@@ -1624,7 +1624,7 @@
     "name": "run tests.attempt 0.all test results.read summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"PASS\"}, {\"name\": \"/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"PASS\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/pkgfs/packages/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"PASS\"}, {\"name\": \"/pkgfs/packages/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"PASS\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
@@ -1652,7 +1652,7 @@
     "name": "run tests.attempt 0.all test results.all passed tests",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_TEXT@<br/>/path/to/hello<br/>/path/to/goodbye@@@",
+      "@@@STEP_TEXT@<br/>/pkgfs/packages/path/to/hello<br/>/pkgfs/packages/path/to/goodbye@@@",
       "@@@STEP_SUMMARY_TEXT@2 passed tests@@@"
     ]
   },
@@ -1668,14 +1668,14 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/path/to/hello\", \"result\": \"PASS\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/path/to/goodbye\", \"result\": \"PASS\"}]}",
+      "{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/pkgfs/packages/path/to/hello\", \"result\": \"PASS\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/pkgfs/packages/path/to/goodbye\", \"result\": \"PASS\"}]}",
       "[CLEANUP]/swarming_tmp_2/summary.json"
     ],
     "infra_step": true,
     "name": "upload test test results.write summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/path/to/hello\", \"result\": \"PASS\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/path/to/goodbye\", \"result\": \"PASS\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/pkgfs/packages/path/to/hello\", \"result\": \"PASS\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/pkgfs/packages/path/to/goodbye\", \"result\": \"PASS\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
diff --git a/recipe_modules/testing/examples/full.expected/isolated_tests_test_failure.json b/recipe_modules/testing/examples/full.expected/isolated_tests_test_failure.json
index a60d4a3..0bfde1b 100644
--- a/recipe_modules/testing/examples/full.expected/isolated_tests_test_failure.json
+++ b/recipe_modules/testing/examples/full.expected/isolated_tests_test_failure.json
@@ -1558,7 +1558,7 @@
     "name": "run tests.attempt 0.read tests.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@tests.json@[{\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \"path\": \"/path/to/hello\", \"os\": \"fuchsia\", \"name\": \"hello\", \"label\": \"//a/b/c:hello_test(//toolchain)\"}}, {\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \"path\": \"/path/to/goodbye\", \"os\": \"fuchsia\", \"name\": \"goodbye\", \"label\": \"//a/b/c:goodbye_test(//toolchain)\"}}]@@@",
+      "@@@STEP_LOG_LINE@tests.json@[{\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \"path\": \"/pkgfs/packages/path/to/hello\", \"os\": \"fuchsia\", \"name\": \"hello\", \"label\": \"//a/b/c:hello_test(//toolchain)\"}}, {\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \"path\": \"/pkgfs/packages/path/to/goodbye\", \"os\": \"fuchsia\", \"name\": \"goodbye\", \"label\": \"//a/b/c:goodbye_test(//toolchain)\"}}]@@@",
       "@@@STEP_LOG_END@tests.json@@@"
     ]
   },
@@ -1585,7 +1585,7 @@
     "name": "run tests.attempt 0.all test results.read summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"FAIL\"}, {\"name\": \"/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"FAIL\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/pkgfs/packages/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"FAIL\"}, {\"name\": \"/pkgfs/packages/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"FAIL\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
@@ -1880,7 +1880,7 @@
     "name": "run tests.attempt 1.read tests.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@tests.json@[{\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \"path\": \"/path/to/hello\", \"os\": \"fuchsia\", \"name\": \"hello\", \"label\": \"//a/b/c:hello_test(//toolchain)\"}}, {\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \"path\": \"/path/to/goodbye\", \"os\": \"fuchsia\", \"name\": \"goodbye\", \"label\": \"//a/b/c:goodbye_test(//toolchain)\"}}]@@@",
+      "@@@STEP_LOG_LINE@tests.json@[{\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \"path\": \"/pkgfs/packages/path/to/hello\", \"os\": \"fuchsia\", \"name\": \"hello\", \"label\": \"//a/b/c:hello_test(//toolchain)\"}}, {\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \"path\": \"/pkgfs/packages/path/to/goodbye\", \"os\": \"fuchsia\", \"name\": \"goodbye\", \"label\": \"//a/b/c:goodbye_test(//toolchain)\"}}]@@@",
       "@@@STEP_LOG_END@tests.json@@@"
     ]
   },
@@ -1907,7 +1907,7 @@
     "name": "run tests.attempt 1.all test results.read summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"FAIL\"}, {\"name\": \"/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"FAIL\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/pkgfs/packages/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"FAIL\"}, {\"name\": \"/pkgfs/packages/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"FAIL\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
diff --git a/recipe_modules/testing/examples/full.expected/rerun.json b/recipe_modules/testing/examples/full.expected/rerun.json
index bfa04f0..6bc9eec 100644
--- a/recipe_modules/testing/examples/full.expected/rerun.json
+++ b/recipe_modules/testing/examples/full.expected/rerun.json
@@ -1199,7 +1199,9 @@
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"QEMU\"@@@",
@@ -1208,20 +1210,28 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"fuchsia-0000\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/hello\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/goodbye\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -1252,7 +1262,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"hello\", \n    \"install_path\": \"/path/to/hello\", \n    \"label\": \"//a/b/c:hello_test(//toolchain)\", \n    \"path\": \"/path/to/hello\", \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \n    \"os\": \"fuchsia\"\n  }, \n  {\n    \"name\": \"goodbye\", \n    \"install_path\": \"/path/to/goodbye\", \n    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", \n    \"path\": \"/path/to/goodbye\", \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \n    \"os\": \"fuchsia\"\n  }\n]",
+      "[\n  {\n    \"name\": \"hello\", \n    \"install_path\": \"/pkgfs/packages/path/to/hello\", \n    \"label\": \"//a/b/c:hello_test(//toolchain)\", \n    \"command\": [\n      \"run\", \n      \"fuchsia-pkg://fuchsia.com/hello\"\n    ], \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \n    \"path\": \"/pkgfs/packages/path/to/hello\", \n    \"os\": \"fuchsia\"\n  }, \n  {\n    \"name\": \"goodbye\", \n    \"install_path\": \"/pkgfs/packages/path/to/goodbye\", \n    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", \n    \"command\": [\n      \"run\", \n      \"fuchsia-pkg://fuchsia.com/goodbye\"\n    ], \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \n    \"path\": \"/pkgfs/packages/path/to/goodbye\", \n    \"os\": \"fuchsia\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_1/tests.json"
     ],
     "infra_step": true,
@@ -1262,18 +1272,26 @@
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"hello\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"command\": [@@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"run\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    ], @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }, @@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"goodbye\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"command\": [@@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"run\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    ], @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -1314,7 +1332,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"[START_DIR]/.ssh/pkey\": [\"[CLEANUP]/isolate_tmp_1/private_key\"], \"[START_DIR]/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_arm64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/.ssh/pkey\": [\"[CLEANUP]/isolate_tmp_1/private_key\"], \"[START_DIR]/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_arm64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/out/default/path/to/a/runtime/dep\": [\"[CLEANUP]/isolate_tmp_1/path/to/a/runtime/dep\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard fuchsia-0000.create tree of build artifacts",
@@ -1688,7 +1706,7 @@
     "name": "launch/collect.0.process results.fuchsia-0000.read summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"FAIL\"}, {\"name\": \"/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"FAIL\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/pkgfs/packages/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"FAIL\"}, {\"name\": \"/pkgfs/packages/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"FAIL\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
@@ -1735,12 +1753,12 @@
       "@@@STEP_LOG_LINE@summary.json@  }, @@@",
       "@@@STEP_LOG_LINE@summary.json@  \"tests\": [@@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"hello.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"FAIL\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }, @@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"goodbye.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"FAIL\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }@@@",
@@ -1791,7 +1809,7 @@
       "/path/to/tmp/"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.failed tasks.fuchsia-0000 (attempt 0).failed: /path/to/hello",
+    "name": "launch/collect.0.failed tasks.fuchsia-0000 (attempt 0).failed: /pkgfs/packages/path/to/hello",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@stdio@output@@@",
@@ -1810,7 +1828,7 @@
       "/path/to/tmp/"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.failed tasks.fuchsia-0000 (attempt 0).failed: /path/to/goodbye",
+    "name": "launch/collect.0.failed tasks.fuchsia-0000 (attempt 0).failed: /pkgfs/packages/path/to/goodbye",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@stdio@output@@@",
@@ -1875,14 +1893,14 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/path/to/hello\", \"result\": \"FAIL\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/path/to/goodbye\", \"result\": \"FAIL\"}]}",
+      "{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/pkgfs/packages/path/to/hello\", \"result\": \"FAIL\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/pkgfs/packages/path/to/goodbye\", \"result\": \"FAIL\"}]}",
       "[CLEANUP]/swarming_tmp_2/611/summary.json"
     ],
     "infra_step": true,
     "name": "upload fuchsia-0000 test results.write summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/path/to/hello\", \"result\": \"FAIL\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/path/to/goodbye\", \"result\": \"FAIL\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/pkgfs/packages/path/to/hello\", \"result\": \"FAIL\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/pkgfs/packages/path/to/goodbye\", \"result\": \"FAIL\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
@@ -1946,7 +1964,7 @@
   {
     "failure": {
       "failure": {},
-      "humanReason": "Test failure(s): /path/to/hello, /path/to/goodbye"
+      "humanReason": "Test failure(s): /pkgfs/packages/path/to/hello, /pkgfs/packages/path/to/goodbye"
     },
     "name": "$result"
   }
diff --git a/recipe_modules/testing/examples/full.expected/sharded_failure_string.json b/recipe_modules/testing/examples/full.expected/sharded_failure_string.json
index 0dd37e3..ac24e51 100644
--- a/recipe_modules/testing/examples/full.expected/sharded_failure_string.json
+++ b/recipe_modules/testing/examples/full.expected/sharded_failure_string.json
@@ -1199,7 +1199,9 @@
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"Khadas Vim2 Max\"@@@",
@@ -1208,11 +1210,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -1232,7 +1234,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"path\": \"/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
+      "[\n  {\n    \"path\": \"host_x64/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"host_x64/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_1/tests.json"
     ],
     "infra_step": true,
@@ -1241,10 +1243,10 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -1257,7 +1259,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"/path/to/test\": [\"/path/to/test\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/out/default/host_x64/path/to/test\": [\"[CLEANUP]/isolate_tmp_1/host_x64/path/to/test\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/out/default/path/to/a/runtime/dep\": [\"[CLEANUP]/isolate_tmp_1/path/to/a/runtime/dep\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard Vim2.create tree of build artifacts",
diff --git a/recipe_modules/testing/examples/full.expected/sharded_kernel_panic.json b/recipe_modules/testing/examples/full.expected/sharded_kernel_panic.json
index 870d365..b4f9c29 100644
--- a/recipe_modules/testing/examples/full.expected/sharded_kernel_panic.json
+++ b/recipe_modules/testing/examples/full.expected/sharded_kernel_panic.json
@@ -1199,7 +1199,9 @@
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"Khadas Vim2 Max\"@@@",
@@ -1208,11 +1210,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -1232,7 +1234,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"path\": \"/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
+      "[\n  {\n    \"path\": \"host_x64/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"host_x64/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_1/tests.json"
     ],
     "infra_step": true,
@@ -1241,10 +1243,10 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -1257,7 +1259,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"/path/to/test\": [\"/path/to/test\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/out/default/host_x64/path/to/test\": [\"[CLEANUP]/isolate_tmp_1/host_x64/path/to/test\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/out/default/path/to/a/runtime/dep\": [\"[CLEANUP]/isolate_tmp_1/path/to/a/runtime/dep\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard Vim2.create tree of build artifacts",
diff --git a/recipe_modules/testing/examples/full.expected/test_in_shards_mixed_failure.json b/recipe_modules/testing/examples/full.expected/test_in_shards_mixed_failure.json
index 1e6266c..cf360e4 100644
--- a/recipe_modules/testing/examples/full.expected/test_in_shards_mixed_failure.json
+++ b/recipe_modules/testing/examples/full.expected/test_in_shards_mixed_failure.json
@@ -1199,7 +1199,9 @@
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"QEMU\"@@@",
@@ -1208,25 +1210,35 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"fuchsia-0000\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/hello\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/goodbye\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }, @@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"NUC\"@@@",
@@ -1235,16 +1247,23 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"fuchsia-0001\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/test1\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/test1\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test1:test1(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test1\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test1\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/test1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/test1\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }, @@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"QEMU\"@@@",
@@ -1253,25 +1272,35 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"fuchsia-0002\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/hello\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/goodbye\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }, @@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"NUC\"@@@",
@@ -1280,11 +1309,16 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"fuchsia-0003\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test3\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/test3\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/test3\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test3:test3(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test3\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test3\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/test3\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/test3\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -1315,7 +1349,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"hello\", \n    \"install_path\": \"/path/to/hello\", \n    \"label\": \"//a/b/c:hello_test(//toolchain)\", \n    \"path\": \"/path/to/hello\", \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \n    \"os\": \"fuchsia\"\n  }, \n  {\n    \"name\": \"goodbye\", \n    \"install_path\": \"/path/to/goodbye\", \n    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", \n    \"path\": \"/path/to/goodbye\", \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \n    \"os\": \"fuchsia\"\n  }\n]",
+      "[\n  {\n    \"name\": \"hello\", \n    \"install_path\": \"/pkgfs/packages/path/to/hello\", \n    \"label\": \"//a/b/c:hello_test(//toolchain)\", \n    \"command\": [\n      \"run\", \n      \"fuchsia-pkg://fuchsia.com/hello\"\n    ], \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \n    \"path\": \"/pkgfs/packages/path/to/hello\", \n    \"os\": \"fuchsia\"\n  }, \n  {\n    \"name\": \"goodbye\", \n    \"install_path\": \"/pkgfs/packages/path/to/goodbye\", \n    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", \n    \"command\": [\n      \"run\", \n      \"fuchsia-pkg://fuchsia.com/goodbye\"\n    ], \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \n    \"path\": \"/pkgfs/packages/path/to/goodbye\", \n    \"os\": \"fuchsia\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_1/tests.json"
     ],
     "infra_step": true,
@@ -1325,18 +1359,26 @@
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"hello\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"command\": [@@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"run\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    ], @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }, @@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"goodbye\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"command\": [@@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"run\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    ], @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -1377,7 +1419,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"[START_DIR]/.ssh/pkey\": [\"[CLEANUP]/isolate_tmp_1/private_key\"], \"[START_DIR]/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_arm64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/.ssh/pkey\": [\"[CLEANUP]/isolate_tmp_1/private_key\"], \"[START_DIR]/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_arm64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/out/default/path/to/a/runtime/dep\": [\"[CLEANUP]/isolate_tmp_1/path/to/a/runtime/dep\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard fuchsia-0000.create tree of build artifacts",
@@ -1453,7 +1495,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"path\": \"/path/to/test1\", \n    \"os\": \"fuchsia\", \n    \"name\": \"test1\", \n    \"install_path\": \"/path/to/test1\", \n    \"label\": \"//path/to/test1:test1(//toolchain)\"\n  }\n]",
+      "[\n  {\n    \"name\": \"test1\", \n    \"install_path\": \"/pkgfs/packages/path/to/test1\", \n    \"label\": \"//path/to/test1:test1(//toolchain)\", \n    \"command\": [\n      \"run\", \n      \"fuchsia-pkg://fuchsia.com/test1\"\n    ], \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/test1\", \n    \"path\": \"/pkgfs/packages/path/to/test1\", \n    \"os\": \"fuchsia\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_2/tests.json"
     ],
     "infra_step": true,
@@ -1462,11 +1504,16 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/test1\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"test1\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/test1\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//path/to/test1:test1(//toolchain)\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/pkgfs/packages/path/to/test1\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//path/to/test1:test1(//toolchain)\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"command\": [@@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"run\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"fuchsia-pkg://fuchsia.com/test1\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    ], @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"package_url\": \"fuchsia-pkg://fuchsia.com/test1\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/pkgfs/packages/path/to/test1\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
       "@@@STEP_LOG_END@tests.json@@@"
@@ -1478,7 +1525,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_2/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_2/testrunner\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_2/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_2/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_2/testrunner\"], \"[START_DIR]/out/default/path/to/a/runtime/dep\": [\"[CLEANUP]/isolate_tmp_2/path/to/a/runtime/dep\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_2/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard fuchsia-0001.create tree of build artifacts",
@@ -1519,7 +1566,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"hello\", \n    \"install_path\": \"/path/to/hello\", \n    \"label\": \"//a/b/c:hello_test(//toolchain)\", \n    \"path\": \"/path/to/hello\", \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \n    \"os\": \"fuchsia\"\n  }, \n  {\n    \"name\": \"goodbye\", \n    \"install_path\": \"/path/to/goodbye\", \n    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", \n    \"path\": \"/path/to/goodbye\", \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \n    \"os\": \"fuchsia\"\n  }\n]",
+      "[\n  {\n    \"name\": \"hello\", \n    \"install_path\": \"/pkgfs/packages/path/to/hello\", \n    \"label\": \"//a/b/c:hello_test(//toolchain)\", \n    \"command\": [\n      \"run\", \n      \"fuchsia-pkg://fuchsia.com/hello\"\n    ], \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \n    \"path\": \"/pkgfs/packages/path/to/hello\", \n    \"os\": \"fuchsia\"\n  }, \n  {\n    \"name\": \"goodbye\", \n    \"install_path\": \"/pkgfs/packages/path/to/goodbye\", \n    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", \n    \"command\": [\n      \"run\", \n      \"fuchsia-pkg://fuchsia.com/goodbye\"\n    ], \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \n    \"path\": \"/pkgfs/packages/path/to/goodbye\", \n    \"os\": \"fuchsia\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_3/tests.json"
     ],
     "infra_step": true,
@@ -1529,18 +1576,26 @@
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"hello\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"command\": [@@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"run\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    ], @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }, @@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"goodbye\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"command\": [@@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"run\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    ], @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -1581,7 +1636,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"[START_DIR]/.ssh/pkey\": [\"[CLEANUP]/isolate_tmp_3/private_key\"], \"[START_DIR]/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_3/botanist\"], \"[START_DIR]/out/default/linux_arm64/testrunner\": [\"[CLEANUP]/isolate_tmp_3/testrunner\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_3/bootserver_new\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_3/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/.ssh/pkey\": [\"[CLEANUP]/isolate_tmp_3/private_key\"], \"[START_DIR]/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_3/botanist\"], \"[START_DIR]/out/default/linux_arm64/testrunner\": [\"[CLEANUP]/isolate_tmp_3/testrunner\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_3/bootserver_new\"], \"[START_DIR]/out/default/path/to/a/runtime/dep\": [\"[CLEANUP]/isolate_tmp_3/path/to/a/runtime/dep\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_3/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard fuchsia-0002.create tree of build artifacts",
@@ -1622,7 +1677,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"path\": \"/path/to/test3\", \n    \"os\": \"fuchsia\", \n    \"name\": \"test3\", \n    \"install_path\": \"/path/to/test3\", \n    \"label\": \"//path/to/test3:test3(//toolchain)\"\n  }\n]",
+      "[\n  {\n    \"name\": \"test3\", \n    \"install_path\": \"/pkgfs/packages/path/to/test3\", \n    \"label\": \"//path/to/test3:test3(//toolchain)\", \n    \"command\": [\n      \"run\", \n      \"fuchsia-pkg://fuchsia.com/test3\"\n    ], \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/test3\", \n    \"path\": \"/pkgfs/packages/path/to/test3\", \n    \"os\": \"fuchsia\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_4/tests.json"
     ],
     "infra_step": true,
@@ -1631,11 +1686,16 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/test3\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"test3\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/test3\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//path/to/test3:test3(//toolchain)\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/pkgfs/packages/path/to/test3\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//path/to/test3:test3(//toolchain)\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"command\": [@@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"run\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"fuchsia-pkg://fuchsia.com/test3\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    ], @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"package_url\": \"fuchsia-pkg://fuchsia.com/test3\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/pkgfs/packages/path/to/test3\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
       "@@@STEP_LOG_END@tests.json@@@"
@@ -1647,7 +1707,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_4/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_4/testrunner\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_4/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_4/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_4/testrunner\"], \"[START_DIR]/out/default/path/to/a/runtime/dep\": [\"[CLEANUP]/isolate_tmp_4/path/to/a/runtime/dep\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_4/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard fuchsia-0003.create tree of build artifacts",
@@ -3399,7 +3459,7 @@
     "name": "launch/collect.1.process results.fuchsia-0001.read summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"FAIL\"}, {\"name\": \"/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"FAIL\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/pkgfs/packages/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"FAIL\"}, {\"name\": \"/pkgfs/packages/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"FAIL\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
@@ -3764,12 +3824,12 @@
       "@@@STEP_LOG_LINE@summary.json@  }, @@@",
       "@@@STEP_LOG_LINE@summary.json@  \"tests\": [@@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"hello.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"FAIL\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }, @@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"goodbye.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"FAIL\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }@@@",
@@ -3820,7 +3880,7 @@
       "/path/to/tmp/"
     ],
     "infra_step": true,
-    "name": "launch/collect.1.failed tasks.fuchsia-0001 (attempt 1).failed: /path/to/hello",
+    "name": "launch/collect.1.failed tasks.fuchsia-0001 (attempt 1).failed: /pkgfs/packages/path/to/hello",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@stdio@output@@@",
@@ -3839,7 +3899,7 @@
       "/path/to/tmp/"
     ],
     "infra_step": true,
-    "name": "launch/collect.1.failed tasks.fuchsia-0001 (attempt 1).failed: /path/to/goodbye",
+    "name": "launch/collect.1.failed tasks.fuchsia-0001 (attempt 1).failed: /pkgfs/packages/path/to/goodbye",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@stdio@output@@@",
@@ -4606,12 +4666,12 @@
       "@@@STEP_LOG_LINE@summary.json@  }, @@@",
       "@@@STEP_LOG_LINE@summary.json@  \"tests\": [@@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"hello.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"FAIL\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }, @@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"goodbye.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"FAIL\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }@@@",
@@ -4634,7 +4694,7 @@
   },
   {
     "cmd": [],
-    "name": "failures.fuchsia-0001.attempt 1 (fail).failed: /path/to/hello",
+    "name": "failures.fuchsia-0001.attempt 1 (fail).failed: /pkgfs/packages/path/to/hello",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@stdio@output@@@",
@@ -4644,7 +4704,7 @@
   },
   {
     "cmd": [],
-    "name": "failures.fuchsia-0001.attempt 1 (fail).failed: /path/to/goodbye",
+    "name": "failures.fuchsia-0001.attempt 1 (fail).failed: /pkgfs/packages/path/to/goodbye",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@stdio@output@@@",
@@ -4912,14 +4972,14 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/path/to/hello\", \"result\": \"FAIL\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/path/to/goodbye\", \"result\": \"FAIL\"}]}",
+      "{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/pkgfs/packages/path/to/hello\", \"result\": \"FAIL\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/pkgfs/packages/path/to/goodbye\", \"result\": \"FAIL\"}]}",
       "[CLEANUP]/swarming_tmp_5/711/summary.json"
     ],
     "infra_step": true,
     "name": "upload fuchsia-0001 test results.write summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/path/to/hello\", \"result\": \"FAIL\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/path/to/goodbye\", \"result\": \"FAIL\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/pkgfs/packages/path/to/hello\", \"result\": \"FAIL\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/pkgfs/packages/path/to/goodbye\", \"result\": \"FAIL\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
@@ -5016,7 +5076,7 @@
   {
     "failure": {
       "failure": {},
-      "humanReason": "Test failure(s): /path/to/hello, /path/to/goodbye"
+      "humanReason": "Test failure(s): /pkgfs/packages/path/to/hello, /pkgfs/packages/path/to/goodbye"
     },
     "name": "$result"
   }
diff --git a/recipe_modules/testing/examples/full.expected/test_in_shards_single_attempt.json b/recipe_modules/testing/examples/full.expected/test_in_shards_single_attempt.json
index 4ecc50a..cdc51b9 100644
--- a/recipe_modules/testing/examples/full.expected/test_in_shards_single_attempt.json
+++ b/recipe_modules/testing/examples/full.expected/test_in_shards_single_attempt.json
@@ -1199,7 +1199,9 @@
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"QEMU\"@@@",
@@ -1208,20 +1210,28 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"multiplied:fuchsia-0000\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/hello\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/goodbye\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -1252,7 +1262,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"hello\", \n    \"install_path\": \"/path/to/hello\", \n    \"label\": \"//a/b/c:hello_test(//toolchain)\", \n    \"path\": \"/path/to/hello\", \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \n    \"os\": \"fuchsia\"\n  }, \n  {\n    \"name\": \"goodbye\", \n    \"install_path\": \"/path/to/goodbye\", \n    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", \n    \"path\": \"/path/to/goodbye\", \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \n    \"os\": \"fuchsia\"\n  }\n]",
+      "[\n  {\n    \"name\": \"hello\", \n    \"install_path\": \"/pkgfs/packages/path/to/hello\", \n    \"label\": \"//a/b/c:hello_test(//toolchain)\", \n    \"command\": [\n      \"run\", \n      \"fuchsia-pkg://fuchsia.com/hello\"\n    ], \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \n    \"path\": \"/pkgfs/packages/path/to/hello\", \n    \"os\": \"fuchsia\"\n  }, \n  {\n    \"name\": \"goodbye\", \n    \"install_path\": \"/pkgfs/packages/path/to/goodbye\", \n    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", \n    \"command\": [\n      \"run\", \n      \"fuchsia-pkg://fuchsia.com/goodbye\"\n    ], \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \n    \"path\": \"/pkgfs/packages/path/to/goodbye\", \n    \"os\": \"fuchsia\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_1/tests.json"
     ],
     "infra_step": true,
@@ -1262,18 +1272,26 @@
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"hello\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"command\": [@@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"run\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    ], @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }, @@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"goodbye\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"command\": [@@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"run\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    ], @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -1314,7 +1332,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"[START_DIR]/.ssh/pkey\": [\"[CLEANUP]/isolate_tmp_1/private_key\"], \"[START_DIR]/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_arm64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/.ssh/pkey\": [\"[CLEANUP]/isolate_tmp_1/private_key\"], \"[START_DIR]/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_arm64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/out/default/path/to/a/runtime/dep\": [\"[CLEANUP]/isolate_tmp_1/path/to/a/runtime/dep\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard multiplied:fuchsia-0000.create tree of build artifacts",
@@ -1688,7 +1706,7 @@
     "name": "launch/collect.0.process results.multiplied:fuchsia-0000.read summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"FAIL\"}, {\"name\": \"/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"FAIL\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/pkgfs/packages/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"FAIL\"}, {\"name\": \"/pkgfs/packages/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"FAIL\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
@@ -1735,12 +1753,12 @@
       "@@@STEP_LOG_LINE@summary.json@  }, @@@",
       "@@@STEP_LOG_LINE@summary.json@  \"tests\": [@@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"hello.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"FAIL\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }, @@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"goodbye.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"FAIL\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }@@@",
@@ -1791,7 +1809,7 @@
       "/path/to/tmp/"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.failed tasks.multiplied:fuchsia-0000 (attempt 0).failed: /path/to/hello",
+    "name": "launch/collect.0.failed tasks.multiplied:fuchsia-0000 (attempt 0).failed: /pkgfs/packages/path/to/hello",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@stdio@output@@@",
@@ -1810,7 +1828,7 @@
       "/path/to/tmp/"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.failed tasks.multiplied:fuchsia-0000 (attempt 0).failed: /path/to/goodbye",
+    "name": "launch/collect.0.failed tasks.multiplied:fuchsia-0000 (attempt 0).failed: /pkgfs/packages/path/to/goodbye",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@stdio@output@@@",
@@ -1906,12 +1924,12 @@
       "@@@STEP_LOG_LINE@summary.json@  }, @@@",
       "@@@STEP_LOG_LINE@summary.json@  \"tests\": [@@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"hello.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"FAIL\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }, @@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"goodbye.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"FAIL\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }@@@",
@@ -1934,7 +1952,7 @@
   },
   {
     "cmd": [],
-    "name": "failures.multiplied:fuchsia-0000.attempt 0 (fail).failed: /path/to/hello",
+    "name": "failures.multiplied:fuchsia-0000.attempt 0 (fail).failed: /pkgfs/packages/path/to/hello",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@stdio@output@@@",
@@ -1944,7 +1962,7 @@
   },
   {
     "cmd": [],
-    "name": "failures.multiplied:fuchsia-0000.attempt 0 (fail).failed: /path/to/goodbye",
+    "name": "failures.multiplied:fuchsia-0000.attempt 0 (fail).failed: /pkgfs/packages/path/to/goodbye",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@stdio@output@@@",
@@ -2010,14 +2028,14 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/path/to/hello\", \"result\": \"FAIL\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/path/to/goodbye\", \"result\": \"FAIL\"}]}",
+      "{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/pkgfs/packages/path/to/hello\", \"result\": \"FAIL\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/pkgfs/packages/path/to/goodbye\", \"result\": \"FAIL\"}]}",
       "[CLEANUP]/swarming_tmp_2/610/summary.json"
     ],
     "infra_step": true,
     "name": "upload multiplied:fuchsia-0000 test results.write summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/path/to/hello\", \"result\": \"FAIL\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/path/to/goodbye\", \"result\": \"FAIL\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/pkgfs/packages/path/to/hello\", \"result\": \"FAIL\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/pkgfs/packages/path/to/goodbye\", \"result\": \"FAIL\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
@@ -2081,7 +2099,7 @@
   {
     "failure": {
       "failure": {},
-      "humanReason": "Test failure(s): /path/to/hello, /path/to/goodbye"
+      "humanReason": "Test failure(s): /pkgfs/packages/path/to/hello, /pkgfs/packages/path/to/goodbye"
     },
     "name": "$result"
   }
diff --git a/recipe_modules/testing/examples/full.expected/test_with_shards_arm64_serial_failure.json b/recipe_modules/testing/examples/full.expected/test_with_shards_arm64_serial_failure.json
index 3fa21e3..6be0065 100644
--- a/recipe_modules/testing/examples/full.expected/test_with_shards_arm64_serial_failure.json
+++ b/recipe_modules/testing/examples/full.expected/test_with_shards_arm64_serial_failure.json
@@ -1199,7 +1199,9 @@
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"Khadas Vim2 Max\"@@@",
@@ -1208,11 +1210,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -1232,7 +1234,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"path\": \"/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
+      "[\n  {\n    \"path\": \"host_x64/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"host_x64/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_1/tests.json"
     ],
     "infra_step": true,
@@ -1241,10 +1243,10 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -1257,7 +1259,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"/path/to/test\": [\"/path/to/test\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/out/default/host_x64/path/to/test\": [\"[CLEANUP]/isolate_tmp_1/host_x64/path/to/test\"], \"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/out/default/path/to/a/runtime/dep\": [\"[CLEANUP]/isolate_tmp_1/path/to/a/runtime/dep\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard Vim2.create tree of build artifacts",
diff --git a/recipe_modules/testing/examples/full.expected/upload_test_coverage.json b/recipe_modules/testing/examples/full.expected/upload_test_coverage.json
index f808883..03b8822 100644
--- a/recipe_modules/testing/examples/full.expected/upload_test_coverage.json
+++ b/recipe_modules/testing/examples/full.expected/upload_test_coverage.json
@@ -1555,7 +1555,7 @@
     "name": "run tests.attempt 0.read tests.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@tests.json@[{\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \"path\": \"/path/to/hello\", \"os\": \"fuchsia\", \"name\": \"hello\", \"label\": \"//a/b/c:hello_test(//toolchain)\"}}, {\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \"path\": \"/path/to/goodbye\", \"os\": \"fuchsia\", \"name\": \"goodbye\", \"label\": \"//a/b/c:goodbye_test(//toolchain)\"}}]@@@",
+      "@@@STEP_LOG_LINE@tests.json@[{\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \"path\": \"/pkgfs/packages/path/to/hello\", \"os\": \"fuchsia\", \"name\": \"hello\", \"label\": \"//a/b/c:hello_test(//toolchain)\"}}, {\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \"path\": \"/pkgfs/packages/path/to/goodbye\", \"os\": \"fuchsia\", \"name\": \"goodbye\", \"label\": \"//a/b/c:goodbye_test(//toolchain)\"}}]@@@",
       "@@@STEP_LOG_END@tests.json@@@"
     ]
   },
@@ -1581,7 +1581,7 @@
     "name": "run tests.attempt 0.all test results.read summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"PASS\"}, {\"name\": \"/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"PASS\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/pkgfs/packages/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"PASS\"}, {\"name\": \"/pkgfs/packages/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"PASS\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
diff --git a/recipe_modules/testing/examples/full.expected/upload_to_catapult.json b/recipe_modules/testing/examples/full.expected/upload_to_catapult.json
index d3ecf90..ee885df 100644
--- a/recipe_modules/testing/examples/full.expected/upload_to_catapult.json
+++ b/recipe_modules/testing/examples/full.expected/upload_to_catapult.json
@@ -1199,7 +1199,9 @@
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\"@@@",
@@ -1208,20 +1210,28 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Linux\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/hello\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/goodbye\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -1241,7 +1251,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"hello\", \n    \"install_path\": \"/path/to/hello\", \n    \"label\": \"//a/b/c:hello_test(//toolchain)\", \n    \"path\": \"/path/to/hello\", \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \n    \"os\": \"fuchsia\"\n  }, \n  {\n    \"name\": \"goodbye\", \n    \"install_path\": \"/path/to/goodbye\", \n    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", \n    \"path\": \"/path/to/goodbye\", \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \n    \"os\": \"fuchsia\"\n  }\n]",
+      "[\n  {\n    \"name\": \"hello\", \n    \"install_path\": \"/pkgfs/packages/path/to/hello\", \n    \"label\": \"//a/b/c:hello_test(//toolchain)\", \n    \"command\": [\n      \"run\", \n      \"fuchsia-pkg://fuchsia.com/hello\"\n    ], \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \n    \"path\": \"/pkgfs/packages/path/to/hello\", \n    \"os\": \"fuchsia\"\n  }, \n  {\n    \"name\": \"goodbye\", \n    \"install_path\": \"/pkgfs/packages/path/to/goodbye\", \n    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", \n    \"command\": [\n      \"run\", \n      \"fuchsia-pkg://fuchsia.com/goodbye\"\n    ], \n    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \n    \"path\": \"/pkgfs/packages/path/to/goodbye\", \n    \"os\": \"fuchsia\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_1/tests.json"
     ],
     "infra_step": true,
@@ -1251,18 +1261,26 @@
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"hello\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"command\": [@@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"run\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    ], @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }, @@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"goodbye\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"command\": [@@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"run\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@      \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@tests.json@    ], @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"fuchsia\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -1275,7 +1293,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_1/bootserver_new\"], \"[START_DIR]/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_1/botanist\"], \"[START_DIR]/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_1/testrunner\"], \"[START_DIR]/out/default/path/to/a/runtime/dep\": [\"[CLEANUP]/isolate_tmp_1/path/to/a/runtime/dep\"], \"[START_DIR]/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_1/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard Linux.create tree of build artifacts",
diff --git a/recipe_modules/testing/examples/full.py b/recipe_modules/testing/examples/full.py
index 1c8633a..cc1dd01 100644
--- a/recipe_modules/testing/examples/full.py
+++ b/recipe_modules/testing/examples/full.py
@@ -368,14 +368,7 @@
               shards=[
                   api.testsharder.shard(
                       name='Vim2',
-                      tests=[
-                          api.testsharder.test(
-                              name='test',
-                              label='//path/to/test:test(//toolchain)',
-                              os='linux',
-                              path='/path/to/test',
-                          )
-                      ],
+                      tests=[api.testsharder.test('test', os='linux')],
                       dimensions=dict(device_type='Khadas Vim2 Max'),
                   ),
               ]),
@@ -412,14 +405,7 @@
               shards=[
                   api.testsharder.shard(
                       name='Vim2',
-                      tests=[
-                          api.testsharder.test(
-                              name='test',
-                              label='//path/to/test:test(//toolchain)',
-                              os='linux',
-                              path='/path/to/test',
-                          )
-                      ],
+                      tests=[api.testsharder.test('test', os='linux')],
                       dimensions=dict(device_type='Khadas Vim2 Max'),
                   ),
               ]),
@@ -477,14 +463,7 @@
               shards=[
                   api.testsharder.shard(
                       name='Vim2',
-                      tests=[
-                          api.testsharder.test(
-                              name='test',
-                              label='//path/to/test:test(//toolchain)',
-                              os='linux',
-                              path='/path/to/test',
-                          )
-                      ],
+                      tests=[api.testsharder.test('test', os='linux')],
                       dimensions=dict(device_type='Khadas Vim2 Max'),
                   ),
               ]),
@@ -515,14 +494,7 @@
               ),
               api.testsharder.shard(
                   name='fuchsia-0001',
-                  tests=[
-                      api.testsharder.test(
-                          name='test1',
-                          label='//path/to/test1:test1(//toolchain)',
-                          os='fuchsia',
-                          path='/path/to/test1',
-                      )
-                  ],
+                  tests=[api.testsharder.test('test1')],
                   dimensions=dict(device_type='NUC'),
               ),
               api.testsharder.shard(
@@ -532,14 +504,7 @@
               ),
               api.testsharder.shard(
                   name='fuchsia-0003',
-                  tests=[
-                      api.testsharder.test(
-                          name='test3',
-                          label='//path/to/test3:test3(//toolchain)',
-                          os='fuchsia',
-                          path='/path/to/test3',
-                      )
-                  ],
+                  tests=[api.testsharder.test('test3')],
                   dimensions=dict(device_type='NUC'),
               ),
           ]),
diff --git a/recipe_modules/testing_requests/test_api.py b/recipe_modules/testing_requests/test_api.py
index 6fa3c31..63097d8 100644
--- a/recipe_modules/testing_requests/test_api.py
+++ b/recipe_modules/testing_requests/test_api.py
@@ -13,7 +13,7 @@
               'name': 'hello',
               'label': '//a/b/c:hello_test(//toolchain)',
               'os': 'fuchsia',
-              'path': '/path/to/hello',
+              'path': '/pkgfs/packages/path/to/hello',
               'package_url': 'fuchsia-pkg://fuchsia.com/hello',
           }
       },
@@ -22,7 +22,7 @@
               'name': 'goodbye',
               'label': '//a/b/c:goodbye_test(//toolchain)',
               'os': 'fuchsia',
-              'path': '/path/to/goodbye',
+              'path': '/pkgfs/packages/path/to/goodbye',
               'package_url': 'fuchsia-pkg://fuchsia.com/goodbye',
           }
       },
diff --git a/recipe_modules/testsharder/examples/full.expected/basic.json b/recipe_modules/testsharder/examples/full.expected/basic.json
index 3053307..18d4e92 100644
--- a/recipe_modules/testsharder/examples/full.expected/basic.json
+++ b/recipe_modules/testsharder/examples/full.expected/basic.json
@@ -25,7 +25,9 @@
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"QEMU\"@@@",
@@ -37,19 +39,20 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
       "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
-      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://my-uri\"@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/test1\"@@@",
       "@@@STEP_LOG_LINE@json.output@        ], @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/test1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test1:test1(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test1\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/test1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/test1\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }, @@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"/path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
       "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
@@ -59,17 +62,17 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Linux\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test2\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test2:test2(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test2\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test2\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }, @@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"/path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
       "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
@@ -80,11 +83,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"NUC-netboot\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test2\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test2:test2(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test2\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test2\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/testsharder/examples/full.expected/shard_with_multiplied_tests.json b/recipe_modules/testsharder/examples/full.expected/shard_with_multiplied_tests.json
index 0d32dba..67f356a 100644
--- a/recipe_modules/testsharder/examples/full.expected/shard_with_multiplied_tests.json
+++ b/recipe_modules/testsharder/examples/full.expected/shard_with_multiplied_tests.json
@@ -27,7 +27,9 @@
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"QEMU\"@@@",
@@ -39,19 +41,20 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
       "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
-      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://my-uri\"@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/test1\"@@@",
       "@@@STEP_LOG_LINE@json.output@        ], @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/test1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test1:test1(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test1\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/test1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/test1\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }, @@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"/path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
       "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
@@ -61,17 +64,17 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Linux\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test2\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test2:test2(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test2\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test2\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }, @@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"/path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
       "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
@@ -82,16 +85,18 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"NUC-netboot\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test2\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test2:test2(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test2\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test2\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }, @@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"QEMU\"@@@",
@@ -103,30 +108,32 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
       "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
-      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://my-uri\"@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/test1\"@@@",
       "@@@STEP_LOG_LINE@json.output@        ], @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/test1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test1:test1(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test1\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/test1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/test1\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
       "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
-      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://my-uri\"@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/test1\"@@@",
       "@@@STEP_LOG_LINE@json.output@        ], @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/test1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test1:test1(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test1\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/test1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/test1\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }, @@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"/path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
       "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
@@ -136,20 +143,18 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Linux - test2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test3\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"test3\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test2:test2(//toolchain)\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"test2\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/test3\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test3\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test2\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test4\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"test4\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test2:test2(//toolchain)\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"test2\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/test4\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test4\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test2\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
diff --git a/recipe_modules/testsharder/examples/full.py b/recipe_modules/testsharder/examples/full.py
index 49cefae..096fee9 100644
--- a/recipe_modules/testsharder/examples/full.py
+++ b/recipe_modules/testsharder/examples/full.py
@@ -64,40 +64,17 @@
     shards = [
         api.testsharder.shard(
             name='QEMU',
-            tests=[
-                api.testsharder.test(
-                    name='test1',
-                    label='//path/to/test:test(//toolchain)',
-                    os='fuchsia',
-                    command=['run', 'fuchsia-pkg://my-uri'],
-                )
-            ],
+            tests=[api.testsharder.test('test1')],
             dimensions=dict(device_type='QEMU'),
             service_account='myacct@example.iam.gserviceaccount.com'),
         api.testsharder.shard(
             name='Linux',
-            tests=[
-                api.testsharder.test(
-                    name='test2',
-                    label='//path/to/test:test(//toolchain)',
-                    os='linux',
-                    path='/path/to/test2',
-                    deps=['/path/to/a/runtime/dep'],
-                )
-            ],
+            tests=[api.testsharder.test('test2', os='linux')],
             dimensions=dict(os='Linux'),
         ),
         api.testsharder.shard(
             name='NUC-netboot',
-            tests=[
-                api.testsharder.test(
-                    name='test2',
-                    label='//path/to/test:test(//toolchain)',
-                    os='linux',
-                    path='/path/to/test2',
-                    deps=['/path/to/a/runtime/dep'],
-                )
-            ],
+            tests=[api.testsharder.test('test2', os='linux')],
             dimensions=dict(device_type='NUC'),
             netboot=True,
         ),
@@ -106,41 +83,13 @@
       shards += [
           api.testsharder.shard(
               name='QEMU - test1',
-              tests=[
-                  api.testsharder.test(
-                      name='test1',
-                      label='//path/to/test:test(//toolchain)',
-                      os='fuchsia',
-                      command=['run', 'fuchsia-pkg://my-uri'],
-                  ),
-                  api.testsharder.test(
-                      name='test1',
-                      label='//path/to/test:test(//toolchain)',
-                      os='fuchsia',
-                      command=['run', 'fuchsia-pkg://my-uri'],
-                  ),
-              ],
+              tests=[api.testsharder.test('test1') for _ in range(2)],
               dimensions=dict(device_type='QEMU'),
               service_account='myacct@example.iam.gserviceaccount.com'),
           api.testsharder.shard(
               name='Linux - test2',
               tests=[
-                  api.testsharder.test(
-                      name='test3',
-                      label='//path/to/test:test(//toolchain)',
-                      os='linux',
-                      path='/path/to/test3',
-                      package_url='fuchsia-pkg://fuchsia.com/test3',
-                      deps=['/path/to/a/runtime/dep'],
-                  ),
-                  api.testsharder.test(
-                      name='test4',
-                      label='//path/to/test:test(//toolchain)',
-                      os='linux',
-                      path='/path/to/test4',
-                      package_url='fuchsia-pkg://fuchsia.com/test4',
-                      deps=['/path/to/a/runtime/dep'],
-                  ),
+                  api.testsharder.test('test2', os='linux') for _ in range(2)
               ],
               dimensions=dict(os='Linux'),
           ),
diff --git a/recipe_modules/testsharder/test_api.py b/recipe_modules/testsharder/test_api.py
index b5eb0df..1d2d972 100644
--- a/recipe_modules/testsharder/test_api.py
+++ b/recipe_modules/testsharder/test_api.py
@@ -13,9 +13,23 @@
     """Creates a Shard object representing a shard."""
     return Shard(*args, **kwargs)
 
-  def test(self, *args, **kwargs):
+  def test(self, name, os='fuchsia', **original_kwargs):
     """Creates a Test object representing a test."""
-    return Test(*args, **kwargs)
+    kwargs = {
+        'name': name,
+        'os': os,
+        'label': '//path/to/%s:%s(//toolchain)' % (name, name),
+        'deps': ['path/to/a/runtime/dep'],
+    }
+    if os == 'fuchsia':
+      package_url = 'fuchsia-pkg://fuchsia.com/%s' % name
+      kwargs['package_url'] = package_url
+      kwargs['command'] = ['run', package_url]
+      kwargs['path'] = '/pkgfs/packages/path/to/%s' % name
+    else:
+      kwargs['path'] = 'host_x64/path/to/%s' % name
+    kwargs.update(original_kwargs)
+    return Test(**kwargs)
 
   def execute(self, step_name, shards):
     """Mocks the result from a call to execute.
diff --git a/recipes/fuchsia/build.expected/default.json b/recipes/fuchsia/build.expected/default.json
index f36145c..f9c2807 100644
--- a/recipes/fuchsia/build.expected/default.json
+++ b/recipes/fuchsia/build.expected/default.json
@@ -2329,11 +2329,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -2353,7 +2353,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"path\": \"/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
+      "[\n  {\n    \"path\": \"host_x64/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"host_x64/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_3/tests.json"
     ],
     "infra_step": true,
@@ -2362,10 +2362,10 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -2378,7 +2378,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"/path/to/test\": [\"/path/to/test\"], \"[START_DIR]/fuchsia/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_3/bootserver_new\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_3/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_3/testrunner\"], \"[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_3/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/fuchsia/out/default/host_x64/path/to/test\": [\"[CLEANUP]/isolate_tmp_3/host_x64/path/to/test\"], \"[START_DIR]/fuchsia/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_3/bootserver_new\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_3/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_3/testrunner\"], \"[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_3/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard Vim2.create tree of build artifacts",
@@ -2454,7 +2454,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"environment\": {\n      \"dimensions\": {\n        \"device_type\": \"Khadas Vim2 Max\"\n      }\n    }, \n    \"tests\": [\n      {\n        \"path\": \"/path/to/test\", \n        \"os\": \"linux\", \n        \"name\": \"test\", \n        \"install_path\": \"/path/to/test\", \n        \"label\": \"//path/to/test:test(//toolchain)\"\n      }\n    ], \n    \"name\": \"Vim2\", \n    \"deps\": []\n  }\n]",
+      "[\n  {\n    \"environment\": {\n      \"dimensions\": {\n        \"device_type\": \"Khadas Vim2 Max\"\n      }\n    }, \n    \"tests\": [\n      {\n        \"path\": \"host_x64/path/to/test\", \n        \"os\": \"linux\", \n        \"name\": \"test\", \n        \"install_path\": \"host_x64/path/to/test\", \n        \"label\": \"//path/to/test:test(//toolchain)\"\n      }\n    ], \n    \"name\": \"Vim2\", \n    \"deps\": []\n  }\n]",
       "[CLEANUP]/test-orchestration-inputs_tmp_4/shards.json"
     ],
     "infra_step": true,
@@ -2470,10 +2470,10 @@
       "@@@STEP_LOG_LINE@shards.json@    }, @@@",
       "@@@STEP_LOG_LINE@shards.json@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@shards.json@      {@@@",
-      "@@@STEP_LOG_LINE@shards.json@        \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@shards.json@        \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@shards.json@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@shards.json@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@shards.json@      }@@@",
       "@@@STEP_LOG_LINE@shards.json@    ], @@@",
diff --git a/recipes/fuchsia/build.expected/default_cq.json b/recipes/fuchsia/build.expected/default_cq.json
index b826ce3..1449e7a 100644
--- a/recipes/fuchsia/build.expected/default_cq.json
+++ b/recipes/fuchsia/build.expected/default_cq.json
@@ -2234,11 +2234,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -2258,7 +2258,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"path\": \"/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
+      "[\n  {\n    \"path\": \"host_x64/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"host_x64/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_4/tests.json"
     ],
     "infra_step": true,
@@ -2267,10 +2267,10 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -2283,7 +2283,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"/path/to/test\": [\"/path/to/test\"], \"[START_DIR]/fuchsia/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_4/bootserver_new\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_4/testrunner\"], \"[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_4/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/fuchsia/out/default/host_x64/path/to/test\": [\"[CLEANUP]/isolate_tmp_4/host_x64/path/to/test\"], \"[START_DIR]/fuchsia/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_4/bootserver_new\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_4/testrunner\"], \"[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_4/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard Vim2.create tree of build artifacts",
@@ -2359,7 +2359,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"environment\": {\n      \"dimensions\": {\n        \"device_type\": \"Khadas Vim2 Max\"\n      }\n    }, \n    \"tests\": [\n      {\n        \"path\": \"/path/to/test\", \n        \"os\": \"linux\", \n        \"name\": \"test\", \n        \"install_path\": \"/path/to/test\", \n        \"label\": \"//path/to/test:test(//toolchain)\"\n      }\n    ], \n    \"name\": \"Vim2\", \n    \"deps\": []\n  }\n]",
+      "[\n  {\n    \"environment\": {\n      \"dimensions\": {\n        \"device_type\": \"Khadas Vim2 Max\"\n      }\n    }, \n    \"tests\": [\n      {\n        \"path\": \"host_x64/path/to/test\", \n        \"os\": \"linux\", \n        \"name\": \"test\", \n        \"install_path\": \"host_x64/path/to/test\", \n        \"label\": \"//path/to/test:test(//toolchain)\"\n      }\n    ], \n    \"name\": \"Vim2\", \n    \"deps\": []\n  }\n]",
       "[CLEANUP]/test-orchestration-inputs_tmp_5/shards.json"
     ],
     "infra_step": true,
@@ -2375,10 +2375,10 @@
       "@@@STEP_LOG_LINE@shards.json@    }, @@@",
       "@@@STEP_LOG_LINE@shards.json@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@shards.json@      {@@@",
-      "@@@STEP_LOG_LINE@shards.json@        \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@shards.json@        \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@shards.json@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@shards.json@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@shards.json@      }@@@",
       "@@@STEP_LOG_LINE@shards.json@    ], @@@",
diff --git a/recipes/fuchsia/build.expected/non-numeric-parent-id.json b/recipes/fuchsia/build.expected/non-numeric-parent-id.json
index 8d5bd1a..8d3f34c 100644
--- a/recipes/fuchsia/build.expected/non-numeric-parent-id.json
+++ b/recipes/fuchsia/build.expected/non-numeric-parent-id.json
@@ -2293,11 +2293,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -2317,7 +2317,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"path\": \"/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
+      "[\n  {\n    \"path\": \"host_x64/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"host_x64/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_3/tests.json"
     ],
     "infra_step": true,
@@ -2326,10 +2326,10 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -2342,7 +2342,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"/path/to/test\": [\"/path/to/test\"], \"[START_DIR]/fuchsia/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_3/bootserver_new\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_3/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_3/testrunner\"], \"[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_3/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/fuchsia/out/default/host_x64/path/to/test\": [\"[CLEANUP]/isolate_tmp_3/host_x64/path/to/test\"], \"[START_DIR]/fuchsia/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_3/bootserver_new\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_3/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_3/testrunner\"], \"[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_3/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard Vim2.create tree of build artifacts",
@@ -2418,7 +2418,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"environment\": {\n      \"dimensions\": {\n        \"device_type\": \"Khadas Vim2 Max\"\n      }\n    }, \n    \"tests\": [\n      {\n        \"path\": \"/path/to/test\", \n        \"os\": \"linux\", \n        \"name\": \"test\", \n        \"install_path\": \"/path/to/test\", \n        \"label\": \"//path/to/test:test(//toolchain)\"\n      }\n    ], \n    \"name\": \"Vim2\", \n    \"deps\": []\n  }\n]",
+      "[\n  {\n    \"environment\": {\n      \"dimensions\": {\n        \"device_type\": \"Khadas Vim2 Max\"\n      }\n    }, \n    \"tests\": [\n      {\n        \"path\": \"host_x64/path/to/test\", \n        \"os\": \"linux\", \n        \"name\": \"test\", \n        \"install_path\": \"host_x64/path/to/test\", \n        \"label\": \"//path/to/test:test(//toolchain)\"\n      }\n    ], \n    \"name\": \"Vim2\", \n    \"deps\": []\n  }\n]",
       "[CLEANUP]/test-orchestration-inputs_tmp_4/shards.json"
     ],
     "infra_step": true,
@@ -2434,10 +2434,10 @@
       "@@@STEP_LOG_LINE@shards.json@    }, @@@",
       "@@@STEP_LOG_LINE@shards.json@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@shards.json@      {@@@",
-      "@@@STEP_LOG_LINE@shards.json@        \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@shards.json@        \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@shards.json@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@shards.json@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@shards.json@      }@@@",
       "@@@STEP_LOG_LINE@shards.json@    ], @@@",
diff --git a/recipes/fuchsia/build.expected/spec_remote_cq.json b/recipes/fuchsia/build.expected/spec_remote_cq.json
index ee13024..2f3b0c8 100644
--- a/recipes/fuchsia/build.expected/spec_remote_cq.json
+++ b/recipes/fuchsia/build.expected/spec_remote_cq.json
@@ -2256,11 +2256,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -2280,7 +2280,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"path\": \"/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
+      "[\n  {\n    \"path\": \"host_x64/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"host_x64/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_4/tests.json"
     ],
     "infra_step": true,
@@ -2289,10 +2289,10 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -2305,7 +2305,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"/path/to/test\": [\"/path/to/test\"], \"[START_DIR]/fuchsia/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_4/bootserver_new\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_4/testrunner\"], \"[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_4/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/fuchsia/out/default/host_x64/path/to/test\": [\"[CLEANUP]/isolate_tmp_4/host_x64/path/to/test\"], \"[START_DIR]/fuchsia/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_4/bootserver_new\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_4/testrunner\"], \"[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_4/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard Vim2.create tree of build artifacts",
@@ -2381,7 +2381,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"environment\": {\n      \"dimensions\": {\n        \"device_type\": \"Khadas Vim2 Max\"\n      }\n    }, \n    \"tests\": [\n      {\n        \"path\": \"/path/to/test\", \n        \"os\": \"linux\", \n        \"name\": \"test\", \n        \"install_path\": \"/path/to/test\", \n        \"label\": \"//path/to/test:test(//toolchain)\"\n      }\n    ], \n    \"name\": \"Vim2\", \n    \"deps\": []\n  }\n]",
+      "[\n  {\n    \"environment\": {\n      \"dimensions\": {\n        \"device_type\": \"Khadas Vim2 Max\"\n      }\n    }, \n    \"tests\": [\n      {\n        \"path\": \"host_x64/path/to/test\", \n        \"os\": \"linux\", \n        \"name\": \"test\", \n        \"install_path\": \"host_x64/path/to/test\", \n        \"label\": \"//path/to/test:test(//toolchain)\"\n      }\n    ], \n    \"name\": \"Vim2\", \n    \"deps\": []\n  }\n]",
       "[CLEANUP]/test-orchestration-inputs_tmp_5/shards.json"
     ],
     "infra_step": true,
@@ -2397,10 +2397,10 @@
       "@@@STEP_LOG_LINE@shards.json@    }, @@@",
       "@@@STEP_LOG_LINE@shards.json@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@shards.json@      {@@@",
-      "@@@STEP_LOG_LINE@shards.json@        \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@shards.json@        \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@shards.json@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@shards.json@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@shards.json@      }@@@",
       "@@@STEP_LOG_LINE@shards.json@    ], @@@",
diff --git a/recipes/fuchsia/build.expected/spec_remote_cq_with_spec_revision.json b/recipes/fuchsia/build.expected/spec_remote_cq_with_spec_revision.json
index 6a811d9..3f05fc7 100644
--- a/recipes/fuchsia/build.expected/spec_remote_cq_with_spec_revision.json
+++ b/recipes/fuchsia/build.expected/spec_remote_cq_with_spec_revision.json
@@ -2256,11 +2256,11 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"host_x64/path/to/test\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -2280,7 +2280,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"path\": \"/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
+      "[\n  {\n    \"path\": \"host_x64/path/to/test\", \n    \"os\": \"linux\", \n    \"name\": \"test\", \n    \"install_path\": \"host_x64/path/to/test\", \n    \"label\": \"//path/to/test:test(//toolchain)\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_4/tests.json"
     ],
     "infra_step": true,
@@ -2289,10 +2289,10 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@tests.json@[@@@",
       "@@@STEP_LOG_LINE@tests.json@  {@@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@tests.json@    \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@tests.json@    \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@tests.json@  }@@@",
       "@@@STEP_LOG_LINE@tests.json@]@@@",
@@ -2305,7 +2305,7 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"/path/to/test\": [\"/path/to/test\"], \"[START_DIR]/fuchsia/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_4/bootserver_new\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_4/testrunner\"], \"[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_4/llvm-symbolizer\"]}"
+      "{\"[START_DIR]/fuchsia/out/default/host_x64/path/to/test\": [\"[CLEANUP]/isolate_tmp_4/host_x64/path/to/test\"], \"[START_DIR]/fuchsia/out/default/linux_x64/bootserver_new\": [\"[CLEANUP]/isolate_tmp_4/bootserver_new\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/testrunner\": [\"[CLEANUP]/isolate_tmp_4/testrunner\"], \"[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_4/llvm-symbolizer\"]}"
     ],
     "infra_step": true,
     "name": "shard Vim2.create tree of build artifacts",
@@ -2381,7 +2381,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"environment\": {\n      \"dimensions\": {\n        \"device_type\": \"Khadas Vim2 Max\"\n      }\n    }, \n    \"tests\": [\n      {\n        \"path\": \"/path/to/test\", \n        \"os\": \"linux\", \n        \"name\": \"test\", \n        \"install_path\": \"/path/to/test\", \n        \"label\": \"//path/to/test:test(//toolchain)\"\n      }\n    ], \n    \"name\": \"Vim2\", \n    \"deps\": []\n  }\n]",
+      "[\n  {\n    \"environment\": {\n      \"dimensions\": {\n        \"device_type\": \"Khadas Vim2 Max\"\n      }\n    }, \n    \"tests\": [\n      {\n        \"path\": \"host_x64/path/to/test\", \n        \"os\": \"linux\", \n        \"name\": \"test\", \n        \"install_path\": \"host_x64/path/to/test\", \n        \"label\": \"//path/to/test:test(//toolchain)\"\n      }\n    ], \n    \"name\": \"Vim2\", \n    \"deps\": []\n  }\n]",
       "[CLEANUP]/test-orchestration-inputs_tmp_5/shards.json"
     ],
     "infra_step": true,
@@ -2397,10 +2397,10 @@
       "@@@STEP_LOG_LINE@shards.json@    }, @@@",
       "@@@STEP_LOG_LINE@shards.json@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@shards.json@      {@@@",
-      "@@@STEP_LOG_LINE@shards.json@        \"path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@shards.json@        \"path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"os\": \"linux\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@shards.json@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@shards.json@        \"install_path\": \"host_x64/path/to/test\", @@@",
       "@@@STEP_LOG_LINE@shards.json@        \"label\": \"//path/to/test:test(//toolchain)\"@@@",
       "@@@STEP_LOG_LINE@shards.json@      }@@@",
       "@@@STEP_LOG_LINE@shards.json@    ], @@@",
diff --git a/recipes/fuchsia/fuchsia.expected/child_build_provided__test_not_in_shards.json b/recipes/fuchsia/fuchsia.expected/child_build_provided__test_not_in_shards.json
index ad1730a..7406113 100644
--- a/recipes/fuchsia/fuchsia.expected/child_build_provided__test_not_in_shards.json
+++ b/recipes/fuchsia/fuchsia.expected/child_build_provided__test_not_in_shards.json
@@ -286,7 +286,9 @@
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"QEMU\"@@@",
@@ -295,20 +297,28 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/hello\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/goodbye\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -397,12 +407,12 @@
       "@@@STEP_LOG_LINE@summary.json@  }, @@@",
       "@@@STEP_LOG_LINE@summary.json@  \"tests\": [@@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"hello.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"PASS\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }, @@@",
       "@@@STEP_LOG_LINE@summary.json@    {@@@",
-      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@summary.json@      \"name\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"output_file\": \"goodbye.out\", @@@",
       "@@@STEP_LOG_LINE@summary.json@      \"result\": \"PASS\"@@@",
       "@@@STEP_LOG_LINE@summary.json@    }@@@",
@@ -664,7 +674,7 @@
     "name": "run tests.attempt 0.all test results.read summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"PASS\"}, {\"name\": \"/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"PASS\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/pkgfs/packages/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"PASS\"}, {\"name\": \"/pkgfs/packages/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"PASS\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
@@ -692,7 +702,7 @@
     "name": "run tests.attempt 0.all test results.all passed tests",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_TEXT@<br/>/path/to/hello<br/>/path/to/goodbye@@@",
+      "@@@STEP_TEXT@<br/>/pkgfs/packages/path/to/hello<br/>/pkgfs/packages/path/to/goodbye@@@",
       "@@@STEP_SUMMARY_TEXT@2 passed tests@@@"
     ]
   },
@@ -719,14 +729,14 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/path/to/hello\", \"result\": \"PASS\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/path/to/goodbye\", \"result\": \"PASS\"}]}",
+      "{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/pkgfs/packages/path/to/hello\", \"result\": \"PASS\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/pkgfs/packages/path/to/goodbye\", \"result\": \"PASS\"}]}",
       "[CLEANUP]/swarming_tmp_3/summary.json"
     ],
     "infra_step": true,
     "name": "upload test results.upload QEMU test results.write summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/path/to/hello\", \"result\": \"PASS\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/path/to/goodbye\", \"result\": \"PASS\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"output_file\": \"hello.out\", \"name\": \"/pkgfs/packages/path/to/hello\", \"result\": \"PASS\"}, {\"output_file\": \"goodbye.out\", \"name\": \"/pkgfs/packages/path/to/goodbye\", \"result\": \"PASS\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },
diff --git a/recipes/fuchsia/fuchsia.expected/successful_build_and_test.json b/recipes/fuchsia/fuchsia.expected/successful_build_and_test.json
index 9331105..2031880 100644
--- a/recipes/fuchsia/fuchsia.expected/successful_build_and_test.json
+++ b/recipes/fuchsia/fuchsia.expected/successful_build_and_test.json
@@ -391,7 +391,9 @@
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"path/to/a/runtime/dep\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"QEMU\"@@@",
@@ -400,20 +402,28 @@
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/hello\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:hello_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"hello\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/hello\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/hello\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/goodbye\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"command\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          \"run\", @@@",
+      "@@@STEP_LOG_LINE@json.output@          \"fuchsia-pkg://fuchsia.com/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        ], @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/pkgfs/packages/path/to/goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"goodbye\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"os\": \"fuchsia\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/goodbye\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/pkgfs/packages/path/to/goodbye\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -753,7 +763,7 @@
     "name": "launch/collect.0.process results.QEMU.read summary.json",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"PASS\"}, {\"name\": \"/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"PASS\"}]}@@@",
+      "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"name\": \"/pkgfs/packages/path/to/hello\", \"output_file\": \"hello.out\", \"result\": \"PASS\"}, {\"name\": \"/pkgfs/packages/path/to/goodbye\", \"output_file\": \"goodbye.out\", \"result\": \"PASS\"}]}@@@",
       "@@@STEP_LOG_END@summary.json@@@"
     ]
   },