Recipes: remove some pragma: no cover
authorEric Boren <borenet@google.com>
Wed, 19 Apr 2017 18:39:21 +0000 (14:39 -0400)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Wed, 19 Apr 2017 19:14:46 +0000 (19:14 +0000)
These are the remaining instances, and they're harder to deal with:
$ git grep pragma
recipe_modules/swarming/api.py:    except self.m.step.StepFailure as e:  # pragma: no cover
recipe_modules/swarming/api.py:      if len(ids) > 1:  # pragma: nocover
recipes/ct_skps.py:  if api.path.exists(version_file):  # pragma: nocover
recipes/ct_skps.py:  if api.path.exists(blacklist_file):  # pragma: nocover
recipes/upload_nano_results.py:  if len(results) != 1:  # pragma: nocover

Bug: skia:6473
Change-Id: If75e2ffcf39a944b513b9005bbc4bd9c4fb031f6
Reviewed-on: https://skia-review.googlesource.com/13867
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

80 files changed:
infra/bots/recipe_modules/builder_name_schema/builder_name_schema.py
infra/bots/recipe_modules/builder_name_schema/example.py
infra/bots/recipe_modules/core/api.py
infra/bots/recipe_modules/core/example.expected/Housekeeper-Weekly-RecreateSKPs.json
infra/bots/recipe_modules/core/example.expected/flutter_trybot.json
infra/bots/recipe_modules/core/example.expected/pdfium_trybot.json
infra/bots/recipe_modules/core/example.expected/test.json
infra/bots/recipe_modules/flavor/default_flavor.py
infra/bots/recipe_modules/flavor/example.expected/exceptions.json [new file with mode: 0644]
infra/bots/recipe_modules/flavor/example.py
infra/bots/recipe_modules/run/api.py
infra/bots/recipe_modules/run/example.expected/test.json
infra/bots/recipe_modules/run/example.py
infra/bots/recipe_modules/swarming/api.py
infra/bots/recipe_modules/swarming/example.expected/test.json
infra/bots/recipe_modules/swarming/example.py
infra/bots/recipe_modules/vars/api.py
infra/bots/recipe_modules/vars/example.expected/Build-Mac-Clang-x86_64-Debug-CommandBuffer.json [new file with mode: 0644]
infra/bots/recipe_modules/vars/example.expected/Build-Win-MSVC-x86_64-Release-Vulkan.json [new file with mode: 0644]
infra/bots/recipe_modules/vars/example.py
infra/bots/recipes/bundle_recipes.expected/BundleRecipes.json
infra/bots/recipes/compile.expected/Build-Mac-Clang-arm64-Debug-Android.json
infra/bots/recipes/compile.expected/Build-Mac-Clang-arm64-Debug-iOS.json
infra/bots/recipes/compile.expected/Build-Mac-Clang-x64-Release-iOS.json
infra/bots/recipes/compile.expected/Build-Mac-Clang-x86_64-Debug-CommandBuffer.json
infra/bots/recipes/compile.expected/Build-Mac-Clang-x86_64-Release.json
infra/bots/recipes/compile.expected/Build-Ubuntu-Clang-arm-Release-Chromebook_C100p.json
infra/bots/recipes/compile.expected/Build-Ubuntu-Clang-arm64-Debug-Android_FrameworkDefs.json
infra/bots/recipes/compile.expected/Build-Ubuntu-Clang-arm64-Release-Android.json
infra/bots/recipes/compile.expected/Build-Ubuntu-Clang-arm64-Release-Android_Vulkan.json
infra/bots/recipes/compile.expected/Build-Ubuntu-Clang-mipsel-Debug-Android.json
infra/bots/recipes/compile.expected/Build-Ubuntu-Clang-x86_64-Debug-ASAN.json
infra/bots/recipes/compile.expected/Build-Ubuntu-Clang-x86_64-Debug-MSAN.json
infra/bots/recipes/compile.expected/Build-Ubuntu-Clang-x86_64-Debug.json
infra/bots/recipes/compile.expected/Build-Ubuntu-Clang-x86_64-Release-Mini.json
infra/bots/recipes/compile.expected/Build-Ubuntu-Clang-x86_64-Release-Vulkan.json
infra/bots/recipes/compile.expected/Build-Ubuntu-GCC-arm-Release-Chromecast.json
infra/bots/recipes/compile.expected/Build-Ubuntu-GCC-x86-Debug.json
infra/bots/recipes/compile.expected/Build-Ubuntu-GCC-x86_64-Debug-GN.json
infra/bots/recipes/compile.expected/Build-Ubuntu-GCC-x86_64-Debug-MSAN.json
infra/bots/recipes/compile.expected/Build-Ubuntu-GCC-x86_64-Debug-NoGPU.json
infra/bots/recipes/compile.expected/Build-Ubuntu-GCC-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE.json
infra/bots/recipes/compile.expected/Build-Ubuntu-GCC-x86_64-Release-ANGLE.json
infra/bots/recipes/compile.expected/Build-Ubuntu-GCC-x86_64-Release-Fast.json
infra/bots/recipes/compile.expected/Build-Ubuntu-GCC-x86_64-Release-Flutter_Android.json
infra/bots/recipes/compile.expected/Build-Ubuntu-GCC-x86_64-Release-Mesa.json
infra/bots/recipes/compile.expected/Build-Ubuntu-GCC-x86_64-Release-PDFium.json
infra/bots/recipes/compile.expected/Build-Ubuntu-GCC-x86_64-Release-PDFium_SkiaPaths.json
infra/bots/recipes/compile.expected/Build-Ubuntu-GCC-x86_64-Release-Shared.json
infra/bots/recipes/compile.expected/Build-Win-Clang-arm64-Release-Android.json
infra/bots/recipes/compile.expected/Build-Win-MSVC-x86-Debug-ANGLE.json
infra/bots/recipes/compile.expected/Build-Win-MSVC-x86-Debug-Exceptions.json
infra/bots/recipes/compile.expected/Build-Win-MSVC-x86-Debug.json
infra/bots/recipes/compile.expected/Build-Win-MSVC-x86-Release-GDI.json
infra/bots/recipes/compile.expected/Build-Win-MSVC-x86-Release-GN.json
infra/bots/recipes/compile.expected/Build-Win-MSVC-x86_64-Release-Vulkan.json
infra/bots/recipes/compile.expected/alternate_repo.json
infra/bots/recipes/compile.expected/flutter_trybot.json
infra/bots/recipes/compile.expected/pdfium_trybot.json
infra/bots/recipes/compile.expected/trybot.json
infra/bots/recipes/ct_skps.expected/CT_CPU_BENCH_10k_SKPs.json
infra/bots/recipes/ct_skps.expected/CT_DM_100k_SKPs.json
infra/bots/recipes/ct_skps.expected/CT_DM_10k_SKPs.json
infra/bots/recipes/ct_skps.expected/CT_DM_10k_SKPs_Trybot.json
infra/bots/recipes/ct_skps.expected/CT_DM_1m_SKPs.json
infra/bots/recipes/ct_skps.expected/CT_DM_1m_SKPs_2slaves_failure.json
infra/bots/recipes/ct_skps.expected/CT_DM_1m_SKPs_slave3_failure.json
infra/bots/recipes/ct_skps.expected/CT_GPU_BENCH_10k_SKPs.json
infra/bots/recipes/ct_skps.expected/CT_GPU_BENCH_1k_SKPs.json
infra/bots/recipes/ct_skps.expected/CT_IMG_DECODE_100k_SKPs.json
infra/bots/recipes/ct_skps.expected/CT_IMG_DECODE_10k_SKPs.json
infra/bots/recipes/ct_skps.expected/CT_IMG_DECODE_10k_SKPs_Trybot.json
infra/bots/recipes/housekeeper.expected/Housekeeper-PerCommit-Trybot.json
infra/bots/recipes/housekeeper.expected/Housekeeper-PerCommit.json
infra/bots/recipes/infra.expected/failed_all_updates.json
infra/bots/recipes/infra.expected/failed_one_update.json
infra/bots/recipes/infra.expected/infra_tests.json
infra/bots/recipes/recreate_skps.expected/Housekeeper-Nightly-RecreateSKPs_Canary.json
infra/bots/recipes/recreate_skps.expected/Housekeeper-Weekly-RecreateSKPs.json
infra/bots/recipes/recreate_skps.expected/failed_upload.json

index b004ead532a4d004eaacb15b5fbd7e9b0f9e363e..2c875bacca984c79aaad3a6dcb6746c784868c6d 100644 (file)
@@ -47,8 +47,6 @@ def _LoadSchema():
       return list(map(_UnicodeToStr, obj))
     elif isinstance(obj, tuple):
       return tuple(map(_UnicodeToStr, obj))
-    else:
-      return obj  # pragma: no cover
 
   builder_name_json_filename = os.path.join(
       os.path.dirname(__file__), 'builder_name_schema.json')
@@ -72,16 +70,16 @@ def _LoadSchema():
 _LoadSchema()
 
 
-def MakeBuilderName(role, extra_config=None, **kwargs):  # pragma: no cover
+def MakeBuilderName(role, extra_config=None, **kwargs):
   schema = BUILDER_NAME_SCHEMA.get(role)
-  if not schema:  # pragma: no cover
+  if not schema:
     raise ValueError('%s is not a recognized role.' % role)
   for k, v in kwargs.iteritems():
-    if BUILDER_NAME_SEP in v:  # pragma: no cover
+    if BUILDER_NAME_SEP in v:
       raise ValueError('%s not allowed in %s.' % (BUILDER_NAME_SEP, v))
-    if not k in schema:  # pragma: no cover
+    if not k in schema:
       raise ValueError('Schema does not contain "%s": %s' %(k, schema))
-  if extra_config and BUILDER_NAME_SEP in extra_config:  # pragma: no cover
+  if extra_config and BUILDER_NAME_SEP in extra_config:
     raise ValueError('%s not allowed in %s.' % (BUILDER_NAME_SEP,
                                                 extra_config))
   name_parts = [role]
@@ -98,7 +96,7 @@ def DictForBuilderName(builder_name):
   def pop_front():
     try:
       return split_name.pop(0)
-    except:  # pragma: no cover
+    except:
       raise ValueError('Invalid builder name: %s' % builder_name)
 
   result = {}
@@ -109,9 +107,9 @@ def DictForBuilderName(builder_name):
       result[key] = pop_front()
     if split_name:
       result['extra_config'] = pop_front()
-    if split_name:  # pragma: no cover
+    if split_name:
       raise ValueError('Invalid builder name: %s' % builder_name)
-  else:  # pragma: no cover
+  else:
     raise ValueError('Invalid builder name: %s' % builder_name)
   return result
 
index 451019fa46743b3aec721201197cd0d656e43541..a068b4256d870115c970f7a3e03f4b533f70393c 100644 (file)
@@ -14,6 +14,51 @@ def RunSteps(api):
   got = api.builder_name_schema.MakeBuilderName(**d)
   assert got == name
 
+  # Failures.
+  try:
+    api.builder_name_schema.MakeBuilderName('nope')
+  except ValueError:
+    pass
+
+  try:
+    api.builder_name_schema.MakeBuilderName(
+        role='Build', os='a%sb' % api.builder_name_schema.BUILDER_NAME_SEP)
+  except ValueError:
+    pass
+
+  try:
+    api.builder_name_schema.MakeBuilderName(role='Build', bogus='BOGUS')
+  except ValueError:
+    pass
+
+  try:
+    api.builder_name_schema.MakeBuilderName(
+        role='Build',
+        os='Ubuntu',
+        compiler='Clang',
+        target_arch='x64',
+        configuration='Release',
+        extra_config='A%sB' % api.builder_name_schema.BUILDER_NAME_SEP)
+  except ValueError:
+    pass
+
+  try:
+    api.builder_name_schema.DictForBuilderName('Build-')
+  except ValueError:
+    pass
+
+  try:
+    api.builder_name_schema.DictForBuilderName(
+        'Build-Ubuntu-Clang-x64-Release-Android-Bogus')
+  except ValueError:
+    pass
+
+  try:
+    api.builder_name_schema.DictForBuilderName(
+        'Bogus-Ubuntu-Clang-x64-Release-Android')
+  except ValueError:
+    pass
+
 
 def GenTests(api):
   yield api.test('test')
index 28a5d1fa103c53913e95034aff0d32d30addb1a6..b5b739549b3ea8fe1f7bc9d0d7c4b021a0e5336d 100644 (file)
@@ -128,10 +128,10 @@ class SkiaApi(recipe_api.RecipeApi):
     # TODO(rmistry): Remove the below block after there is a solution for
     #                crbug.com/616443
     entries_file = self.m.vars.checkout_root.join('.gclient_entries')
-    if self.m.path.exists(entries_file):
+    if self.m.path.exists(entries_file) or self._test_data.enabled:
       self.m.file.remove('remove %s' % entries_file,
                          entries_file,
-                         infra_step=True)  # pragma: no cover
+                         infra_step=True)
 
     if self.m.vars.need_chromium_checkout:
       chromium = gclient_cfg.solutions.add()
index 64b600d718724eb2d5b0afef10525c9c6c6ad55a..55faf1be39240aa0a6f3760a1a886dcf305765ee 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "git",
index d22609abb3c187691d20332014e4019a28e6b25a..e12a34c6c1c8e3ef2c372c49aaa74adc0e6b40e1 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/flutter/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/flutter/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index df49c7e4b56d4f0804099cccb8b84f84710baf13..d974a0003c154823347632351277a9dd19388ff7 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index c831dab09681193ce0862386a18621c0b2dc85de..7f676bee7a14cbe89df99aaf8e4a73f39361031c 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_C:\\_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_C:\\_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index a61110f9c9cba851d048eaf4f123926430ccc8c7..22a4487b93d002cb80923df215041a0d195b250a 100644 (file)
@@ -111,7 +111,7 @@ class DefaultFlavorUtils(object):
       raise ValueError('For builders who do not have attached devices, copying '
                        'from host to device is undefined and only allowed if '
                        'host_path and device_path are the same (%s vs %s).' % (
-                       str(host_dir), str(device_dir)))  # pragma: no cover
+                       str(host_dir), str(device_dir)))
 
   def copy_directory_contents_to_host(self, device_dir, host_dir):
     """Like shutil.copytree(), but for copying from a connected device."""
@@ -121,7 +121,7 @@ class DefaultFlavorUtils(object):
       raise ValueError('For builders who do not have attached devices, copying '
                        'from device to host is undefined and only allowed if '
                        'host_path and device_path are the same (%s vs %s).' % (
-                       str(host_dir), str(device_dir)))  # pragma: no cover
+                       str(host_dir), str(device_dir)))
 
   def copy_file_to_device(self, host_path, device_path):
     """Like shutil.copyfile, but for copying to a connected device."""
@@ -131,7 +131,7 @@ class DefaultFlavorUtils(object):
       raise ValueError('For builders who do not have attached devices, copying '
                        'from host to device is undefined and only allowed if '
                        'host_path and device_path are the same (%s vs %s).' % (
-                       str(host_path), str(device_path)))  # pragma: no cover
+                       str(host_path), str(device_path)))
 
   def create_clean_device_dir(self, path):
     """Like shutil.rmtree() + os.makedirs(), but on a connected device."""
diff --git a/infra/bots/recipe_modules/flavor/example.expected/exceptions.json b/infra/bots/recipe_modules/flavor/example.expected/exceptions.json
new file mode 100644 (file)
index 0000000..7726ecb
--- /dev/null
@@ -0,0 +1,7 @@
+[
+  {
+    "name": "$result",
+    "recipe_result": null,
+    "status_code": 0
+  }
+]
\ No newline at end of file
index f29a78c42c96f4f51585619dfcd2659046e37dc3..87f91149aca9eaf03771f86acdbf08e8005fa7cd 100644 (file)
@@ -12,10 +12,28 @@ DEPS = [
 ]
 
 
+def test_exceptions(api):
+  try:
+    api.flavor.copy_directory_contents_to_device('src', 'dst')
+  except ValueError:
+    pass
+  try:
+    api.flavor.copy_directory_contents_to_host('src', 'dst')
+  except ValueError:
+    pass
+  try:
+    api.flavor.copy_file_to_device('src', 'dst')
+  except ValueError:
+    pass
+
+
 def RunSteps(api):
   api.vars.setup()
   api.flavor.setup()
 
+  if api.properties.get('is_testing_exceptions') == 'True':
+    return test_exceptions(api)
+
   api.flavor.compile('dm')
   api.flavor.copy_extra_build_products(api.vars.swarming_out_dir)
   assert api.flavor.out_dir != ''
@@ -82,6 +100,17 @@ def GenTests(api):
           stdout=api.raw_io.output('{"user_ip":"foo@127.0.0.1"}'))
     yield test
 
+  builder = 'Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release'
+  yield (
+      api.test('exceptions') +
+      api.properties(buildername=builder,
+                     repository='https://skia.googlesource.com/skia.git',
+                     revision='abc123',
+                     path_config='kitchen',
+                     swarm_out_dir='[SWARM_OUT_DIR]',
+                     is_testing_exceptions='True')
+  )
+
   builder = 'Perf-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Debug-Android'
   yield (
       api.test('failed_infra_step') +
index ecec9f9db960f3b7d26d50155982c82a2cd99c66..87700d1f54b179b0f329c72d733460dd83ac6822 100644 (file)
@@ -98,7 +98,7 @@ class SkiaStepApi(recipe_api.RecipeApi):
       if abort_on_failure or fail_build_on_failure:
         self._failed.append(e)
       if abort_on_failure:
-        raise  # pragma: no cover
+        raise
 
   def copy_build_products(self, src, dst):
     """Copy whitelisted build products from src to dst."""
index 250ca9cf17ad65ffb47241b72fe66a17ea76a8b1..b3b40db1280f92f9d9d73e60ddfe14c935f4d80f 100644 (file)
       "@@@STEP_FAILURE@@@"
     ]
   },
+  {
+    "cmd": [
+      "false"
+    ],
+    "env": {
+      "BUILDTYPE": "Release_x64",
+      "CHROME_HEADLESS": "1",
+      "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]",
+      "SKIA_OUT": "[CUSTOM_C:\\_B_WORK]/skia/out/Build-Win-MSVC-x86_64-Release-Vulkan"
+    },
+    "name": "fail again",
+    "~followup_annotations": [
+      "step returned non-zero exit code: 1",
+      "@@@STEP_FAILURE@@@"
+    ]
+  },
   {
     "cmd": [
       "echo",
   },
   {
     "name": "$result",
-    "reason": "Failed build steps: fail, retry fail, retry fail (attempt 2), retry fail (attempt 3), retry fail (attempt 4), retry fail (attempt 5), retry success, retry success (attempt 2)",
+    "reason": "Failed build steps: fail, fail again, retry fail, retry fail (attempt 2), retry fail (attempt 3), retry fail (attempt 4), retry fail (attempt 5), retry success, retry success (attempt 2)",
     "recipe_result": null,
     "status_code": 1
   }
index fb61b4884607dbadc27f2c47ec38ac5b240a6647..dd4ddcb7ec728d1c6404c1f4b6840f735f9ef008 100644 (file)
@@ -18,9 +18,13 @@ def myfunc(api, i):
 
 def RunSteps(api):
   api.vars.setup()
-  api.run(api.step, 'fail', cmd=['false'], abort_on_failure=False)
+  try:
+    api.run(api.step, 'fail', cmd=['false'])
+  except api.step.StepFailure:
+    pass
+  api.run(api.step, 'fail again', cmd=['false'], abort_on_failure=False)
   api.run(api.step, 'do a thing', cmd=['echo', 'do the thing'])
-  assert len(api.run.failed_steps) == 1
+  assert len(api.run.failed_steps) == 2
 
   # Run once.
   for i in range(10):
@@ -59,6 +63,7 @@ def GenTests(api):
                      path_config='kitchen',
                      swarm_out_dir='[SWARM_OUT_DIR]') +
       api.step_data('fail', retcode=1) +
+      api.step_data('fail again', retcode=1) +
       api.step_data('retry fail', retcode=1) +
       api.step_data('retry fail (attempt 2)', retcode=1) +
       api.step_data('retry fail (attempt 3)', retcode=1) +
index c040bc8abcf1c1695e8b880b1930e5075868b1f7..81b05e0f82e40dc689c6f0102f319aaa6a81d9dd 100644 (file)
@@ -89,7 +89,7 @@ class SkiaSwarmingApi(recipe_api.RecipeApi):
       '--isolated', isolated_path,
       '--config-variable', 'OS', os_type,
     ]
-    if blacklist:  # pragma: no cover
+    if blacklist:
       for b in blacklist:
         isolate_args.extend(['--blacklist', b])
     for k, v in extra_variables.iteritems():
@@ -163,7 +163,7 @@ class SkiaSwarmingApi(recipe_api.RecipeApi):
           hard_timeout if hard_timeout else DEFAULT_TASK_TIMEOUT)
       swarming_task.io_timeout = (
           io_timeout if io_timeout else DEFAULT_IO_TIMEOUT)
-      if extra_args:  # pragma: no cover
+      if extra_args:
         swarming_task.extra_args = extra_args
       revision = self.m.properties.get('revision')
       if revision:
index 310d8284352b4a6113f9a98dea432aa09f9c1a63..18ef5f4ae306cabd6a7cb5e1c7e375381f4fc3b5 100644 (file)
       "python",
       "-u",
       "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
-      "{\n    \"args\": [\n        \"--isolate\", \n        \"isolate_path\", \n        \"--isolated\", \n        \"[START_DIR]/swarming_temp_dir/skia-task-task.isolated\", \n        \"--config-variable\", \n        \"OS\", \n        \"linux\", \n        \"--extra-variable\", \n        \"myvar\", \n        \"myval\"\n    ], \n    \"dir\": \"isolate_dir\", \n    \"version\": 1\n}",
+      "{\n    \"args\": [\n        \"--isolate\", \n        \"isolate_path\", \n        \"--isolated\", \n        \"[START_DIR]/swarming_temp_dir/skia-task-task.isolated\", \n        \"--config-variable\", \n        \"OS\", \n        \"linux\", \n        \"--blacklist\", \n        \"*.pyc\", \n        \"--extra-variable\", \n        \"myvar\", \n        \"myval\"\n    ], \n    \"dir\": \"isolate_dir\", \n    \"version\": 1\n}",
       "[START_DIR]/swarming_temp_dir/task.isolated.gen.json"
     ],
     "name": "Write task.isolated.gen.json"
       "revision:abc123",
       "--tag",
       "stepname:task-4",
-      "[dummy hash for task-4]"
+      "[dummy hash for task-4]",
+      "--",
+      "--extra"
     ],
     "infra_step": true,
     "name": "[trigger] task-4",
       "revision:abc123",
       "--tag",
       "stepname:task-2",
-      "[dummy hash for task-2]"
+      "[dummy hash for task-2]",
+      "--",
+      "--extra"
     ],
     "infra_step": true,
     "name": "[trigger] task-2",
       "revision:abc123",
       "--tag",
       "stepname:task-3",
-      "[dummy hash for task-3]"
+      "[dummy hash for task-3]",
+      "--",
+      "--extra"
     ],
     "infra_step": true,
     "name": "[trigger] task-3",
       "revision:abc123",
       "--tag",
       "stepname:task-0",
-      "[dummy hash for task-0]"
+      "[dummy hash for task-0]",
+      "--",
+      "--extra"
     ],
     "infra_step": true,
     "name": "[trigger] task-0",
       "revision:abc123",
       "--tag",
       "stepname:task-1",
-      "[dummy hash for task-1]"
+      "[dummy hash for task-1]",
+      "--",
+      "--extra"
     ],
     "infra_step": true,
     "name": "[trigger] task-1",
index d862c480a6a401ca8bde9d8b7db010cb0a329efd..b248410c5b97b7375f6d6f708d31fd88cecd9f48 100644 (file)
@@ -14,11 +14,12 @@ DEPS = [
 def RunSteps(api):
   api.swarming.setup('mydir', swarming_rev='abc123')
   api.swarming.create_isolated_gen_json(
-      'isolate_path', 'isolate_dir', 'linux', 'task', {'myvar': 'myval'})
+      'isolate_path', 'isolate_dir', 'linux', 'task', {'myvar': 'myval'},
+      blacklist=['*.pyc'])
   tasks_to_hashes = api.swarming.batcharchive(targets=[
       'task-%s' % num for num in range(5)])
   tasks = api.swarming.trigger_swarming_tasks(
-      tasks_to_hashes, dimensions={'os': 'Linux'})
+      tasks_to_hashes, dimensions={'os': 'Linux'}, extra_args=['--extra'])
   for t in tasks:
     api.swarming.collect_swarming_task(t)
 
index ad2f3e95e63617d15ebe5ad945209040ba8e99a4..d0621c40b2f5db96ca3f775b2599868707807b22 100644 (file)
@@ -94,7 +94,7 @@ class SkiaVarsApi(recipe_api.RecipeApi):
     if 'CommandBuffer' in self.builder_name:
       self.need_chromium_checkout = True
       self.gclient_env['GYP_CHROMIUM_NO_ACTION'] = '0'
-    if 'RecreateSKPs' in self.builder_name:  # pragma: no cover
+    if 'RecreateSKPs' in self.builder_name:
       self.need_chromium_checkout = True
       self.gclient_env['CPPFLAGS'] = (
           '-DSK_ALLOW_CROSSPROCESS_PICTUREIMAGEFILTERS=1')
diff --git a/infra/bots/recipe_modules/vars/example.expected/Build-Mac-Clang-x86_64-Debug-CommandBuffer.json b/infra/bots/recipe_modules/vars/example.expected/Build-Mac-Clang-x86_64-Debug-CommandBuffer.json
new file mode 100644 (file)
index 0000000..4594f9e
--- /dev/null
@@ -0,0 +1,35 @@
+[
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
+    ],
+    "name": "get swarming bot id",
+    "stdout": "/path/to/tmp/",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
+    ],
+    "name": "get swarming task id",
+    "stdout": "/path/to/tmp/",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
+  {
+    "name": "$result",
+    "recipe_result": null,
+    "status_code": 0
+  }
+]
\ No newline at end of file
diff --git a/infra/bots/recipe_modules/vars/example.expected/Build-Win-MSVC-x86_64-Release-Vulkan.json b/infra/bots/recipe_modules/vars/example.expected/Build-Win-MSVC-x86_64-Release-Vulkan.json
new file mode 100644 (file)
index 0000000..4594f9e
--- /dev/null
@@ -0,0 +1,35 @@
+[
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
+    ],
+    "name": "get swarming bot id",
+    "stdout": "/path/to/tmp/",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
+    ],
+    "name": "get swarming task id",
+    "stdout": "/path/to/tmp/",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
+  {
+    "name": "$result",
+    "recipe_result": null,
+    "status_code": 0
+  }
+]
\ No newline at end of file
index 6dc18a06087a03c7dbe9831b294e34f07ee95f8e..be15b063a848342006a5a4d39946cab53dc9496e 100644 (file)
@@ -20,26 +20,27 @@ def RunSteps(api):
   assert len(info) == 4  # Make pylint happy.
 
 
-def GenTests(api):
-  buildername = 'Build-Win-MSVC-x86_64-Release-Vulkan'
-  yield (
-      api.test('win') +
-      api.properties(buildername=buildername,
-                     repository='https://skia.googlesource.com/skia.git',
-                     revision='abc123',
-                     path_config='kitchen',
-                     swarm_out_dir='[SWARM_OUT_DIR]')
-  )
+TEST_BUILDERS = [
+  'Build-Mac-Clang-x86_64-Debug-CommandBuffer',
+  'Build-Ubuntu-GCC-x86_64-Release-Flutter_Android',
+  'Build-Ubuntu-GCC-x86_64-Release-PDFium',
+  'Build-Win-MSVC-x86_64-Release-Vulkan',
+  'Housekeeper-Weekly-RecreateSKPs',
+  'Perf-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug',
+  'Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-ASAN',
+]
 
-  buildername = 'Build-Mac-Clang-x86_64-Debug-CommandBuffer'
-  yield (
-      api.test('command_buffer') +
-      api.properties(buildername=buildername,
-                     repository='https://skia.googlesource.com/skia.git',
-                     revision='abc123',
-                     path_config='kitchen',
-                     swarm_out_dir='[SWARM_OUT_DIR]') 
-  )
+
+def GenTests(api):
+  for buildername in TEST_BUILDERS:
+    yield (
+        api.test(buildername) +
+        api.properties(buildername=buildername,
+                       repository='https://skia.googlesource.com/skia.git',
+                       revision='abc123',
+                       path_config='kitchen',
+                       swarm_out_dir='[SWARM_OUT_DIR]')
+    )
 
   buildername = 'Test-Win10-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug'
   yield (
@@ -56,53 +57,3 @@ def GenTests(api):
           gerrit_url='https://skia-review.googlesource.com/',
       )
   )
-
-  builder = 'Housekeeper-Weekly-RecreateSKPs'
-  yield (
-      api.test(builder) +
-      api.properties(buildername=builder,
-                     repository='https://skia.googlesource.com/skia.git',
-                     revision='abc123',
-                     path_config='kitchen',
-                     swarm_out_dir='[SWARM_OUT_DIR]')
-  )
-
-  builder = 'Perf-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug'
-  yield (
-      api.test(builder) +
-      api.properties(buildername=builder,
-                     repository='https://skia.googlesource.com/skia.git',
-                     revision='abc123',
-                     path_config='kitchen',
-                     swarm_out_dir='[SWARM_OUT_DIR]')
-  )
-
-  builder = 'Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-ASAN'
-  yield (
-      api.test(builder) +
-      api.properties(buildername=builder,
-                     repository='https://skia.googlesource.com/skia.git',
-                     revision='abc123',
-                     path_config='kitchen',
-                     swarm_out_dir='[SWARM_OUT_DIR]')
-  )
-
-  builder = 'Build-Ubuntu-GCC-x86_64-Release-PDFium'
-  yield (
-      api.test(builder) +
-      api.properties(buildername=builder,
-                     repository='https://skia.googlesource.com/skia.git',
-                     revision='abc123',
-                     path_config='kitchen',
-                     swarm_out_dir='[SWARM_OUT_DIR]')
-  )
-
-  builder = 'Build-Ubuntu-GCC-x86_64-Release-Flutter_Android'
-  yield (
-      api.test(builder) +
-      api.properties(buildername=builder,
-                     repository='https://skia.googlesource.com/skia.git',
-                     revision='abc123',
-                     path_config='kitchen',
-                     swarm_out_dir='[SWARM_OUT_DIR]')
-  )
index 326480c3b4485cfe2d71ad079fc05646b594abc3..7d4fde94eadc7d54bfae8e751b44229feb6cfad9 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 05e3baf973edf15e6354a8a9351d159bac6d0832..f6b7ec6bc9e7320344b6fda8e9208392723664b7 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 015f2e3d1018eb3d619c5b7ca60d3714c7f2badf..5caab67d73c3c36754b574f55d157787264512e7 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 2d6a0427bf9a5a6ba12229706f56f65361df8e44..b6f31741e7fd2ea13870fe402801df14e6b420f3 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 45b44ac4605d9dc784599c60fc58b45e426f6fb0..82cc3dfd5efc1a40b2b44efa3459aab25a636cf9 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "git",
index f5fa0da7de724bff6a6f0c80b03a76b3e8a10e41..e7f552a6a5a3e7b362bda51d7a2eae97aa000c4b 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 1e7709472d1129dc9dbeac3efd35a8ce8adafefe..b9fff8cd120dc917d24167c3fa1e218cb848dbb3 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 21d92ca8e4e8418e2c3708403f55bb8f3f583758..2f07fd8fbb34ab8c8a7947d6c257bd6aa95e928d 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index e2c5df1b8693f28f08b7a75d35a399610a0a28f1..eed82fa14701b3f9cfd36cc60b52f683f8dabbf7 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 09826ed28ce6620afa5da8dde2b96e4596d04013..9a117f74cd4a703aa265bff698fa2e1390a5af86 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 8cee0450b43341e2cdfd8b0178452cc677584a5f..fe5b8b5abceb5c53b94968087cd792c45a335c9e 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 1de494a6c1b79fc7e21aa8af33d3ac01fee832ca..6332f9d22ca3ed675913cc6e5b6b51b66c64126f 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index d1804c3094f13c4b1b215c60de692bf08f65f122..ddbda37c966452f83a3109a2601ab0b0482bfab0 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index f1c80cabcc314e91606ef50631a0a2f57022857a..ee8c14d817b00c9fecb057d39f14df1cde478b65 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index b51130bb2e4c5de08b98ec06a818d2d1ce89cbc3..c4e8c46d4e7b2c264a444793c5c8e9f7c5b431f2 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index da92e552d61e8eb4a226ab376a94c4a73dbd6a5a..e90051d76e8d22ce15ec55d70ca7311170687522 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 727343534fe35c3910f7477033c75d30bd22a7e2..269555afc594d335da5bb914075d5e2bf68aa478 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index bedd440caa75ff556660339f262c47497dd6ccc3..4fd8f213c2dd06c3a0ed2dfa18e036706147f725 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 151d680d5d9432f6d53adaefc314fbfb05617dae..91e46c5540a56297a3c2c531da8efb748f27ce8c 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index b720f7ed0a38b6b987fada6f92c75f651f0e46cc..b75f7dbf0393b75161ecbfdbedd54b63f0946f36 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 17b9d8f2985fbc9fc7a039e267de666ff77b7532..5b85568dff87e7c320fc0c9dd6073da895b26072 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index cdee3af4b9e78098a4cb2333f01e546220fd953d..73181c3f0e276a1e67f18a545d526bdb90326c9c 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index cd686bbc3f1e05073db1d646ef07e7daa8c0f26b..567c94fa886831845021bfd5d39d83c8e563361e 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 0be40aaaa41b371bc455c6f4d78a3a52920220b2..68550c3289c900d03e8310c04c5688a76eaddf96 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index dd4389f2a540454d861f1da1e07feee36a76997b..59c05fd800a777e996c6f004bf6778a6048806b6 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/flutter/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/flutter/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index c515ae388667aa09b412609e4830179a230eb5ca..7d68603bfd610cc85ec3c7a4ffc42c8785a3059e 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index a24b02f8f6846ce882b3c20f4950a7fa4faf24ae..73ff1102d8309cc8bfbe5fbf8041bb72cde90d63 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 26281de585366978f38b5097ddd95cb7dc1948c3..2cbbcc670ecf24ee53e1c6353771e88c46bcda5b 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index e35c0447f62269948aaf7c79a3bfb297c6e83c44..3c43fb1362cc09719e09b2aee0655e7d71198900 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 7247aab9134f4812485525dbc85dcb699b34364a..c56e92a224d8df4563784d902bb61733264f0b6e 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_C:\\_B_WORK]\\.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_C:\\_B_WORK]\\.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 5d3c02a4a98d925a46becd26b297f5e87988fec0..91dfc37f04c52973815badb049925e989d6f3e7e 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_C:\\_B_WORK]\\.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_C:\\_B_WORK]\\.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index afad99622f5f49530a901cf1ba8b09da3ad19fb3..a0c48d84b79e3e3dd0e33ded4af2ce7983e1c289 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_C:\\_B_WORK]\\.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_C:\\_B_WORK]\\.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 52236f984f223ac053a0e82928026956818b377c..b354814737f5e9bdd019ee085ba531c68ce1434c 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_C:\\_B_WORK]\\.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_C:\\_B_WORK]\\.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index d00e4dd39b2f5cf5da3d10db2576b3bafd3f5232..33146e86f23cf989501d2d412cca12ea63985402 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_C:\\_B_WORK]\\.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_C:\\_B_WORK]\\.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index ea1a48fbb53bd8d782b905c63de5f915ff2ea6fe..ff6c279f07936d59f54a57ac5bb609a8965011ee 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_C:\\_B_WORK]\\.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_C:\\_B_WORK]\\.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 2ee72a9c8f46cdb3f3569f49eac037850a7aa716..b7354506ab9ac2eebd82e1fed15c07b6a279d4fc 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_C:\\_B_WORK]\\.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_C:\\_B_WORK]\\.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 1e05e269be1c38700a9a856987db92832706bd6d..ddba2f0092067853b9744d07a525cd2e0dd9a215 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_C:\\_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_C:\\_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index ebcfe63133e4886a3d58437afca264a05a68276f..d9d86a2655b64190d2af81a35c092da778622591 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/flutter/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/flutter/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index c86a7c4055e5b2011771b440bebc17322060db09..821988490a7d9e47e13a0505ad74d6fd2d8ad6bf 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index e3a384eaadfe03bad3257603e3dea2b25a4365cc..470439e37619e9c709dd0d30b64cfa3657cf5732 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_C:\\_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_C:\\_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index eb2c940d1d0f42a059b972e0425081eb1c645b22..1bd123f4d0dce463574ed24cb172625251e4e3ca 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 5d8c30724c15a4934d37d5ce5888278b0ead037a..e328227446e1bc99f572d71dcf3cd312d6f5b945 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 5eff72a1e16677b4610943a5a79f04eaabe9d827..eda05111850d24ad1f2cb7846cab32c45a8bd24f 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 88d3d04f8866c9571ea3d9f628a90e49fa76fc59..38d53aea7966833d8eaa699dd50bb068074b7e3f 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 10fab8ac609a6436dbde3866aba08ac2f94ef23c..f49c40e7f089b1e3465f4da22d9735d1a05c3e6d 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index d5be990eb06678c48b7f5ba1275247e5a1d01bc2..cc399d08072f6ffd3fa3135f2562bd74b3afb3a4 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 3d3e91ca31d81e92a931e953e2dfd77d6ae0ff7b..718176690a26e43cb9bf99046595abebaf8771aa 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 4901eca1b9ee9e21d24064a14169abf40ec049bb..51c4f5af1c9d6647d1ea01cbea9e287d421c21fe 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 01630a53aba6cc1ba11b6f9c09169c4064b840f7..6a3db874ccea039f36a793111a6419c852688631 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index e9ef0d6390bf3b9fbb5d17a26d0f291849fe5ef9..22b7ce7dd6abde6ca49fa7fa84c69a7c2c812d14 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 85ea0e7bbbbefc3c7a31ac063ecf125f91e94994..a3988ab5e95e90dd20a02e5e5c307462ce84c0e4 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index f97538376b6a4568f43eb4d5d1a343668f345133..21bc5128bf6f47a952eb2bbaaf1d49e0675de64e 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 459ab535caefce57b4aa2bed557d28eac37839cc..74783498cb7b7523098051ddda63a00759fd5b15 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 844ea3411034db0c0b41ee9731c2b33193f7f1af..46c1da2637b139c66a91a2904e47fb50c034d745 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 4911cece293ffbc7d0ad4e9af0ba3b21da79eabb..f835a0769d04d0ec79aadc93a97ce72f403869ab 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 5e4a5ea9f45a577bc76f631daacc0134258a02c2..cdfe925622fb3c100d992bb90397a138c2ed4934 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 3d09be9eb764ff3383f14c5787e02f8341c38f12..3b433f72bd126433ed6543fa8a7e9210990238e8 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "python",
index 90b6d061844522eb065684b66707ed59643ea01a..f36b3cdfd07b0e7c82426fc8b8b8de711c919aee 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "git",
index 79b0bbea96e2e0ad9544e7f6894cd2068daa1668..1ed75f14091fedf8f7f6a1d96ff451360ee46b27 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "git",
index f72bf695419060581144534ca9f17b95f6d95e78..5ab4fc3767b3ca985be7d6ad794fdd54d2055aad 100644 (file)
     "infra_step": true,
     "name": "git clean"
   },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport os\nimport sys\nos.remove(sys.argv[1])\n",
+      "[CUSTOM_/_B_WORK]/.gclient_entries"
+    ],
+    "infra_step": true,
+    "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@os.remove(sys.argv[1])@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
   {
     "cmd": [
       "git",