[recipes] remove is_luci specification

This is always True now.

Bug: 1128847
Change-Id: Ief951e9312ea8bd13c98b4bbc87c18d7307bb43a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2413667
Reviewed-by: Andrii Shyshkalov <tandrii@google.com>
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
diff --git a/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json b/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json
deleted file mode 100644
index 5e100af..0000000
--- a/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json
+++ /dev/null
@@ -1,117 +0,0 @@
-[
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
-      "--spec-path",
-      "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]",
-      "--revision_mapping_file",
-      "{\"got_angle_revision\": \"src/third_party/angle\", \"got_cr_revision\": \"src\", \"got_revision\": \"src\", \"got_v8_revision\": \"src/v8\"}",
-      "--git-cache-dir",
-      "[CACHE]/git",
-      "--cleanup-dir",
-      "[CLEANUP]/bot_update",
-      "--output_json",
-      "/path/to/tmp/json",
-      "--revision",
-      "src@2d72510e447ab60a9728aeea2362d8be2cbd7789",
-      "--refs",
-      "refs/heads/master",
-      "--disable-syntax-validation"
-    ],
-    "env": {
-      "GIT_HTTP_LOW_SPEED_LIMIT": "102400",
-      "GIT_HTTP_LOW_SPEED_TIME": "300"
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "infra_step": true,
-    "name": "bot_update (without patch)",
-    "~followup_annotations": [
-      "@@@STEP_TEXT@Some step text@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"did_run\": true, @@@",
-      "@@@STEP_LOG_LINE@json.output@  \"fixed_revisions\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"src\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  \"manifest\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"src\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/src.git\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }, @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"src/third_party/angle\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/src/third_party/angle.git\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }, @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"src/v8\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/src/v8.git\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  \"patch_failure\": false, @@@",
-      "@@@STEP_LOG_LINE@json.output@  \"patch_root\": \"src\", @@@",
-      "@@@STEP_LOG_LINE@json.output@  \"properties\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"got_angle_revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"got_angle_revision_cp\": \"refs/heads/master@{#297276}\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"got_cr_revision\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"got_cr_revision_cp\": \"refs/heads/master@{#170242}\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"got_revision\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"got_revision_cp\": \"refs/heads/master@{#170242}\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"got_v8_revision\": \"801ada225ddc271c132c3a35f03975671d43e399\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"got_v8_revision_cp\": \"refs/heads/master@{#43426}\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  \"root\": \"src\", @@@",
-      "@@@STEP_LOG_LINE@json.output@  \"source_manifest\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"directories\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"src\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/src.git\", @@@",
-      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\"@@@",
-      "@@@STEP_LOG_LINE@json.output@        }@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"src/third_party/angle\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/src/third_party/angle.git\", @@@",
-      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
-      "@@@STEP_LOG_LINE@json.output@        }@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"src/v8\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/src/v8.git\", @@@",
-      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
-      "@@@STEP_LOG_LINE@json.output@        }@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    }, @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"version\": 0@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  \"step_text\": \"Some step text\"@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@SET_BUILD_PROPERTY@got_angle_revision@\"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
-      "@@@SET_BUILD_PROPERTY@got_angle_revision_cp@\"refs/heads/master@{#297276}\"@@@",
-      "@@@SET_BUILD_PROPERTY@got_cr_revision@\"2d72510e447ab60a9728aeea2362d8be2cbd7789\"@@@",
-      "@@@SET_BUILD_PROPERTY@got_cr_revision_cp@\"refs/heads/master@{#170242}\"@@@",
-      "@@@SET_BUILD_PROPERTY@got_revision@\"2d72510e447ab60a9728aeea2362d8be2cbd7789\"@@@",
-      "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#170242}\"@@@",
-      "@@@SET_BUILD_PROPERTY@got_v8_revision@\"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
-      "@@@SET_BUILD_PROPERTY@got_v8_revision_cp@\"refs/heads/master@{#43426}\"@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "set_output_gitiles_commit",
-    "~followup_annotations": [
-      "@@@SET_BUILD_PROPERTY@$recipe_engine/buildbucket/output_gitiles_commit@{\"host\": \"fake.org\", \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\", \"position\": 170242, \"project\": \"src\", \"ref\": \"refs/heads/master\"}@@@"
-    ]
-  },
-  {
-    "name": "$result"
-  }
-]
\ No newline at end of file
diff --git a/recipes/recipe_modules/bot_update/examples/full.py b/recipes/recipe_modules/bot_update/examples/full.py
index 500bef1..5503a42 100644
--- a/recipes/recipe_modules/bot_update/examples/full.py
+++ b/recipes/recipe_modules/bot_update/examples/full.py
@@ -126,11 +126,6 @@
   )
 
   yield (
-      api.test('basic_luci') +
-      ci_build() +
-      api.runtime(is_experimental=False, is_luci=True)
-  )
-  yield (
       api.test('resolve_chromium_fixed_version') +
       ci_build() +
       api.properties(resolve_chromium_fixed_version=True)
diff --git a/recipes/recipe_modules/depot_tools/api.py b/recipes/recipe_modules/depot_tools/api.py
index bed5357..a6e440c 100644
--- a/recipes/recipe_modules/depot_tools/api.py
+++ b/recipes/recipe_modules/depot_tools/api.py
@@ -60,16 +60,12 @@
       with api.depot_tools.on_path():
         # run some steps
     """
-    # On buildbot we have to put this on the FRONT of path, to combat the
-    # 'automatic' depot_tools. However, on LUCI, there is no automatic
-    # depot_tools, so it's safer to put it at the END of path, where it won't
-    # accidentally override e.g. python, vpython, etc.
-    key = 'env_prefixes'
-    if self.m.runtime.is_luci:
-      key = 'env_suffixes'
 
     # By default Depot Tools do not auto update on the bots.
     # (crbug/1090603)
-    with self.m.context(**{key: {'PATH': [self.root],
-                                 'DEPOT_TOOLS_UPDATE' : '0'}}):
+    with self.m.context(
+        **{'env_suffixes': {
+            'PATH': [self.root],
+            'DEPOT_TOOLS_UPDATE': '0'
+        }}):
       yield
diff --git a/recipes/recipe_modules/depot_tools/examples/full.expected/basic_luci.json b/recipes/recipe_modules/depot_tools/examples/full.expected/basic_luci.json
deleted file mode 100644
index 0826600..0000000
--- a/recipes/recipe_modules/depot_tools/examples/full.expected/basic_luci.json
+++ /dev/null
@@ -1,83 +0,0 @@
-[
-  {
-    "cmd": [
-      "ls",
-      "RECIPE_REPO[depot_tools]"
-    ],
-    "name": "root"
-  },
-  {
-    "cmd": [
-      "ls",
-      "RECIPE_REPO[depot_tools]/download_from_google_storage.py"
-    ],
-    "name": "download_from_google_storage"
-  },
-  {
-    "cmd": [
-      "ls",
-      "RECIPE_REPO[depot_tools]/upload_to_google_storage.py"
-    ],
-    "name": "upload_to_google_storage"
-  },
-  {
-    "cmd": [
-      "ls",
-      "RECIPE_REPO[depot_tools]/cros"
-    ],
-    "name": "cros"
-  },
-  {
-    "cmd": [
-      "ls",
-      "RECIPE_REPO[depot_tools]/gn.py"
-    ],
-    "name": "gn_py_path"
-  },
-  {
-    "cmd": [
-      "ls",
-      "RECIPE_REPO[depot_tools]/gsutil.py"
-    ],
-    "name": "gsutil_py_path"
-  },
-  {
-    "cmd": [
-      "ls",
-      "RECIPE_REPO[depot_tools]/ninja"
-    ],
-    "name": "ninja_path"
-  },
-  {
-    "cmd": [
-      "ls",
-      "RECIPE_REPO[depot_tools]/autoninja"
-    ],
-    "name": "autoninja_path"
-  },
-  {
-    "cmd": [
-      "ls",
-      "RECIPE_REPO[depot_tools]/presubmit_support.py"
-    ],
-    "name": "presubmit_support_py_path"
-  },
-  {
-    "cmd": [
-      "echo",
-      "$PATH"
-    ],
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "on_path"
-  },
-  {
-    "name": "$result"
-  }
-]
\ No newline at end of file
diff --git a/recipes/recipe_modules/depot_tools/examples/full.py b/recipes/recipe_modules/depot_tools/examples/full.py
index 1ac214c..9a9e21d 100644
--- a/recipes/recipe_modules/depot_tools/examples/full.py
+++ b/recipes/recipe_modules/depot_tools/examples/full.py
@@ -47,9 +47,4 @@
 def GenTests(api):
   yield api.test('basic')
 
-  yield (
-    api.test('basic_luci')
-    + api.runtime(is_experimental=False, is_luci=True)
-  )
-
   yield api.test('win') + api.platform('win', 32)
diff --git a/recipes/recipe_modules/presubmit/tests/execute.py b/recipes/recipe_modules/presubmit/tests/execute.py
index 6508c65..eb90235 100644
--- a/recipes/recipe_modules/presubmit/tests/execute.py
+++ b/recipes/recipe_modules/presubmit/tests/execute.py
@@ -29,98 +29,83 @@
 
 
 def GenTests(api):
+  yield (api.test('success') + api.runtime(is_experimental=False) +
+         api.buildbucket.try_build(project='infra') + api.step_data(
+             'presubmit',
+             api.json.output({
+                 'errors': [],
+                 'notifications': [],
+                 'warnings': []
+             }),
+         ) + api.post_process(post_process.StatusSuccess) +
+         api.post_process(post_process.DropExpectation))
+
+  yield (api.test('cq_dry_run') + api.runtime(is_experimental=False) +
+         api.buildbucket.try_build(project='infra') + api.cq(dry_run=True) +
+         api.post_process(post_process.StatusSuccess) + api.post_process(
+             post_process.StepCommandContains, 'presubmit', ['--dry_run']) +
+         api.post_process(post_process.DropExpectation))
+
+  yield (api.test('skip_owners') + api.runtime(is_experimental=False) +
+         api.buildbucket.try_build(project='infra') +
+         api.properties(skip_owners=True) +
+         api.post_process(post_process.StatusSuccess) +
+         api.post_process(post_process.StepCommandContains, 'presubmit',
+                          ['--skip_canned', 'CheckOwners']) +
+         api.post_process(post_process.DropExpectation))
+
   yield (
-      api.test('success') +
-      api.runtime(is_experimental=False, is_luci=True) +
+      api.test('timeout') + api.runtime(is_experimental=False) +
       api.buildbucket.try_build(project='infra') +
-      api.step_data(
+      api.presubmit(timeout_s=600) + api.step_data(
           'presubmit',
-          api.json.output({'errors': [], 'notifications': [], 'warnings': []}),
-      ) +
-      api.post_process(post_process.StatusSuccess) +
-      api.post_process(post_process.DropExpectation)
-  )
-
-  yield (
-      api.test('cq_dry_run') +
-      api.runtime(is_experimental=False, is_luci=True) +
-      api.buildbucket.try_build(project='infra') +
-      api.cq(dry_run=True) +
-      api.post_process(post_process.StatusSuccess) +
-      api.post_process(post_process.StepCommandContains, 'presubmit', ['--dry_run']) +
-      api.post_process(post_process.DropExpectation)
-  )
-
-  yield (
-      api.test('skip_owners') +
-      api.runtime(is_experimental=False, is_luci=True) +
-      api.buildbucket.try_build(project='infra') +
-      api.properties(skip_owners=True) +
-      api.post_process(post_process.StatusSuccess) +
-      api.post_process(
-          post_process.StepCommandContains, 'presubmit', ['--skip_canned', 'CheckOwners']) +
-      api.post_process(post_process.DropExpectation)
-  )
-
-  yield (
-      api.test('timeout') +
-      api.runtime(is_experimental=False, is_luci=True) +
-      api.buildbucket.try_build(project='infra') +
-      api.presubmit(timeout_s=600) +
-      api.step_data(
-          'presubmit',
-          api.json.output({'errors': [], 'notifications': [], 'warnings': []}),
+          api.json.output({
+              'errors': [],
+              'notifications': [],
+              'warnings': []
+          }),
           times_out_after=1200,
-      ) +
-      api.post_process(post_process.StatusFailure) +
+      ) + api.post_process(post_process.StatusFailure) + api.post_process(
+          post_process.ResultReason,
+          (u'#### There are 0 error(s), 0 warning(s), and 0 notifications(s).'
+           ' Here are the errors:'
+           '\n\nTimeout occurred during presubmit step.')) +
+      api.post_process(post_process.DropExpectation))
+
+  yield (
+      api.test('failure') + api.runtime(is_experimental=False) +
+      api.buildbucket.try_build(project='infra') + api.step_data(
+          'presubmit',
+          api.json.output(
+              {
+                  'errors': [{
+                      'message': 'Missing LGTM',
+                      'long_text': 'Here are some suggested OWNERS: fake@',
+                      'items': [],
+                      'fatal': True
+                  }, {
+                      'message': 'Syntax error in fake.py',
+                      'long_text': 'Expected "," after item in list',
+                      'items': [],
+                      'fatal': True
+                  }],
+                  'notifications': [{
+                      'message': 'If there is a bug associated please add it.',
+                      'long_text': '',
+                      'items': [],
+                      'fatal': False
+                  }],
+                  'warnings': [{
+                      'message': 'Line 100 has more than 80 characters',
+                      'long_text': '',
+                      'items': [],
+                      'fatal': False
+                  }]
+              },
+              retcode=1)) + api.post_process(post_process.StatusFailure) +
       api.post_process(
           post_process.ResultReason,
-         (u'#### There are 0 error(s), 0 warning(s), and 0 notifications(s).'
-          ' Here are the errors:'
-          '\n\nTimeout occurred during presubmit step.')) +
-      api.post_process(post_process.DropExpectation)
-  )
-
-  yield (
-      api.test('failure') +
-      api.runtime(is_experimental=False, is_luci=True) +
-      api.buildbucket.try_build(project='infra') +
-      api.step_data('presubmit', api.json.output(
-          {
-            'errors': [
-              {
-                'message': 'Missing LGTM',
-                'long_text': 'Here are some suggested OWNERS: fake@',
-                'items': [],
-                'fatal': True
-              },
-              {
-                'message': 'Syntax error in fake.py',
-                'long_text': 'Expected "," after item in list',
-                'items': [],
-                'fatal': True
-              }
-            ],
-            'notifications': [
-              {
-                'message': 'If there is a bug associated please add it.',
-                'long_text': '',
-                'items': [],
-                'fatal': False
-              }
-            ],
-            'warnings': [
-              {
-                'message': 'Line 100 has more than 80 characters',
-                'long_text': '',
-                'items': [],
-                'fatal': False
-              }
-            ]
-          }, retcode=1)
-      ) +
-      api.post_process(post_process.StatusFailure) +
-      api.post_process(post_process.ResultReason, textwrap.dedent(u'''
+          textwrap.dedent(u'''
           #### There are 2 error(s), 1 warning(s), and 1 notifications(s). Here are the errors:
 
           **ERROR**
@@ -136,33 +121,28 @@
           ```
 
           #### To see notifications and warnings, look at the stdout of the presubmit step.
-        ''').strip()
-      ) +
-      api.post_process(post_process.DropExpectation)
-  )
+        ''').strip()) + api.post_process(post_process.DropExpectation))
 
   long_message = (u'Here are some suggested OWNERS:' +
     u'\nreallyLongFakeAccountNameEmail@chromium.org' * 10)
-  yield (
-      api.test('failure-long-message') +
-      api.runtime(is_experimental=False, is_luci=True) +
-      api.buildbucket.try_build(project='infra') +
-      api.step_data('presubmit', api.json.output(
-          {
-            'errors': [
-              {
-                'message': 'Missing LGTM',
-                'long_text': long_message,
-                'items': [],
-                'fatal': True
-              }
-            ],
-            'notifications': [],
-            'warnings': []
-          }, retcode=1)
-      ) +
-      api.post_process(post_process.StatusFailure) +
-      api.post_process(post_process.ResultReason, textwrap.dedent('''
+  yield (api.test('failure-long-message') + api.runtime(is_experimental=False) +
+         api.buildbucket.try_build(project='infra') + api.step_data(
+             'presubmit',
+             api.json.output(
+                 {
+                     'errors': [{
+                         'message': 'Missing LGTM',
+                         'long_text': long_message,
+                         'items': [],
+                         'fatal': True
+                     }],
+                     'notifications': [],
+                     'warnings': []
+                 },
+                 retcode=1)) + api.post_process(post_process.StatusFailure) +
+         api.post_process(
+             post_process.ResultReason,
+             textwrap.dedent('''
           #### There are 1 error(s), 0 warning(s), and 0 notifications(s). Here are the errors:
 
           **ERROR**
@@ -182,31 +162,26 @@
 
           **Error size > 450 chars, there are 2 more error(s) (15 total)**
           **The complete output can be found at the bottom of the presubmit stdout.**
-        ''').strip()
-      ) +
-      api.post_process(post_process.DropExpectation)
-  )
+        ''').strip()) + api.post_process(post_process.DropExpectation))
 
-  yield (
-      api.test('infra-failure') +
-      api.runtime(is_experimental=False, is_luci=True) +
-      api.buildbucket.try_build(project='infra') +
-      api.step_data('presubmit', api.json.output(
-          {
-            'errors': [
-              {
-                'message': 'Infra Failure',
-                'long_text': '',
-                'items': [],
-                'fatal': True
-              }
-            ],
-            'notifications': [],
-            'warnings': []
-          }, retcode=2)
-      ) +
-      api.post_process(post_process.StatusException) +
-      api.post_process(post_process.ResultReason, textwrap.dedent(u'''
+  yield (api.test('infra-failure') + api.runtime(is_experimental=False) +
+         api.buildbucket.try_build(project='infra') + api.step_data(
+             'presubmit',
+             api.json.output(
+                 {
+                     'errors': [{
+                         'message': 'Infra Failure',
+                         'long_text': '',
+                         'items': [],
+                         'fatal': True
+                     }],
+                     'notifications': [],
+                     'warnings': []
+                 },
+                 retcode=2)) + api.post_process(post_process.StatusException) +
+         api.post_process(
+             post_process.ResultReason,
+             textwrap.dedent(u'''
         #### There are 1 error(s), 0 warning(s), and 0 notifications(s). Here are the errors:
 
         **ERROR**
@@ -214,10 +189,7 @@
         Infra Failure
 
         ```
-        ''').strip()
-      ) +
-      api.post_process(post_process.DropExpectation)
-  )
+        ''').strip()) + api.post_process(post_process.DropExpectation))
 
   bug_msg = (
     'Something unexpected occurred'
@@ -226,22 +198,17 @@
     '/p/chromium/issues/entry?components='
     'Infra%3EClient%3EChrome&status=Untriaged)'
   )
-  yield (
-      api.test('failure-no-json') +
-      api.runtime(is_experimental=False, is_luci=True) +
-      api.buildbucket.try_build(project='infra') +
-      api.step_data('presubmit', api.json.output(None, retcode=1)) +
-      api.post_process(post_process.StatusException) +
-      api.post_process(post_process.ResultReason, bug_msg) +
-      api.post_process(post_process.DropExpectation)
-  )
+  yield (api.test('failure-no-json') + api.runtime(is_experimental=False) +
+         api.buildbucket.try_build(project='infra') +
+         api.step_data('presubmit', api.json.output(None, retcode=1)) +
+         api.post_process(post_process.StatusException) +
+         api.post_process(post_process.ResultReason, bug_msg) +
+         api.post_process(post_process.DropExpectation))
 
-  yield (
-      api.test('infra-failure-no-json') +
-      api.runtime(is_experimental=False, is_luci=True) +
-      api.buildbucket.try_build(project='infra') +
-      api.step_data('presubmit', api.json.output(None, retcode=2)) +
-      api.post_process(post_process.StatusException) +
-      api.post_process(post_process.ResultReason, bug_msg) +
-      api.post_process(post_process.DropExpectation)
-  )
+  yield (api.test('infra-failure-no-json') +
+         api.runtime(is_experimental=False) +
+         api.buildbucket.try_build(project='infra') +
+         api.step_data('presubmit', api.json.output(None, retcode=2)) +
+         api.post_process(post_process.StatusException) +
+         api.post_process(post_process.ResultReason, bug_msg) +
+         api.post_process(post_process.DropExpectation))
diff --git a/recipes/recipe_modules/presubmit/tests/prepare.py b/recipes/recipe_modules/presubmit/tests/prepare.py
index 83cc87b..fad1047 100644
--- a/recipes/recipe_modules/presubmit/tests/prepare.py
+++ b/recipes/recipe_modules/presubmit/tests/prepare.py
@@ -30,20 +30,14 @@
 
 
 def GenTests(api):
-  yield (
-      api.test('basic') +
-      api.runtime(is_experimental=False, is_luci=True) +
-      api.buildbucket.try_build(project='infra') +
-      api.post_process(post_process.StatusSuccess) +
-      api.post_process(post_process.DropExpectation)
-  )
+  yield (api.test('basic') + api.runtime(is_experimental=False) +
+         api.buildbucket.try_build(project='infra') +
+         api.post_process(post_process.StatusSuccess) +
+         api.post_process(post_process.DropExpectation))
 
-  yield (
-      api.test('runhooks') +
-      api.runtime(is_experimental=False, is_luci=True) +
-      api.buildbucket.try_build(project='infra') +
-      api.presubmit(runhooks=True) +
-      api.post_process(post_process.MustRun, 'gclient runhooks') +
-      api.post_process(post_process.StatusSuccess) +
-      api.post_process(post_process.DropExpectation)
-  )
+  yield (api.test('runhooks') + api.runtime(is_experimental=False) +
+         api.buildbucket.try_build(project='infra') +
+         api.presubmit(runhooks=True) +
+         api.post_process(post_process.MustRun, 'gclient runhooks') +
+         api.post_process(post_process.StatusSuccess) +
+         api.post_process(post_process.DropExpectation))