Fix regex to support non-root fars in femu test
Added test case that validates the regex is corrected.
Bug: https://github.com/flutter/flutter/issues/90832
Change-Id: I7492bb3641a10895340ec11ea3556e0b782bfdbb
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/18601
Reviewed-by: Darren Chan <chandarren@google.com>
Commit-Queue: Rich Kadel <richkadel@google.com>
diff --git a/recipes/femu_test.expected/multiple_non_root_fars.json b/recipes/femu_test.expected/multiple_non_root_fars.json
new file mode 100644
index 0000000..cd239a3
--- /dev/null
+++ b/recipes/femu_test.expected/multiple_non_root_fars.json
@@ -0,0 +1,2310 @@
+[
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "rmtree",
+ "[CACHE]/builder/src/out"
+ ],
+ "infra_step": true,
+ "name": "Clobber build output"
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CACHE]/builder"
+ ],
+ "infra_step": true,
+ "name": "Ensure checkout cache"
+ },
+ {
+ "cmd": [],
+ "name": "ensure goma"
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[CACHE]/goma/client",
+ "-ensure-file",
+ "fuchsia/third_party/goma/client/${platform} release",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "infra_step": true,
+ "name": "ensure goma.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-release---------\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"fuchsia/third_party/goma/client/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "Checkout source code"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
+ "--spec-path",
+ "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src/flutter', 'url': 'https://github.com/flutter/engine'}]",
+ "--revision_mapping_file",
+ "{\"got_engine_revision\": \"src/flutter\"}",
+ "--git-cache-dir",
+ "[CACHE]/git",
+ "--cleanup-dir",
+ "[CLEANUP]/bot_update",
+ "--output_json",
+ "/path/to/tmp/json",
+ "--revision",
+ "src/flutter@refs/pull/1/head",
+ "--refs",
+ "refs/pull/1/head"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "DEPOT_TOOLS_COLLECT_METRICS": "0",
+ "GIT_HTTP_LOW_SPEED_LIMIT": "102400",
+ "GIT_HTTP_LOW_SPEED_TIME": "1800",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0",
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]",
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "Checkout source code.bot_update",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_TEXT@Some step text@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"src/flutter\": \"refs/pull/1/head\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"src/flutter\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src/flutter.git\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"revision\": \"a63681edc0f69a72604596b16c7986513e809995\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"src/flutter\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"got_engine_revision\": \"a63681edc0f69a72604596b16c7986513e809995\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"got_engine_revision_cp\": \"refs/heads/master@{#84512}\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"root\": \"src/flutter\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"source_manifest\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"directories\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"src/flutter\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/src/flutter.git\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"revision\": \"a63681edc0f69a72604596b16c7986513e809995\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"version\": 0@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"step_text\": \"Some step text\"@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@SET_BUILD_PROPERTY@got_engine_revision@\"a63681edc0f69a72604596b16c7986513e809995\"@@@",
+ "@@@SET_BUILD_PROPERTY@got_engine_revision_cp@\"refs/heads/master@{#84512}\"@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_REPO[depot_tools]/gclient.py",
+ "runhooks"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]",
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Checkout source code.gclient runhooks",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "[CACHE]/builder/src/flutter/tools/gn",
+ "--goma",
+ "--fuchsia",
+ "--fuchsia-cpu",
+ "x64",
+ "--runtime-mode",
+ "debug",
+ "--no-lto"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "gn --fuchsia --fuchsia-cpu x64 --runtime-mode debug --no-lto"
+ },
+ {
+ "cmd": [],
+ "name": "setup goma"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[CACHE]/goma/client/goma_ctl.py",
+ "restart"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GLOG_log_dir": "[CLEANUP]",
+ "GOMA_CACHE_DIR": "[CACHE]/goma",
+ "GOMA_DEPS_CACHE_FILE": "goma_deps_cache",
+ "GOMA_DIR": "[CACHE]/goma/client",
+ "GOMA_DUMP_STATS_FILE": "[CACHE]/goma/client/goma_stats.json",
+ "GOMA_LOCAL_OUTPUT_CACHE_DIR": "[CACHE]/goma/localoutputcache",
+ "GOMA_MAX_SUM_OUTPUT_SIZE_IN_MB": "256",
+ "GOMA_SERVER_HOST": "rbe-prod1.endpoints.fuchsia-infra-goma-prod.cloud.goog",
+ "GOMA_STORE_LOCAL_RUN_OUTPUT": "True",
+ "GOMA_TMP_DIR": "[CLEANUP]/goma",
+ "GOMA_USE_LOCAL": "False"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "setup goma.start goma",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "RECIPE_REPO[depot_tools]/ninja",
+ "-j",
+ "1024",
+ "-C",
+ "[CACHE]/builder/src/out/fuchsia_debug_x64",
+ "flutter/shell/platform/fuchsia:fuchsia",
+ "fuchsia_tests"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client",
+ "GOMA_TMP_DIR": "[CLEANUP]/goma",
+ "GOMA_USE_LOCAL": "False"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "build fuchsia_debug_x64 flutter/shell/platform/fuchsia:fuchsia fuchsia_tests"
+ },
+ {
+ "cmd": [],
+ "name": "teardown goma"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[CACHE]/goma/client/goma_ctl.py",
+ "jsonstatus",
+ "[CACHE]/goma/client/jsonstatus"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GLOG_log_dir": "[CLEANUP]",
+ "GOMA_CACHE_DIR": "[CACHE]/goma",
+ "GOMA_DEPS_CACHE_FILE": "goma_deps_cache",
+ "GOMA_DIR": "[CACHE]/goma/client",
+ "GOMA_DUMP_STATS_FILE": "[CACHE]/goma/client/goma_stats.json",
+ "GOMA_LOCAL_OUTPUT_CACHE_DIR": "[CACHE]/goma/localoutputcache",
+ "GOMA_MAX_SUM_OUTPUT_SIZE_IN_MB": "256",
+ "GOMA_SERVER_HOST": "rbe-prod1.endpoints.fuchsia-infra-goma-prod.cloud.goog",
+ "GOMA_STORE_LOCAL_RUN_OUTPUT": "True",
+ "GOMA_TMP_DIR": "[CLEANUP]/goma",
+ "GOMA_USE_LOCAL": "False"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "teardown goma.goma jsonstatus",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"notice\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"infra_status\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"num_user_error\": 0, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"ping_status_code\": 200@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[CACHE]/goma/client/goma_ctl.py",
+ "stat"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GLOG_log_dir": "[CLEANUP]",
+ "GOMA_CACHE_DIR": "[CACHE]/goma",
+ "GOMA_DEPS_CACHE_FILE": "goma_deps_cache",
+ "GOMA_DIR": "[CACHE]/goma/client",
+ "GOMA_DUMP_STATS_FILE": "[CACHE]/goma/client/goma_stats.json",
+ "GOMA_LOCAL_OUTPUT_CACHE_DIR": "[CACHE]/goma/localoutputcache",
+ "GOMA_MAX_SUM_OUTPUT_SIZE_IN_MB": "256",
+ "GOMA_SERVER_HOST": "rbe-prod1.endpoints.fuchsia-infra-goma-prod.cloud.goog",
+ "GOMA_STORE_LOCAL_RUN_OUTPUT": "True",
+ "GOMA_TMP_DIR": "[CLEANUP]/goma",
+ "GOMA_USE_LOCAL": "False"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "teardown goma.goma stats",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[CACHE]/goma/client/goma_ctl.py",
+ "stop"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GLOG_log_dir": "[CLEANUP]",
+ "GOMA_CACHE_DIR": "[CACHE]/goma",
+ "GOMA_DEPS_CACHE_FILE": "goma_deps_cache",
+ "GOMA_DIR": "[CACHE]/goma/client",
+ "GOMA_DUMP_STATS_FILE": "[CACHE]/goma/client/goma_stats.json",
+ "GOMA_LOCAL_OUTPUT_CACHE_DIR": "[CACHE]/goma/localoutputcache",
+ "GOMA_MAX_SUM_OUTPUT_SIZE_IN_MB": "256",
+ "GOMA_SERVER_HOST": "rbe-prod1.endpoints.fuchsia-infra-goma-prod.cloud.goog",
+ "GOMA_STORE_LOCAL_RUN_OUTPUT": "True",
+ "GOMA_TMP_DIR": "[CLEANUP]/goma",
+ "GOMA_USE_LOCAL": "False"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "teardown goma.stop goma",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CLEANUP]/compiler_proxy.WARNING",
+ "/path/to/tmp/"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client",
+ "GOMA_TMP_DIR": "[CLEANUP]/goma",
+ "GOMA_USE_LOCAL": "False"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "teardown goma.read goma_client warning log",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@compiler_proxy.WARNING@test log@@@",
+ "@@@STEP_LOG_END@compiler_proxy.WARNING@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CACHE]/goma/client/goma_stats.json",
+ "/path/to/tmp/"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client",
+ "GOMA_TMP_DIR": "[CLEANUP]/goma",
+ "GOMA_USE_LOCAL": "False"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "teardown goma.read goma_stats.json",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "[CACHE]/builder/src/flutter/tools/fuchsia/build_fuchsia_artifacts.py",
+ "--engine-version",
+ "HEAD",
+ "--skip-build",
+ "--archs",
+ "x64",
+ "--runtime-mode",
+ "debug"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Package Fuchsia Artifacts"
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CACHE]/builder/src/fuchsia/sdk/linux/meta/manifest.json",
+ "/path/to/tmp/"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "Read manifest",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@manifest.json@{@@@",
+ "@@@STEP_LOG_LINE@manifest.json@ \"id\": \"0.20200101.0.1\"@@@",
+ "@@@STEP_LOG_LINE@manifest.json@}@@@",
+ "@@@STEP_LOG_END@manifest.json@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "ensure vdl"
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[CACHE]/builder/vdl",
+ "-ensure-file",
+ "fuchsia/vdl/${platform} g3-revision:vdl_fuchsia_20210813_RC00",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure vdl.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-g3-revision:vdl_\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"fuchsia/vdl/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "ensure aemu"
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[CACHE]/builder/aemu",
+ "-ensure-file",
+ "fuchsia/third_party/aemu/${platform} integration",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure aemu.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-integration-----\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"fuchsia/third_party/aemu/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CACHE]/builder/device_spec"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "init device spec cache at "
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "\ndevice_spec {\n horizontal_resolution: 480\n vertical_resolution: 800\n vm_heap: 192\n ram: 4096\n cache: 32\n screen_density: 240\n}\n",
+ "[CACHE]/builder/device_spec/virtual_device.textproto"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "generate [CACHE]/builder/device_spec/virtual_device.textproto",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@virtual_device.textproto@@@@",
+ "@@@STEP_LOG_LINE@virtual_device.textproto@device_spec {@@@",
+ "@@@STEP_LOG_LINE@virtual_device.textproto@ horizontal_resolution: 480@@@",
+ "@@@STEP_LOG_LINE@virtual_device.textproto@ vertical_resolution: 800@@@",
+ "@@@STEP_LOG_LINE@virtual_device.textproto@ vm_heap: 192@@@",
+ "@@@STEP_LOG_LINE@virtual_device.textproto@ ram: 4096@@@",
+ "@@@STEP_LOG_LINE@virtual_device.textproto@ cache: 32@@@",
+ "@@@STEP_LOG_LINE@virtual_device.textproto@ screen_density: 240@@@",
+ "@@@STEP_LOG_LINE@virtual_device.textproto@}@@@",
+ "@@@STEP_LOG_END@virtual_device.textproto@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "ensure packages"
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_packages/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure packages.init fuchsia_packages cache",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_packages/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure packages.check packages cache content",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "ensure packages.install infra/3pp/tools/gsutil",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure packages.install infra/3pp/tools/gsutil.ensure package directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60",
+ "-ensure-file",
+ "infra/3pp/tools/gsutil version:4.60",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure packages.install infra/3pp/tools/gsutil.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-version:4.60----\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/3pp/tools/gsutil\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-vpython-spec",
+ "RECIPE_MODULE[fuchsia::gsutil]/resources/gsutil.vpython",
+ "-u",
+ "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
+ "-o",
+ "GSUtil:software_update_check_period=0",
+ "cp",
+ "gs://fuchsia/development/0.20200101.0.1/packages/qemu-x64.tar.gz",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_packages/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure packages.gsutil cp",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "ensure packages.install fuchsia/tools/bsdtar",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CACHE]/cipd/fuchsia/tools/bsdtar/latest"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure packages.install fuchsia/tools/bsdtar.ensure package directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[CACHE]/cipd/fuchsia/tools/bsdtar/latest",
+ "-ensure-file",
+ "fuchsia/tools/bsdtar/${platform} latest",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure packages.install fuchsia/tools/bsdtar.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"fuchsia/tools/bsdtar/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[CACHE]/cipd/fuchsia/tools/bsdtar/latest/bsdtar",
+ "--extract",
+ "--verbose",
+ "-f",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_packages/linux_intel_64/qemu-x64.tar.gz",
+ "-C",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_packages/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure packages.extract package tar.gz",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CACHE]/builder/ssh"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "init ssh cache"
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[CACHE]/builder/ssh"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "check ssh cache content",
+ "~followup_annotations": [
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "ssh-keygen",
+ "-t",
+ "ed25519",
+ "-h",
+ "-f",
+ "[CACHE]/builder/ssh/ssh_host_key",
+ "-P",
+ "",
+ "-N",
+ ""
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ssh-keygen host",
+ "timeout": 600
+ },
+ {
+ "cmd": [
+ "ssh-keygen",
+ "-t",
+ "ed25519",
+ "-f",
+ "[CACHE]/builder/ssh/id_ed25519",
+ "-P",
+ "",
+ "-N",
+ ""
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ssh-keygen device",
+ "timeout": 600
+ },
+ {
+ "cmd": [],
+ "name": "ensure image"
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_image/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure image.init fuchsia_image cache",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_image/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure image.check image cache content",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-vpython-spec",
+ "RECIPE_MODULE[fuchsia::gsutil]/resources/gsutil.vpython",
+ "-u",
+ "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
+ "-o",
+ "GSUtil:software_update_check_period=0",
+ "cp",
+ "gs://fuchsia/development/0.20200101.0.1/images/qemu-x64.tgz",
+ "[CLEANUP]/fuchsia_image_tmp_tmp_1"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure image.gsutil cp",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[CACHE]/cipd/fuchsia/tools/bsdtar/latest/bsdtar",
+ "--extract",
+ "--verbose",
+ "-f",
+ "[CLEANUP]/fuchsia_image_tmp_tmp_1/qemu-x64.tgz",
+ "-C",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_image/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure image.extract image tgz",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_image/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure image.set image files",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@listdir@[CACHE]/builder/0.20200101.0.1/fuchsia_image/linux_intel_64/buildargs.gn@@@",
+ "@@@STEP_LOG_LINE@listdir@[CACHE]/builder/0.20200101.0.1/fuchsia_image/linux_intel_64/qemu-kernel.kernel@@@",
+ "@@@STEP_LOG_LINE@listdir@[CACHE]/builder/0.20200101.0.1/fuchsia_image/linux_intel_64/storage-full.blk@@@",
+ "@@@STEP_LOG_LINE@listdir@[CACHE]/builder/0.20200101.0.1/fuchsia_image/linux_intel_64/storage-sparse.blk@@@",
+ "@@@STEP_LOG_LINE@listdir@[CACHE]/builder/0.20200101.0.1/fuchsia_image/linux_intel_64/zircon-a.zbi@@@",
+ "@@@STEP_LOG_LINE@listdir@[CACHE]/builder/0.20200101.0.1/fuchsia_image/linux_intel_64/zircon-r.zbi@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "ensure sdk"
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_sdk/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure sdk.init fuchsia_sdk cache",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_sdk/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure sdk.check sdk cache content",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-vpython-spec",
+ "RECIPE_MODULE[fuchsia::gsutil]/resources/gsutil.vpython",
+ "-u",
+ "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
+ "-o",
+ "GSUtil:software_update_check_period=0",
+ "cp",
+ "gs://fuchsia/development/0.20200101.0.1/sdk/linux-amd64/gn.tar.gz",
+ "[CLEANUP]/fuchsia_sdk_tmp_tmp_1"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure sdk.gsutil cp",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[CACHE]/cipd/fuchsia/tools/bsdtar/latest/bsdtar",
+ "--extract",
+ "--verbose",
+ "-f",
+ "[CLEANUP]/fuchsia_sdk_tmp_tmp_1/gn.tar.gz",
+ "-C",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_sdk/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure sdk.extract sdk gz",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "ensure sdk (2)"
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_sdk/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure sdk (2).init fuchsia_sdk cache",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_sdk/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure sdk (2).check sdk cache content",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-vpython-spec",
+ "RECIPE_MODULE[fuchsia::gsutil]/resources/gsutil.vpython",
+ "-u",
+ "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
+ "-o",
+ "GSUtil:software_update_check_period=0",
+ "cp",
+ "gs://fuchsia/development/0.20200101.0.1/sdk/linux-amd64/gn.tar.gz",
+ "[CLEANUP]/fuchsia_sdk_tmp_tmp_2"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure sdk (2).gsutil cp",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[CACHE]/cipd/fuchsia/tools/bsdtar/latest/bsdtar",
+ "--extract",
+ "--verbose",
+ "-f",
+ "[CLEANUP]/fuchsia_sdk_tmp_tmp_2/gn.tar.gz",
+ "-C",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_sdk/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure sdk (2).extract sdk gz",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "ensure sdk (3)"
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_sdk/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure sdk (3).init fuchsia_sdk cache",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_sdk/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure sdk (3).check sdk cache content",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-vpython-spec",
+ "RECIPE_MODULE[fuchsia::gsutil]/resources/gsutil.vpython",
+ "-u",
+ "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
+ "-o",
+ "GSUtil:software_update_check_period=0",
+ "cp",
+ "gs://fuchsia/development/0.20200101.0.1/sdk/linux-amd64/gn.tar.gz",
+ "[CLEANUP]/fuchsia_sdk_tmp_tmp_3"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure sdk (3).gsutil cp",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[CACHE]/cipd/fuchsia/tools/bsdtar/latest/bsdtar",
+ "--extract",
+ "--verbose",
+ "-f",
+ "[CLEANUP]/fuchsia_sdk_tmp_tmp_3/gn.tar.gz",
+ "-C",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_sdk/linux_intel_64"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "ensure sdk (3).extract sdk gz",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_sdk/linux_intel_64/tools/zbi",
+ "--output",
+ "[CACHE]/builder/zircon-authorized.zbi",
+ "[CACHE]/builder/0.20200101.0.1/fuchsia_image/linux_intel_64/zircon-a.zbi",
+ "--entry",
+ "data/ssh/authorized_keys=[CACHE]/builder/ssh/id_ed25519.pub"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "authorize zbi"
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "\nHost *\n CheckHostIP no\n StrictHostKeyChecking no\n ForwardAgent no\n ForwardX11 no\n UserKnownHostsFile /dev/null\n User fuchsia\n IdentitiesOnly yes\n IdentityFile id_ed25519\n ServerAliveInterval 2\n ServerAliveCountMax 5\n ControlMaster auto\n ControlPersist 1m\n ControlPath /tmp/ssh-%r@%h:%p\n ConnectTimeout 5\n",
+ "[CACHE]/builder/ssh_config"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "generate ssh_config at [CACHE]/builder/ssh_config",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@ssh_config@@@@",
+ "@@@STEP_LOG_LINE@ssh_config@Host *@@@",
+ "@@@STEP_LOG_LINE@ssh_config@ CheckHostIP no@@@",
+ "@@@STEP_LOG_LINE@ssh_config@ StrictHostKeyChecking no@@@",
+ "@@@STEP_LOG_LINE@ssh_config@ ForwardAgent no@@@",
+ "@@@STEP_LOG_LINE@ssh_config@ ForwardX11 no@@@",
+ "@@@STEP_LOG_LINE@ssh_config@ UserKnownHostsFile /dev/null@@@",
+ "@@@STEP_LOG_LINE@ssh_config@ User fuchsia@@@",
+ "@@@STEP_LOG_LINE@ssh_config@ IdentitiesOnly yes@@@",
+ "@@@STEP_LOG_LINE@ssh_config@ IdentityFile id_ed25519@@@",
+ "@@@STEP_LOG_LINE@ssh_config@ ServerAliveInterval 2@@@",
+ "@@@STEP_LOG_LINE@ssh_config@ ServerAliveCountMax 5@@@",
+ "@@@STEP_LOG_LINE@ssh_config@ ControlMaster auto@@@",
+ "@@@STEP_LOG_LINE@ssh_config@ ControlPersist 1m@@@",
+ "@@@STEP_LOG_LINE@ssh_config@ ControlPath /tmp/ssh-%r@%h:%p@@@",
+ "@@@STEP_LOG_LINE@ssh_config@ ConnectTimeout 5@@@",
+ "@@@STEP_LOG_END@ssh_config@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "chmod",
+ "777",
+ "RECIPE[flutter::femu_test].resources/run_vdl_test.sh"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "change file permission"
+ },
+ {
+ "cmd": [],
+ "name": "Retrieve list of test suites",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@yaml@# This is a comment.@@@",
+ "@@@STEP_LOG_LINE@yaml@- test_command: run-test-component fuchsia-pkg://fuchsia.com/flutter-embedder-test#meta/flutter-embedder-test.cmx@@@",
+ "@@@STEP_LOG_LINE@yaml@ packages:@@@",
+ "@@@STEP_LOG_LINE@yaml@ - flutter-embedder-test-0.far@@@",
+ "@@@STEP_LOG_LINE@yaml@ - gen/flutter/shell/platform/fuchsia/flutter/integration_flutter_tests/embedder/child-view/child-view/child-view.far@@@",
+ "@@@STEP_LOG_LINE@yaml@ - gen/flutter/shell/platform/fuchsia/flutter/integration_flutter_tests/embedder/parent-view/parent-view/parent-view.far@@@",
+ "@@@STEP_LOG_END@yaml@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CACHE]/builder/src/flutter/testing/fuchsia/test_suites.yaml",
+ "/path/to/tmp/"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "Retrieve list of test suites.read",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@test_suites.yaml@# This is a comment.@@@",
+ "@@@STEP_LOG_LINE@test_suites.yaml@- test_command: run-test-component fuchsia-pkg://fuchsia.com/flutter-embedder-test#meta/flutter-embedder-test.cmx@@@",
+ "@@@STEP_LOG_LINE@test_suites.yaml@ packages:@@@",
+ "@@@STEP_LOG_LINE@test_suites.yaml@ - flutter-embedder-test-0.far@@@",
+ "@@@STEP_LOG_LINE@test_suites.yaml@ - gen/flutter/shell/platform/fuchsia/flutter/integration_flutter_tests/embedder/child-view/child-view/child-view.far@@@",
+ "@@@STEP_LOG_LINE@test_suites.yaml@ - gen/flutter/shell/platform/fuchsia/flutter/integration_flutter_tests/embedder/parent-view/parent-view/parent-view.far@@@",
+ "@@@STEP_LOG_END@test_suites.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[flutter::yaml]/resources/parse_yaml.py",
+ "--yaml_file",
+ "[CACHE]/builder/src/flutter/testing/fuchsia/test_suites.yaml",
+ "--json_file",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "Retrieve list of test suites.parse",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@[@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"packages\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"flutter-embedder-test-0.far\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"gen/flutter/shell/platform/fuchsia/flutter/integration_flutter_tests/embedder/child-view/child-view/child-view.far\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"gen/flutter/shell/platform/fuchsia/flutter/integration_flutter_tests/embedder/parent-view/parent-view/parent-view.far\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ ], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"test_command\": \"run-test-component fuchsia-pkg://fuchsia.com/flutter-embedder-test#meta/flutter-embedder-test.cmx\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@]@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[fuchsia::archive]/resources/hardlink.py",
+ "--link-json",
+ "{\"RECIPE[flutter::femu_test].resources/run_vdl_test.sh\": [\"[CLEANUP]/vdl_runfiles__tmp_1/run_vdl_test.sh\"], \"[CACHE]/builder/0.20200101.0.1/fuchsia_image/linux_intel_64/buildargs.gn\": [\"[CLEANUP]/vdl_runfiles__tmp_1/qemu_buildargs\"], \"[CACHE]/builder/0.20200101.0.1/fuchsia_image/linux_intel_64/qemu-kernel.kernel\": [\"[CLEANUP]/vdl_runfiles__tmp_1/qemu_kernel\"], \"[CACHE]/builder/0.20200101.0.1/fuchsia_image/linux_intel_64/storage-full.blk\": [\"[CLEANUP]/vdl_runfiles__tmp_1/qemu_fvm\"], \"[CACHE]/builder/0.20200101.0.1/fuchsia_packages/linux_intel_64/amber-files\": [\"[CLEANUP]/vdl_runfiles__tmp_1/amber-files\"], \"[CACHE]/builder/0.20200101.0.1/fuchsia_packages/linux_intel_64/pm\": [\"[CLEANUP]/vdl_runfiles__tmp_1/pm\"], \"[CACHE]/builder/0.20200101.0.1/fuchsia_sdk/linux_intel_64/tools/far\": [\"[CLEANUP]/vdl_runfiles__tmp_1/far\"], \"[CACHE]/builder/0.20200101.0.1/fuchsia_sdk/linux_intel_64/tools/fvm\": [\"[CLEANUP]/vdl_runfiles__tmp_1/fvm\"], \"[CACHE]/builder/aemu\": [\"[CLEANUP]/vdl_runfiles__tmp_1/aemu\"], \"[CACHE]/builder/device_spec/virtual_device.textproto\": [\"[CLEANUP]/vdl_runfiles__tmp_1/virtual_device.textproto\"], \"[CACHE]/builder/src/out/fuchsia_bucket/flutter/x64/debug/aot/flutter_aot_runner-0.far\": [\"[CLEANUP]/vdl_runfiles__tmp_1/flutter_aot_runner-0.far\"], \"[CACHE]/builder/src/out/fuchsia_debug_x64/flutter-embedder-test-0.far\": [\"[CLEANUP]/vdl_runfiles__tmp_1/flutter-embedder-test-0.far\"], \"[CACHE]/builder/src/out/fuchsia_debug_x64/gen/flutter/shell/platform/fuchsia/flutter/integration_flutter_tests/embedder/child-view/child-view/child-view.far\": [\"[CLEANUP]/vdl_runfiles__tmp_1/child-view.far\"], \"[CACHE]/builder/src/out/fuchsia_debug_x64/gen/flutter/shell/platform/fuchsia/flutter/integration_flutter_tests/embedder/parent-view/parent-view/parent-view.far\": [\"[CLEANUP]/vdl_runfiles__tmp_1/parent-view.far\"], \"[CACHE]/builder/ssh/id_ed25519\": [\"[CLEANUP]/vdl_runfiles__tmp_1/id_ed25519\"], \"[CACHE]/builder/ssh/id_ed25519.pub\": [\"[CLEANUP]/vdl_runfiles__tmp_1/id_ed25519.pub\"], \"[CACHE]/builder/ssh_config\": [\"[CLEANUP]/vdl_runfiles__tmp_1/ssh_config\"], \"[CACHE]/builder/vdl/device_launcher\": [\"[CLEANUP]/vdl_runfiles__tmp_1/device_launcher\"], \"[CACHE]/builder/zircon-authorized.zbi\": [\"[CLEANUP]/vdl_runfiles__tmp_1/qemu_zircona-ed25519\"]}"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "create tree of vdl runfiles"
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "RECIPE_MODULE[recipe_engine::cas]/resources/infra.sha1",
+ "/path/to/tmp/"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "read infra revision",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@infra.sha1@git_revision:mock_infra_git_revision@@@",
+ "@@@STEP_LOG_END@infra.sha1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "install infra/tools/luci/cas"
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CACHE]/cipd/infra/tools/luci/cas/git_revision%3Amock_infra_git_revision"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "install infra/tools/luci/cas.ensure package directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[CACHE]/cipd/infra/tools/luci/cas/git_revision%3Amock_infra_git_revision",
+ "-ensure-file",
+ "infra/tools/luci/cas/${platform} git_revision:mock_infra_git_revision",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "install infra/tools/luci/cas.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-git_revision:moc\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/cas/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[CACHE]/cipd/infra/tools/luci/cas/git_revision%3Amock_infra_git_revision/cas",
+ "archive",
+ "-cas-instance",
+ "projects/example-cas-server/instances/default_instance",
+ "-dump-digest",
+ "/path/to/tmp/",
+ "-paths",
+ "[CLEANUP]/vdl_runfiles__tmp_1:."
+ ],
+ "cwd": "[CACHE]/builder",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "Archive FEMU Run Files",
+ "~followup_annotations": [
+ "@@@STEP_LINK@CAS UI@https://cas-viewer.appspot.com/projects/example-cas-server/instances/default_instance/blobs/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0/tree@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "FEMU Test"
+ },
+ {
+ "cmd": [
+ "./run_vdl_test.sh",
+ "--emulator_binary_path=aemu/emulator",
+ "--proto_file_path=virtual_device.textproto",
+ "--pm_tool=pm",
+ "--far_tool=far",
+ "--fvm_tool=fvm",
+ "--resize_fvm=2G",
+ "--gpu=swiftshader_indirect",
+ "--headless_mode=true",
+ "--system_images=qemu_buildargs,qemu_kernel,qemu_fvm,qemu_zircona-ed25519,ssh_config,id_ed25519.pub,id_ed25519,amber-files",
+ "--serve_packages=flutter_aot_runner-0.far,flutter-embedder-test-0.far,child-view.far,parent-view.far",
+ "--test_suite=flutter-embedder-test",
+ "--test_command=run-test-component fuchsia-pkg://fuchsia.com/flutter-embedder-test#meta/flutter-embedder-test.cmx",
+ "--emulator_log",
+ "/path/to/tmp/",
+ "--syslog",
+ "/path/to/tmp/"
+ ],
+ "cwd": "[CLEANUP]/vdl_runfiles__tmp_1",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "FEMU Test.test: Run FEMU Test Suite flutter-embedder-test",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@syslog@failure@@@",
+ "@@@STEP_LOG_END@syslog@@@",
+ "@@@STEP_LOG_LINE@emulator_log@@@@",
+ "@@@STEP_LOG_END@emulator_log@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "./run_vdl_test.sh",
+ "--emulator_binary_path=aemu/emulator",
+ "--proto_file_path=virtual_device.textproto",
+ "--pm_tool=pm",
+ "--far_tool=far",
+ "--fvm_tool=fvm",
+ "--resize_fvm=2G",
+ "--gpu=swiftshader_indirect",
+ "--headless_mode=true",
+ "--system_images=qemu_buildargs,qemu_kernel,qemu_fvm,qemu_zircona-ed25519,ssh_config,id_ed25519.pub,id_ed25519,amber-files",
+ "--serve_packages=flutter_aot_runner-0.far,flutter-embedder-test-0.far,child-view.far,parent-view.far",
+ "--test_suite=flutter-embedder-test",
+ "--test_command=run-test-component fuchsia-pkg://fuchsia.com/flutter-embedder-test#meta/flutter-embedder-test.cmx",
+ "--emulator_log",
+ "/path/to/tmp/",
+ "--syslog",
+ "/path/to/tmp/"
+ ],
+ "cwd": "[CLEANUP]/vdl_runfiles__tmp_1",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "FEMU Test.test: Run FEMU Test Suite flutter-embedder-test (2)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@syslog@failure@@@",
+ "@@@STEP_LOG_END@syslog@@@",
+ "@@@STEP_LOG_LINE@emulator_log@@@@",
+ "@@@STEP_LOG_END@emulator_log@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "echo",
+ "test run is flaky"
+ ],
+ "cwd": "[CLEANUP]/vdl_runfiles__tmp_1",
+ "env": {
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "FEMU Test.step is flaky: test: Run FEMU Test Suite flutter-embedder-test",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipes/femu_test.py b/recipes/femu_test.py
index 65a32b1..fca5562 100644
--- a/recipes/femu_test.py
+++ b/recipes/femu_test.py
@@ -166,8 +166,10 @@
suite['name'] = match.group('name')
if 'packages' not in suite:
suite['packages'] = [ suite['package'] ]
+ suite['package_basenames'] = []
for path in suite['packages']:
- basename = re.match(r'[^/]*$', path).group(0)
+ basename = re.match(r'(:?.*/)*([^/]*$)', path).group(2)
+ suite['package_basenames'].append(basename)
add(checkout.join('out', 'fuchsia_debug_x64', path), basename)
test_suites.append(suite)
@@ -219,7 +221,7 @@
with api.step.nest('FEMU Test'), api.step.defer_results():
for suite in test_suites:
test_cmd = cmd + [
- '--serve_packages=flutter_aot_runner-0.far,%s' % ','.join(suite['packages']),
+ '--serve_packages=flutter_aot_runner-0.far,%s' % ','.join(suite['package_basenames']),
'--test_suite=%s' % suite['name'],
'--test_command=%s' % suite['test_command'],
'--emulator_log',
@@ -428,6 +430,72 @@
)
yield api.test(
+ 'multiple_non_root_fars',
+ api.properties(
+ InputProperties(
+ goma_jobs='1024',
+ build_fuchsia=True,
+ test_fuchsia=True,
+ git_url='https://github.com/flutter/engine',
+ git_ref='refs/pull/1/head',
+ clobber=False,
+ ),),
+ api.step_data(
+ 'Retrieve list of test suites.parse',
+ api.json.output([{
+ 'test_command': 'run-test-component fuchsia-pkg://fuchsia.com/flutter-embedder-test#meta/flutter-embedder-test.cmx',
+ 'packages': [
+ 'flutter-embedder-test-0.far',
+ 'gen/flutter/shell/platform/fuchsia/flutter/integration_flutter_tests/embedder/child-view/child-view/child-view.far',
+ 'gen/flutter/shell/platform/fuchsia/flutter/integration_flutter_tests/embedder/parent-view/parent-view/parent-view.far'
+ ]
+ }])
+ ),
+ api.step_data(
+ 'Retrieve list of test suites.read',
+ api.file.read_text('''# This is a comment.
+- test_command: run-test-component fuchsia-pkg://fuchsia.com/flutter-embedder-test#meta/flutter-embedder-test.cmx
+ packages:
+ - flutter-embedder-test-0.far
+ - gen/flutter/shell/platform/fuchsia/flutter/integration_flutter_tests/embedder/child-view/child-view/child-view.far
+ - gen/flutter/shell/platform/fuchsia/flutter/integration_flutter_tests/embedder/parent-view/parent-view/parent-view.far''')
+ ),
+ api.step_data(
+ 'Read manifest',
+ api.file.read_json({'id': '0.20200101.0.1'}),
+ ),
+ api.step_data('FEMU Test.test: Run FEMU Test Suite flutter-embedder-test', retcode=1),
+ api.properties.environ(EnvProperties(SWARMING_TASK_ID='deadbeef')),
+ api.platform('linux', 64),
+ api.path.exists(
+ api.path['cache'].join(
+ 'builder/0.20200101.0.1/fuchsia_image/linux_intel_64/buildargs.gn'
+ ),
+ api.path['cache'].join(
+ 'builder/0.20200101.0.1/fuchsia_image/linux_intel_64/qemu-kernel.kernel'
+ ),
+ api.path['cache'].join(
+ 'builder/0.20200101.0.1/fuchsia_image/linux_intel_64/storage-full.blk'
+ ),
+ api.path['cache'].join(
+ 'builder/0.20200101.0.1/fuchsia_image/linux_intel_64/zircon-a.zbi'
+ ),
+ api.path['cache'].join(
+ 'builder/0.20200101.0.1/fuchsia_packages/linux_intel_64/pm'),
+ api.path['cache'].join(
+ 'builder/0.20200101.0.1/fuchsia_packages/linux_intel_64/amber-files'
+ ),
+ api.path['cache'].join(
+ 'builder/0.20200101.0.1/fuchsia_packages/linux_intel_64/qemu-x64.tar.gz'
+ ),
+ api.path['cache'].join('builder/ssh/id_ed25519.pub'),
+ api.path['cache'].join('builder/ssh/id_ed25519'),
+ api.path['cache'].join('builder/ssh/ssh_host_key.pub'),
+ api.path['cache'].join('builder/ssh/ssh_host_key'),
+ ),
+ )
+
+ yield api.test(
'no_zircon_file',
api.properties(
InputProperties(