Roll recipe deps
Rolls had fallen so far behind that the roller was timing out trying to
test all the possible rolls, so a manual roll was required.
Notably, `api.python.failing_step()` and similar methods have been
deprecated in favor of `api.step.empty()`.
Change-Id: I203edc6be2ff9a3017505b28d49b5a012658c966
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/24820
Reviewed-by: Godofredo Contreras <godofredoc@google.com>
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
diff --git a/infra/config/recipes.cfg b/infra/config/recipes.cfg
index 6b4da2e..e746f39 100644
--- a/infra/config/recipes.cfg
+++ b/infra/config/recipes.cfg
@@ -25,17 +25,17 @@
"deps": {
"depot_tools": {
"branch": "refs/heads/main",
- "revision": "b5c7bf81ba5f19ca502165dcf05547a014dae936",
+ "revision": "44dda9648cce2a12c67aa96a498adfb3245d38e7",
"url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git"
},
"fuchsia": {
"branch": "refs/heads/main",
- "revision": "b31c51303989f72020541e75b6de9c8d51c7b951",
+ "revision": "43e53dc74547bd35699351139ca0e5a710e0daa5",
"url": "https://fuchsia.googlesource.com/infra/recipes.git"
},
"recipe_engine": {
"branch": "refs/heads/main",
- "revision": "2beefed237300d4a645ecf0f42a01a7f9af8fe5d",
+ "revision": "0999b8c0171f1bbee4551fab1c1970021dcef70a",
"url": "https://chromium.googlesource.com/infra/luci/recipes-py.git"
}
},
diff --git a/recipe_modules/display_util/__init__.py b/recipe_modules/display_util/__init__.py
index 80d1127..f39ada2 100644
--- a/recipe_modules/display_util/__init__.py
+++ b/recipe_modules/display_util/__init__.py
@@ -6,7 +6,6 @@
DEPS = [
"recipe_engine/buildbucket",
- "recipe_engine/python",
"recipe_engine/step",
"recipe_engine/swarming",
]
diff --git a/recipe_modules/display_util/api.py b/recipe_modules/display_util/api.py
index ad7377e..6a71850 100644
--- a/recipe_modules/display_util/api.py
+++ b/recipe_modules/display_util/api.py
@@ -198,13 +198,15 @@
failure_message = ", ".join(failure_message)
# If there were any infra failures, raise purple.
if infra_failed_builders:
- self.m.python.infra_failing_step(
+ self.m.step.empty(
failure_header,
- failure_message,
+ status=self.m.step.INFRA_FAILURE,
+ step_text=failure_message,
)
# Otherwise if there were any step failures, raise red.
if failed_builders:
- self.m.python.failing_step(
+ self.m.step.empty(
failure_header,
- failure_message,
+ status=self.m.step.FAILURE,
+ step_text=failure_message,
)
diff --git a/recipe_modules/display_util/examples/display_tasks.expected/Test_Failure.json b/recipe_modules/display_util/examples/display_tasks.expected/Test_Failure.json
index ad837b4..49521ee 100644
--- a/recipe_modules/display_util/examples/display_tasks.expected/Test_Failure.json
+++ b/recipe_modules/display_util/examples/display_tasks.expected/Test_Failure.json
@@ -259,11 +259,7 @@
]
},
{
- "cmd": [
- "python",
- "-u",
- "import sys; sys.exit(1)"
- ],
+ "cmd": [],
"name": "display tasks.build(s) failed",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
@@ -274,7 +270,7 @@
{
"failure": {
"failure": {},
- "humanReason": "Step('display tasks.build(s) failed') (retcode: 1)"
+ "humanReason": "Step('display tasks.build(s) failed') (retcode: 0)"
},
"name": "$result"
}
diff --git a/recipe_modules/display_util/examples/display_tasks.expected/Test_Infra_Failure.json b/recipe_modules/display_util/examples/display_tasks.expected/Test_Infra_Failure.json
index ba446dd..9b021e7 100644
--- a/recipe_modules/display_util/examples/display_tasks.expected/Test_Infra_Failure.json
+++ b/recipe_modules/display_util/examples/display_tasks.expected/Test_Infra_Failure.json
@@ -258,12 +258,7 @@
]
},
{
- "cmd": [
- "python",
- "-u",
- "import sys; sys.exit(1)"
- ],
- "infra_step": true,
+ "cmd": [],
"name": "display tasks.build(s) failed",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
@@ -273,7 +268,7 @@
},
{
"failure": {
- "humanReason": "Infra Failure: Step('display tasks.build(s) failed') (retcode: 1)"
+ "humanReason": "Infra Failure: Step('display tasks.build(s) failed') (retcode: 0)"
},
"name": "$result"
}
diff --git a/recipe_modules/flutter_deps/examples/full.expected/mac.json b/recipe_modules/flutter_deps/examples/full.expected/mac.json
index e8dc28f..de0f518 100644
--- a/recipe_modules/flutter_deps/examples/full.expected/mac.json
+++ b/recipe_modules/flutter_deps/examples/full.expected/mac.json
@@ -611,11 +611,7 @@
]
},
{
- "cmd": [
- "python",
- "-u",
- "import sys; sys.exit(1)"
- ],
+ "cmd": [],
"name": "Flutter Environment",
"~followup_annotations": [
"@@@STEP_TEXT@flutter bin folders do not exist,did you forget to checkout flutter repo?@@@",
@@ -625,7 +621,7 @@
{
"failure": {
"failure": {},
- "humanReason": "Step('Flutter Environment') (retcode: 1)"
+ "humanReason": "Step('Flutter Environment') (retcode: 0)"
},
"name": "$result"
}
diff --git a/recipe_modules/repo_util/__init__.py b/recipe_modules/repo_util/__init__.py
index 4e2105d..ecd1a9a 100644
--- a/recipe_modules/repo_util/__init__.py
+++ b/recipe_modules/repo_util/__init__.py
@@ -12,6 +12,5 @@
'recipe_engine/path',
'recipe_engine/platform',
'recipe_engine/properties',
- 'recipe_engine/python',
'recipe_engine/step',
]
diff --git a/recipe_modules/repo_util/api.py b/recipe_modules/repo_util/api.py
index 2cbfeb8..b4eb382 100644
--- a/recipe_modules/repo_util/api.py
+++ b/recipe_modules/repo_util/api.py
@@ -129,7 +129,7 @@
'flutter bin folders do not exist,'
'did you forget to checkout flutter repo?'
)
- self.m.python.failing_step('Flutter Environment', msg)
+ self.m.step.empty('Flutter Environment', status=self.m.step.FAILURE, step_text=msg)
git_ref = self.m.properties.get('git_ref', '')
pub_cache_path = self.m.path['start_dir'].join('.pub-cache')
env = {
diff --git a/recipe_modules/repo_util/examples/full.expected/failed_flutter_environment.json b/recipe_modules/repo_util/examples/full.expected/failed_flutter_environment.json
index a2fcc71..209d1b5 100644
--- a/recipe_modules/repo_util/examples/full.expected/failed_flutter_environment.json
+++ b/recipe_modules/repo_util/examples/full.expected/failed_flutter_environment.json
@@ -444,11 +444,7 @@
]
},
{
- "cmd": [
- "python",
- "-u",
- "import sys; sys.exit(1)"
- ],
+ "cmd": [],
"name": "Flutter Environment",
"~followup_annotations": [
"@@@STEP_TEXT@flutter bin folders do not exist,did you forget to checkout flutter repo?@@@",
@@ -458,7 +454,7 @@
{
"failure": {
"failure": {},
- "humanReason": "Step('Flutter Environment') (retcode: 1)"
+ "humanReason": "Step('Flutter Environment') (retcode: 0)"
},
"name": "$result"
}
diff --git a/recipes/infra/ci_yaml.expected/basic.json b/recipes/infra/ci_yaml.expected/basic.json
index fc776cf..0690537 100644
--- a/recipes/infra/ci_yaml.expected/basic.json
+++ b/recipes/infra/ci_yaml.expected/basic.json
@@ -1259,7 +1259,7 @@
}
},
"name": "check for completion.check if done (0)",
- "timeout": 30.0,
+ "timeout": 600,
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/infra/ci_yaml.expected/release.json b/recipes/infra/ci_yaml.expected/release.json
index 234cdd1..2973540 100644
--- a/recipes/infra/ci_yaml.expected/release.json
+++ b/recipes/infra/ci_yaml.expected/release.json
@@ -1259,7 +1259,7 @@
}
},
"name": "check for completion.check if done (0)",
- "timeout": 30.0,
+ "timeout": 600,
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/infra/ci_yaml.expected/staging.json b/recipes/infra/ci_yaml.expected/staging.json
index 300d0c2..d7fb173 100644
--- a/recipes/infra/ci_yaml.expected/staging.json
+++ b/recipes/infra/ci_yaml.expected/staging.json
@@ -1259,7 +1259,7 @@
}
},
"name": "check for completion.check if done (0)",
- "timeout": 30.0,
+ "timeout": 600,
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/infra/ci_yaml_2_8_0.expected/basic.json b/recipes/infra/ci_yaml_2_8_0.expected/basic.json
index fc776cf..0690537 100644
--- a/recipes/infra/ci_yaml_2_8_0.expected/basic.json
+++ b/recipes/infra/ci_yaml_2_8_0.expected/basic.json
@@ -1259,7 +1259,7 @@
}
},
"name": "check for completion.check if done (0)",
- "timeout": 30.0,
+ "timeout": 600,
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/infra/ci_yaml_2_8_0.expected/release.json b/recipes/infra/ci_yaml_2_8_0.expected/release.json
index 234cdd1..2973540 100644
--- a/recipes/infra/ci_yaml_2_8_0.expected/release.json
+++ b/recipes/infra/ci_yaml_2_8_0.expected/release.json
@@ -1259,7 +1259,7 @@
}
},
"name": "check for completion.check if done (0)",
- "timeout": 30.0,
+ "timeout": 600,
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/infra/ci_yaml_2_8_0.expected/staging.json b/recipes/infra/ci_yaml_2_8_0.expected/staging.json
index 300d0c2..d7fb173 100644
--- a/recipes/infra/ci_yaml_2_8_0.expected/staging.json
+++ b/recipes/infra/ci_yaml_2_8_0.expected/staging.json
@@ -1259,7 +1259,7 @@
}
},
"name": "check for completion.check if done (0)",
- "timeout": 30.0,
+ "timeout": 600,
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/infra/luci_config.expected/basic.json b/recipes/infra/luci_config.expected/basic.json
index 04c546f..7e708f3 100644
--- a/recipes/infra/luci_config.expected/basic.json
+++ b/recipes/infra/luci_config.expected/basic.json
@@ -9,7 +9,7 @@
"ensure-directory",
"--mode",
"0777",
- "[START_DIR]/infra"
+ "[START_DIR]/flutter-infra"
],
"infra_step": true,
"name": "makedirs"
@@ -19,7 +19,7 @@
"git",
"init"
],
- "cwd": "[START_DIR]/infra",
+ "cwd": "[START_DIR]/flutter-infra",
"name": "git init"
},
{
@@ -30,7 +30,7 @@
"origin",
"https://flutter.googlesource.com/infra"
],
- "cwd": "[START_DIR]/infra",
+ "cwd": "[START_DIR]/flutter-infra",
"name": "git remote"
},
{
@@ -40,7 +40,7 @@
"fetch.uriprotocols",
"https"
],
- "cwd": "[START_DIR]/infra",
+ "cwd": "[START_DIR]/flutter-infra",
"name": "set fetch.uriprotocols"
},
{
@@ -58,7 +58,7 @@
"",
"[CACHE]/git/.GUARD_FILE"
],
- "cwd": "[START_DIR]/infra",
+ "cwd": "[START_DIR]/flutter-infra",
"infra_step": true,
"name": "cache.write guard file",
"~followup_annotations": [
@@ -77,7 +77,7 @@
"0777",
"[CACHE]/git/flutter.googlesource.com-infra"
],
- "cwd": "[START_DIR]/infra",
+ "cwd": "[START_DIR]/flutter-infra",
"infra_step": true,
"name": "cache.makedirs",
"~followup_annotations": [
@@ -161,9 +161,9 @@
"ensure-directory",
"--mode",
"0777",
- "[START_DIR]/infra/.git/objects/info"
+ "[START_DIR]/flutter-infra/.git/objects/info"
],
- "cwd": "[START_DIR]/infra",
+ "cwd": "[START_DIR]/flutter-infra",
"infra_step": true,
"name": "cache.makedirs object/info",
"~followup_annotations": [
@@ -179,9 +179,9 @@
"/path/to/tmp/json",
"copy",
"[CACHE]/git/flutter.googlesource.com-infra/objects\n",
- "[START_DIR]/infra/.git/objects/info/alternates"
+ "[START_DIR]/flutter-infra/.git/objects/info/alternates"
],
- "cwd": "[START_DIR]/infra",
+ "cwd": "[START_DIR]/flutter-infra",
"infra_step": true,
"name": "cache.alternates",
"~followup_annotations": [
@@ -200,7 +200,7 @@
"remove",
"[CACHE]/git/.GUARD_FILE"
],
- "cwd": "[START_DIR]/infra",
+ "cwd": "[START_DIR]/flutter-infra",
"infra_step": true,
"name": "cache.remove guard file",
"~followup_annotations": [
@@ -215,7 +215,7 @@
"origin",
"main"
],
- "cwd": "[START_DIR]/infra",
+ "cwd": "[START_DIR]/flutter-infra",
"name": "git fetch"
},
{
@@ -225,7 +225,7 @@
"-f",
"FETCH_HEAD"
],
- "cwd": "[START_DIR]/infra",
+ "cwd": "[START_DIR]/flutter-infra",
"name": "git checkout"
},
{
@@ -234,7 +234,7 @@
"rev-parse",
"HEAD"
],
- "cwd": "[START_DIR]/infra",
+ "cwd": "[START_DIR]/flutter-infra",
"name": "git rev-parse"
},
{
@@ -245,7 +245,7 @@
"-d",
"-x"
],
- "cwd": "[START_DIR]/infra",
+ "cwd": "[START_DIR]/flutter-infra",
"name": "git clean"
},
{
@@ -258,7 +258,7 @@
"submodule",
"sync"
],
- "cwd": "[START_DIR]/infra",
+ "cwd": "[START_DIR]/flutter-infra",
"name": "submodule.git submodule sync",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
@@ -269,9 +269,11 @@
"git",
"submodule",
"update",
- "--init"
+ "--init",
+ "--jobs",
+ "4"
],
- "cwd": "[START_DIR]/infra",
+ "cwd": "[START_DIR]/flutter-infra",
"name": "submodule.git submodule update",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
diff --git a/recipes/infra/luci_config.expected/cq.json b/recipes/infra/luci_config.expected/cq.json
index 906d0ba..55b4de8 100644
--- a/recipes/infra/luci_config.expected/cq.json
+++ b/recipes/infra/luci_config.expected/cq.json
@@ -531,7 +531,9 @@
"git",
"submodule",
"update",
- "--init"
+ "--init",
+ "--jobs",
+ "4"
],
"cwd": "[START_DIR]/infra",
"luci_context": {
@@ -1051,7 +1053,9 @@
"git",
"submodule",
"update",
- "--init"
+ "--init",
+ "--jobs",
+ "4"
],
"cwd": "[START_DIR]/infra",
"luci_context": {
diff --git a/recipes/recipes.expected/ci.json b/recipes/recipes.expected/ci.json
index f44aebd..8b63ff9 100644
--- a/recipes/recipes.expected/ci.json
+++ b/recipes/recipes.expected/ci.json
@@ -9,7 +9,7 @@
"ensure-directory",
"--mode",
"0777",
- "[START_DIR]/recipes"
+ "[START_DIR]/flutter-recipes"
],
"infra_step": true,
"name": "makedirs"
@@ -19,7 +19,7 @@
"git",
"init"
],
- "cwd": "[START_DIR]/recipes",
+ "cwd": "[START_DIR]/flutter-recipes",
"name": "git init"
},
{
@@ -30,7 +30,7 @@
"origin",
"https://flutter.googlesource.com/recipes"
],
- "cwd": "[START_DIR]/recipes",
+ "cwd": "[START_DIR]/flutter-recipes",
"name": "git remote"
},
{
@@ -40,7 +40,7 @@
"fetch.uriprotocols",
"https"
],
- "cwd": "[START_DIR]/recipes",
+ "cwd": "[START_DIR]/flutter-recipes",
"name": "set fetch.uriprotocols"
},
{
@@ -58,7 +58,7 @@
"",
"[CACHE]/git/.GUARD_FILE"
],
- "cwd": "[START_DIR]/recipes",
+ "cwd": "[START_DIR]/flutter-recipes",
"infra_step": true,
"name": "cache.write guard file",
"~followup_annotations": [
@@ -77,7 +77,7 @@
"0777",
"[CACHE]/git/flutter.googlesource.com-recipes"
],
- "cwd": "[START_DIR]/recipes",
+ "cwd": "[START_DIR]/flutter-recipes",
"infra_step": true,
"name": "cache.makedirs",
"~followup_annotations": [
@@ -161,9 +161,9 @@
"ensure-directory",
"--mode",
"0777",
- "[START_DIR]/recipes/.git/objects/info"
+ "[START_DIR]/flutter-recipes/.git/objects/info"
],
- "cwd": "[START_DIR]/recipes",
+ "cwd": "[START_DIR]/flutter-recipes",
"infra_step": true,
"name": "cache.makedirs object/info",
"~followup_annotations": [
@@ -179,9 +179,9 @@
"/path/to/tmp/json",
"copy",
"[CACHE]/git/flutter.googlesource.com-recipes/objects\n",
- "[START_DIR]/recipes/.git/objects/info/alternates"
+ "[START_DIR]/flutter-recipes/.git/objects/info/alternates"
],
- "cwd": "[START_DIR]/recipes",
+ "cwd": "[START_DIR]/flutter-recipes",
"infra_step": true,
"name": "cache.alternates",
"~followup_annotations": [
@@ -200,7 +200,7 @@
"remove",
"[CACHE]/git/.GUARD_FILE"
],
- "cwd": "[START_DIR]/recipes",
+ "cwd": "[START_DIR]/flutter-recipes",
"infra_step": true,
"name": "cache.remove guard file",
"~followup_annotations": [
@@ -215,7 +215,7 @@
"origin",
"main"
],
- "cwd": "[START_DIR]/recipes",
+ "cwd": "[START_DIR]/flutter-recipes",
"name": "git fetch"
},
{
@@ -225,7 +225,7 @@
"-f",
"FETCH_HEAD"
],
- "cwd": "[START_DIR]/recipes",
+ "cwd": "[START_DIR]/flutter-recipes",
"name": "git checkout"
},
{
@@ -234,7 +234,7 @@
"rev-parse",
"HEAD"
],
- "cwd": "[START_DIR]/recipes",
+ "cwd": "[START_DIR]/flutter-recipes",
"name": "git rev-parse"
},
{
@@ -245,7 +245,7 @@
"-d",
"-x"
],
- "cwd": "[START_DIR]/recipes",
+ "cwd": "[START_DIR]/flutter-recipes",
"name": "git clean"
},
{
@@ -258,7 +258,7 @@
"submodule",
"sync"
],
- "cwd": "[START_DIR]/recipes",
+ "cwd": "[START_DIR]/flutter-recipes",
"name": "submodule.git submodule sync",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
@@ -269,9 +269,11 @@
"git",
"submodule",
"update",
- "--init"
+ "--init",
+ "--jobs",
+ "4"
],
- "cwd": "[START_DIR]/recipes",
+ "cwd": "[START_DIR]/flutter-recipes",
"name": "submodule.git submodule update",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
@@ -409,12 +411,14 @@
"name": "get_affected_recipes.git diff-tree",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_LOG_LINE@files@recipes/fuchsia.py@@@",
- "@@@STEP_LOG_LINE@files@recipes/foo@@@",
- "@@@STEP_LOG_LINE@files@recipes/non_expected_json_file.json@@@",
- "@@@STEP_LOG_LINE@files@recipe_modules/foo/examples/full.expected/bar.json@@@",
- "@@@STEP_LOG_LINE@files@recipe_modules/foo/examples/full.py@@@",
- "@@@STEP_LOG_LINE@files@recipe_modules/foo/test_api.py@@@",
+ "@@@STEP_LOG_LINE@files@[@@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/fuchsia.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/foo\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/non_expected_json_file.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.expected/bar.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/test_api.py\"@@@",
+ "@@@STEP_LOG_LINE@files@]@@@",
"@@@STEP_LOG_END@files@@@"
]
},
diff --git a/recipes/recipes.expected/cq_try.json b/recipes/recipes.expected/cq_try.json
index f462cf3..d6fbbe7 100644
--- a/recipes/recipes.expected/cq_try.json
+++ b/recipes/recipes.expected/cq_try.json
@@ -531,7 +531,9 @@
"git",
"submodule",
"update",
- "--init"
+ "--init",
+ "--jobs",
+ "4"
],
"cwd": "[START_DIR]/recipes",
"luci_context": {
@@ -1051,7 +1053,9 @@
"git",
"submodule",
"update",
- "--init"
+ "--init",
+ "--jobs",
+ "4"
],
"cwd": "[START_DIR]/recipes",
"luci_context": {
@@ -1308,12 +1312,14 @@
"name": "get_affected_recipes.git diff-tree",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_LOG_LINE@files@recipes/fuchsia.py@@@",
- "@@@STEP_LOG_LINE@files@recipes/foo@@@",
- "@@@STEP_LOG_LINE@files@recipes/non_expected_json_file.json@@@",
- "@@@STEP_LOG_LINE@files@recipe_modules/foo/examples/full.expected/bar.json@@@",
- "@@@STEP_LOG_LINE@files@recipe_modules/foo/examples/full.py@@@",
- "@@@STEP_LOG_LINE@files@recipe_modules/foo/test_api.py@@@",
+ "@@@STEP_LOG_LINE@files@[@@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/fuchsia.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/foo\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/non_expected_json_file.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.expected/bar.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/test_api.py\"@@@",
+ "@@@STEP_LOG_LINE@files@]@@@",
"@@@STEP_LOG_END@files@@@"
]
},