Add annotations to GenTests()
Change-Id: Ie75af5b2797dd9edd1e6346b91bbb333a98e5ffc
Reviewed-on: https://pigweed-review.googlesource.com/c/infra/recipes/+/201631
Pigweed-Auto-Submit: Rob Mohr <mohrr@google.com>
Reviewed-by: Ted Pudlik <tpudlik@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed-service-accounts.iam.gserviceaccount.com>
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
diff --git a/recipe_modules/bazel/tests/full.py b/recipe_modules/bazel/tests/full.py
index 4a56dbb..97da5c2 100644
--- a/recipe_modules/bazel/tests/full.py
+++ b/recipe_modules/bazel/tests/full.py
@@ -13,10 +13,12 @@
# the License.
"""Full test of environment module."""
+from typing import Generator
+
import dataclasses
from typing import Optional
from PB.recipe_modules.pigweed.bazel.tests.full import InputProperties
-from recipe_engine import config_types
+from recipe_engine import config_types, recipe_test_api
DEPS = [
'pigweed/bazel',
@@ -43,5 +45,5 @@
runner.ensure()
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield api.test('normal') + api.bazel.properties()
diff --git a/recipe_modules/build/tests/full.py b/recipe_modules/build/tests/full.py
index b1ed136..b1cdcfd 100644
--- a/recipe_modules/build/tests/full.py
+++ b/recipe_modules/build/tests/full.py
@@ -13,7 +13,10 @@
# the License.
"""Full test of build module."""
+from typing import Generator
+
from PB.recipe_modules.pigweed.build.tests.full import InputProperties
+from recipe_engine import recipe_test_api
DEPS = [
'pigweed/build',
@@ -35,7 +38,7 @@
api.build.download_from_cas(build, 'digest')
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield (
api.test('full')
+ api.properties(
diff --git a/recipe_modules/checkout/tests/git.py b/recipe_modules/checkout/tests/git.py
index 9f3433c..59aa845 100644
--- a/recipe_modules/checkout/tests/git.py
+++ b/recipe_modules/checkout/tests/git.py
@@ -13,10 +13,13 @@
# the License.
"""Full test of non-repo non-submodule functionality of checkout module."""
+from typing import Generator
+
from PB.go.chromium.org.luci.scheduler.api.scheduler.v1 import (
triggers as triggers_pb2,
)
from PB.recipe_modules.pigweed.checkout.tests.properties import InputProperties
+from recipe_engine import recipe_test_api
DEPS = [
'pigweed/checkout',
@@ -45,7 +48,7 @@
steplog('applied_changes', checkout.applied_changes())
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def properties(**kwargs):
kwargs.setdefault('remote', api.checkout.pigweed_repo)
kwargs.setdefault('branch', None)
diff --git a/recipe_modules/checkout/tests/repo.py b/recipe_modules/checkout/tests/repo.py
index 66cad50..41529e6 100644
--- a/recipe_modules/checkout/tests/repo.py
+++ b/recipe_modules/checkout/tests/repo.py
@@ -13,8 +13,10 @@
# the License.
"""Full test of repo functionality in checkout module."""
+from typing import Generator
+
from PB.recipe_modules.pigweed.checkout.tests.properties import InputProperties
-from recipe_engine import post_process
+from recipe_engine import post_process, recipe_test_api
DEPS = [
'pigweed/checkout',
@@ -41,7 +43,7 @@
checkout.snapshot_to_dir(api.path['start_dir'] / 'snapshot')
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
"""Create tests."""
def properties(**kwargs):
diff --git a/recipe_modules/checkout/tests/submodule.py b/recipe_modules/checkout/tests/submodule.py
index 62f398d..fcec70a 100644
--- a/recipe_modules/checkout/tests/submodule.py
+++ b/recipe_modules/checkout/tests/submodule.py
@@ -13,7 +13,10 @@
# the License.
"""Full test of submodule functionality of checkout module."""
+from typing import Generator
+
from PB.recipe_modules.pigweed.checkout.tests.properties import InputProperties
+from recipe_engine import recipe_test_api
DEPS = [
'pigweed/checkout',
@@ -33,7 +36,7 @@
checkout.snapshot_to_dir(api.path['start_dir'] / 'snapshot')
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def properties(**kwargs):
kwargs.setdefault('initialize_submodules', False)
kwargs.setdefault('remote', api.checkout.pigweed_repo_dot_git)
diff --git a/recipe_modules/ci_status/tests/exit_early_in_recipe_testing_if_failing.py b/recipe_modules/ci_status/tests/exit_early_in_recipe_testing_if_failing.py
index 6a921f1..be6d4b1 100644
--- a/recipe_modules/ci_status/tests/exit_early_in_recipe_testing_if_failing.py
+++ b/recipe_modules/ci_status/tests/exit_early_in_recipe_testing_if_failing.py
@@ -13,7 +13,9 @@
# the License.
"""Full test of ci_status.exit_early_in_recipe_testing_if_failing()."""
-from recipe_engine import post_process
+from typing import Generator
+
+from recipe_engine import post_process, recipe_test_api
DEPS = [
'fuchsia/builder_status',
@@ -34,7 +36,7 @@
api.step('continue', None)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def assert_continue():
return api.post_process(post_process.MustRun, "continue")
diff --git a/recipe_modules/ci_status/tests/transform_bucket_name.py b/recipe_modules/ci_status/tests/transform_bucket_name.py
index b0993f0..f487e00 100644
--- a/recipe_modules/ci_status/tests/transform_bucket_name.py
+++ b/recipe_modules/ci_status/tests/transform_bucket_name.py
@@ -13,10 +13,12 @@
# the License.
"""Test of ci_status.transform_bucket_name()."""
+from typing import Generator
+
from PB.recipe_modules.pigweed.ci_status.tests.transform_bucket_name import (
InputProperties,
)
-from recipe_engine import post_process
+from recipe_engine import post_process, recipe_test_api
DEPS = [
'pigweed/ci_status',
@@ -31,7 +33,7 @@
api.step(api.ci_status.transform_bucket_name(props.bucket_name), None)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def test(orig, expected):
return (
api.test(orig)
diff --git a/recipe_modules/cipd_upload/tests/full.py b/recipe_modules/cipd_upload/tests/full.py
index b09ec79..8504921 100644
--- a/recipe_modules/cipd_upload/tests/full.py
+++ b/recipe_modules/cipd_upload/tests/full.py
@@ -13,8 +13,9 @@
# the License.
"""Full test of cipd_upload module."""
-from recipe_engine.config import List
-from recipe_engine.recipe_api import Property
+from typing import Generator
+
+from recipe_engine import config, recipe_api, recipe_test_api
DEPS = [
'pigweed/cipd_upload',
@@ -24,15 +25,15 @@
]
PROPERTIES = {
- 'add_platform': Property(kind=bool, default=True),
- 'package_paths': Property(kind=List(str), default=()),
- 'package_root': Property(kind=str, default=None),
- 'path': Property(kind=str, default='foo/bar/baz'),
- 'repository': Property(
+ 'add_platform': recipe_api.Property(kind=bool, default=True),
+ 'package_paths': recipe_api.Property(kind=config.List(str), default=()),
+ 'package_root': recipe_api.Property(kind=str, default=None),
+ 'path': recipe_api.Property(kind=str, default='foo/bar/baz'),
+ 'repository': recipe_api.Property(
kind=str, default='https://pigweed.googlesource.com/pigweed/pigweed'
),
- 'search_tag_key': Property(kind=str, default='key'),
- 'search_tag_value': Property(kind=str, default='value'),
+ 'search_tag_key': recipe_api.Property(kind=str, default='key'),
+ 'search_tag_value': recipe_api.Property(kind=str, default='value'),
}
@@ -63,7 +64,7 @@
)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
"""Define tests."""
yield (
diff --git a/recipe_modules/cq_deps/tests/full.py b/recipe_modules/cq_deps/tests/full.py
index 21864db..22ef98e 100644
--- a/recipe_modules/cq_deps/tests/full.py
+++ b/recipe_modules/cq_deps/tests/full.py
@@ -13,8 +13,9 @@
# the License.
"""Full test of the cq_deps module."""
-from recipe_engine.config import List
-from recipe_engine.recipe_api import Property
+from typing import Generator
+
+from recipe_engine import config, recipe_api, recipe_test_api
DEPS = [
'pigweed/cq_deps',
@@ -23,8 +24,8 @@
]
PROPERTIES = {
- 'revision': Property(kind=str, default=None),
- 'topic': Property(kind=str, default=None),
+ 'revision': recipe_api.Property(kind=str, default=None),
+ 'topic': recipe_api.Property(kind=str, default=None),
}
@@ -44,7 +45,7 @@
pass
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield (
api.test('default')
+ api.properties(revision='b' * 40)
diff --git a/recipe_modules/default_timeout/tests/full.py b/recipe_modules/default_timeout/tests/full.py
index 2d8cb19..0ac55c7 100644
--- a/recipe_modules/default_timeout/tests/full.py
+++ b/recipe_modules/default_timeout/tests/full.py
@@ -13,10 +13,12 @@
# the License.
"""Full test of timeout module."""
+from typing import Generator
+
import datetime
from PB.recipe_modules.pigweed.pw_presubmit.tests.full import InputProperties
-from recipe_engine import post_process
+from recipe_engine import post_process, recipe_test_api
DEPS = [
'pigweed/checkout',
@@ -34,7 +36,7 @@
api.step(f'step{i}', [f'step{i}'])
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
"""Create tests."""
yield (
diff --git a/recipe_modules/environment/tests/full.py b/recipe_modules/environment/tests/full.py
index f93e006..d90e4af 100644
--- a/recipe_modules/environment/tests/full.py
+++ b/recipe_modules/environment/tests/full.py
@@ -14,10 +14,10 @@
"""Full test of environment module."""
import dataclasses
-from typing import Optional
+from typing import Generator, Optional
from PB.recipe_modules.pigweed.environment.tests.full import InputProperties
-from recipe_engine import config_types
+from recipe_engine import config_types, recipe_test_api
DEPS = [
'pigweed/environment',
@@ -62,7 +62,7 @@
pass
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield api.test('no-props')
yield (
diff --git a/recipe_modules/gerrit_comment/tests/full.py b/recipe_modules/gerrit_comment/tests/full.py
index 373e702..3d7b58a 100644
--- a/recipe_modules/gerrit_comment/tests/full.py
+++ b/recipe_modules/gerrit_comment/tests/full.py
@@ -14,12 +14,13 @@
"""Full test of gerrit_comment module."""
import datetime
+from typing import Generator
from PB.recipe_modules.pigweed.gerrit_comment.options import (
CommentBehavior,
Options,
)
-from recipe_engine import recipe_api
+from recipe_engine import recipe_api, recipe_test_api
DEPS = [
'pigweed/checkout',
@@ -78,7 +79,7 @@
)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
"""Create tests."""
yield (
diff --git a/recipe_modules/pipeline/tests/full.py b/recipe_modules/pipeline/tests/full.py
index 4817c4b..273ba91 100644
--- a/recipe_modules/pipeline/tests/full.py
+++ b/recipe_modules/pipeline/tests/full.py
@@ -13,7 +13,9 @@
# the License.
"""Full test of pipeline module."""
-from recipe_engine import post_process
+from typing import Generator
+
+from recipe_engine import post_process, recipe_test_api
DEPS = [
'pigweed/pipeline',
@@ -36,7 +38,7 @@
api.step(f'previous build {build}', None)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def ran(x):
return api.post_process(post_process.MustRun, x)
diff --git a/recipe_modules/pw_presubmit/tests/full.py b/recipe_modules/pw_presubmit/tests/full.py
index 269e157..b0c753b 100644
--- a/recipe_modules/pw_presubmit/tests/full.py
+++ b/recipe_modules/pw_presubmit/tests/full.py
@@ -16,6 +16,10 @@
import collections
import datetime
+from typing import Generator
+
+from recipe_engine import recipe_test_api
+
from PB.recipe_modules.pigweed.gerrit_comment.options import CommentBehavior
from PB.recipe_modules.pigweed.pw_presubmit.tests.full import InputProperties
@@ -59,7 +63,7 @@
_ = api.pw_presubmit.build_id(presubmit)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
"""Create tests."""
def properties(**kwargs):
diff --git a/recipe_modules/repo/examples/find_root.py b/recipe_modules/repo/examples/find_root.py
index 7ada3e1..787c517 100644
--- a/recipe_modules/repo/examples/find_root.py
+++ b/recipe_modules/repo/examples/find_root.py
@@ -3,6 +3,10 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+from typing import Generator
+
+from recipe_engine import recipe_test_api
+
DEPS = [
'pigweed/repo',
'recipe_engine/assertions',
@@ -34,5 +38,5 @@
api.assertions.assertEqual(expected, str(api.context.cwd))
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield api.test('tests')
diff --git a/recipe_modules/repo/examples/full.py b/recipe_modules/repo/examples/full.py
index d331ec0..a55c7a4 100644
--- a/recipe_modules/repo/examples/full.py
+++ b/recipe_modules/repo/examples/full.py
@@ -7,6 +7,10 @@
# https://chromium.googlesource.com/chromiumos/infra/recipes/+/HEAD/recipe_modules/repo/
# pylint: disable=missing-module-docstring
+from typing import Generator
+
+from recipe_engine import recipe_test_api
+
DEPS = [
'pigweed/repo',
'recipe_engine/assertions',
@@ -103,5 +107,5 @@
api.repo.start('with-projects', projects=['project'])
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield api.test('setup_repo')
diff --git a/recipe_modules/repo/examples/init_sync_retry.py b/recipe_modules/repo/examples/init_sync_retry.py
index e3fefbf..dfe9ed4 100644
--- a/recipe_modules/repo/examples/init_sync_retry.py
+++ b/recipe_modules/repo/examples/init_sync_retry.py
@@ -7,6 +7,10 @@
# https://chromium.googlesource.com/chromiumos/infra/recipes/+/HEAD/recipe_modules/repo/
# pylint: disable=missing-module-docstring
+from typing import Generator
+
+from recipe_engine import recipe_test_api
+
DEPS = [
'pigweed/repo',
]
@@ -17,7 +21,7 @@
api.repo.sync(attempts=2)
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield (
api.test('fail-pass')
+ api.step_data('repo sync', retcode=1)
diff --git a/recipe_modules/repo/examples/repo_retry_failure.py b/recipe_modules/repo/examples/repo_retry_failure.py
index f1a2aa0..505ee2a 100644
--- a/recipe_modules/repo/examples/repo_retry_failure.py
+++ b/recipe_modules/repo/examples/repo_retry_failure.py
@@ -7,6 +7,10 @@
# https://chromium.googlesource.com/chromiumos/infra/recipes/+/HEAD/recipe_modules/repo/
# pylint: disable=missing-module-docstring
+from typing import Generator
+
+from recipe_engine import recipe_test_api
+
DEPS = [
'pigweed/repo',
'recipe_engine/path',
@@ -33,7 +37,7 @@
return api.step_data(step_text, retcode=retcode)
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield (
api.test('repo_retry_failure', status='INFRA_FAILURE')
+ attempt_retry_repo(api, 1)
diff --git a/recipe_modules/repo/examples/repo_retry_success.py b/recipe_modules/repo/examples/repo_retry_success.py
index 6277139..143bd6c 100644
--- a/recipe_modules/repo/examples/repo_retry_success.py
+++ b/recipe_modules/repo/examples/repo_retry_success.py
@@ -7,6 +7,10 @@
# https://chromium.googlesource.com/chromiumos/infra/recipes/+/HEAD/recipe_modules/repo/
# pylint: disable=missing-module-docstring
+from typing import Generator
+
+from recipe_engine import recipe_test_api
+
DEPS = [
'pigweed/repo',
'recipe_engine/path',
@@ -30,7 +34,7 @@
return api.step_data(step_text, retcode=retcode)
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield (
api.test('repo_retry_success')
+ attempt_retry_repo(api, 1)
diff --git a/recipe_modules/repo/examples/timeout.py b/recipe_modules/repo/examples/timeout.py
index d642318..3d163ba 100644
--- a/recipe_modules/repo/examples/timeout.py
+++ b/recipe_modules/repo/examples/timeout.py
@@ -13,6 +13,10 @@
# the License.
# pylint: disable=missing-module-docstring
+from typing import Generator
+
+from recipe_engine import recipe_test_api
+
DEPS = [
'pigweed/repo',
]
@@ -27,7 +31,7 @@
)
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield (
api.test('timeout_persistent', status='INFRA_FAILURE')
+ api.step_data('repo init', times_out_after=20)
diff --git a/recipe_modules/roll_util/tests/labels.py b/recipe_modules/roll_util/tests/labels.py
index f5f2357..49caa6e 100644
--- a/recipe_modules/roll_util/tests/labels.py
+++ b/recipe_modules/roll_util/tests/labels.py
@@ -13,6 +13,10 @@
# the License.
"""Test of label functionality of roll_util."""
+from typing import Generator
+
+from recipe_engine import recipe_test_api
+
DEPS = [
'pigweed/roll_util',
'recipe_engine/step',
@@ -34,7 +38,7 @@
)
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield (
api.test('labels')
+ api.roll_util.properties(
diff --git a/recipe_modules/roll_util/tests/multiple_rolls.py b/recipe_modules/roll_util/tests/multiple_rolls.py
index 33fdfe3..a2d85e6 100644
--- a/recipe_modules/roll_util/tests/multiple_rolls.py
+++ b/recipe_modules/roll_util/tests/multiple_rolls.py
@@ -13,6 +13,10 @@
# the License.
"""Test of rolls of multiple repositories."""
+from typing import Generator
+
+from recipe_engine import recipe_test_api
+
DEPS = [
'pigweed/roll_util',
'recipe_engine/path',
@@ -60,7 +64,7 @@
pres.logs['message'] = message
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield (
api.test('single_commits')
+ api.roll_util.commit_data('abc', api.roll_util.commit('4' * 40))
diff --git a/recipe_modules/roll_util/tests/single_roll.py b/recipe_modules/roll_util/tests/single_roll.py
index 3ed821b..a05cfe6 100644
--- a/recipe_modules/roll_util/tests/single_roll.py
+++ b/recipe_modules/roll_util/tests/single_roll.py
@@ -13,8 +13,9 @@
# the License.
"""Test of rolls of one repository."""
-from recipe_engine.config import List
-from recipe_engine.recipe_api import Property
+from typing import Generator
+
+from recipe_engine import config, recipe_api, recipe_test_api
DEPS = [
'pigweed/roll_util',
@@ -24,10 +25,10 @@
]
PROPERTIES = {
- 'project_name': Property(kind=str),
- 'original_commits': Property(kind=List),
- 'old_revision': Property(kind=str),
- 'new_revision': Property(kind=str),
+ 'project_name': recipe_api.Property(kind=str),
+ 'original_commits': recipe_api.Property(kind=config.List),
+ 'old_revision': recipe_api.Property(kind=str),
+ 'new_revision': recipe_api.Property(kind=str),
}
@@ -101,7 +102,7 @@
)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield (
api.test('singlecommit_singleline')
+ api.properties(
diff --git a/recipe_modules/save_logs/tests/full.py b/recipe_modules/save_logs/tests/full.py
index bd677b5..27e830f 100644
--- a/recipe_modules/save_logs/tests/full.py
+++ b/recipe_modules/save_logs/tests/full.py
@@ -13,6 +13,10 @@
# the License.
"""Full test of save_logs module."""
+from typing import Generator
+
+from recipe_engine import recipe_test_api
+
DEPS = [
'pigweed/save_logs',
'recipe_engine/path',
@@ -31,7 +35,7 @@
)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield api.test(
'full',
api.step_data('save logs.logs.foo.log', retcode=1),
diff --git a/recipe_modules/util/tests/full.py b/recipe_modules/util/tests/full.py
index 3ee87ba..2963622 100644
--- a/recipe_modules/util/tests/full.py
+++ b/recipe_modules/util/tests/full.py
@@ -14,9 +14,9 @@
"""Full test of util module."""
import re
+from typing import Generator
-from recipe_engine.config import List
-from recipe_engine.recipe_api import Property
+from recipe_engine import config, recipe_api, recipe_test_api
DEPS = [
'pigweed/util',
@@ -28,8 +28,8 @@
]
PROPERTIES = {
- 'regex': Property(kind=str, default=r'regex'),
- 'comments': Property(kind=List(str), default=()),
+ 'regex': recipe_api.Property(kind=str, default=r'regex'),
+ 'comments': recipe_api.Property(kind=config.List(str), default=()),
}
@@ -45,7 +45,7 @@
)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield (
api.test('found')
+ api.buildbucket.try_build()
diff --git a/recipes/bazel.py b/recipes/bazel.py
index 69188c7..cbfb2ba 100644
--- a/recipes/bazel.py
+++ b/recipes/bazel.py
@@ -14,9 +14,10 @@
"""Recipe for getting Bazel and running a test with it."""
import re
+from typing import Generator
from PB.recipes.pigweed.bazel import InputProperties
-from recipe_engine import recipe_api
+from recipe_engine import recipe_api, recipe_test_api
DEPS = [
'pigweed/bazel',
@@ -40,7 +41,7 @@
runner.run()
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def properties(**kwargs):
props = InputProperties(**kwargs)
props.checkout_options.CopyFrom(api.checkout.git_options())
diff --git a/recipes/build.py b/recipes/build.py
index 71f27f1..18210ae 100644
--- a/recipes/build.py
+++ b/recipes/build.py
@@ -13,7 +13,10 @@
# the License.
"""Recipe for testing Pigweed with multiple swarming tasks."""
+from typing import Generator
+
from PB.recipes.pigweed.build import InputProperties
+from recipe_engine import recipe_test_api
DEPS = [
'pigweed/build',
@@ -42,7 +45,7 @@
pres.properties['digest'] = digest
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def properties(**kwargs):
props = InputProperties(**kwargs)
props.checkout_options.CopyFrom(api.checkout.git_options())
diff --git a/recipes/cipd_roller.py b/recipes/cipd_roller.py
index 8fe2af0..eeea815 100644
--- a/recipes/cipd_roller.py
+++ b/recipes/cipd_roller.py
@@ -16,11 +16,12 @@
import collections
import dataclasses
import re
-from typing import List
+from typing import Generator, List
from PB.recipe_engine import result as result_pb2
from PB.go.chromium.org.luci.buildbucket.proto import common as common_pb2
from PB.recipes.pigweed.cipd_roller import InputProperties, Package
+from recipe_engine import recipe_test_api
DEPS = [
'fuchsia/auto_roller',
@@ -300,7 +301,7 @@
return api.auto_roller.raw_result(change)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
"""Create tests."""
def package(cipd_path, old_version, platforms=None):
diff --git a/recipes/docs_builder.py b/recipes/docs_builder.py
index c77c578..8378f2c 100644
--- a/recipes/docs_builder.py
+++ b/recipes/docs_builder.py
@@ -13,12 +13,12 @@
# the License.
"""Generate docs using GN/Ninja and upload to GCS."""
-from typing import Any, Sequence
+from typing import Any, Generator, Sequence
from PB.go.chromium.org.luci.buildbucket.proto import common
from PB.recipes.pigweed.docs_builder import InputProperties
from PB.recipe_engine import result
-from recipe_engine import config_types, post_process, recipe_api
+from recipe_engine import config_types, post_process, recipe_api, recipe_test_api
DEPS = [
'fuchsia/buildbucket_util',
@@ -156,7 +156,7 @@
)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def properties(**kwargs):
props = InputProperties(**kwargs)
props.checkout_options.CopyFrom(api.checkout.git_options())
diff --git a/recipes/envtest.py b/recipes/envtest.py
index 68f7296..9003a2a 100644
--- a/recipes/envtest.py
+++ b/recipes/envtest.py
@@ -14,9 +14,10 @@
"""Recipe for testing Pigweed using developer env setup scripts."""
import re
+from typing import Generator
from PB.recipes.pigweed.envtest import InputProperties
-from recipe_engine import config_types, recipe_api
+from recipe_engine import config_types, recipe_api, recipe_test_api
DEPS = [
'fuchsia/macos_sdk',
@@ -113,7 +114,7 @@
)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def properties(**kwargs):
props = InputProperties(**kwargs)
props.checkout_options.CopyFrom(api.checkout.git_options())
diff --git a/recipes/gerrit_auto_submit.py b/recipes/gerrit_auto_submit.py
index 5071066..c5d048e 100644
--- a/recipes/gerrit_auto_submit.py
+++ b/recipes/gerrit_auto_submit.py
@@ -13,8 +13,10 @@
# the License.
"""Recipe for auto-triggering CQ+2 on submittable changes if requested."""
+from typing import Generator
+
from PB.recipes.pigweed.gerrit_auto_submit import InputProperties
-from recipe_engine import post_process
+from recipe_engine import post_process, recipe_test_api
DEPS = [
'fuchsia/gerrit_auto_submit',
@@ -30,7 +32,7 @@
)
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
yield (
api.test('default')
+ api.gerrit_auto_submit.options(
diff --git a/recipes/luci_config.py b/recipes/luci_config.py
index b9f1167..fa62818 100644
--- a/recipes/luci_config.py
+++ b/recipes/luci_config.py
@@ -13,8 +13,10 @@
# the License.
"""Recipe for testing LUCI configs."""
+from typing import Generator
+
from PB.recipes.pigweed.luci_config import InputProperties
-from recipe_engine import post_process
+from recipe_engine import post_process, recipe_test_api
DEPS = [
'fuchsia/validate_lucicfg',
@@ -32,7 +34,7 @@
api.validate_lucicfg(checkout.root, props.validate_lucicfg_options)
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def properties():
props = InputProperties()
props.checkout_options.CopyFrom(api.checkout.git_options())
diff --git a/recipes/pigweed.py b/recipes/pigweed.py
index e42b76b..b43fd28 100644
--- a/recipes/pigweed.py
+++ b/recipes/pigweed.py
@@ -13,8 +13,11 @@
# the License.
"""Recipe for testing Pigweed with multiple swarming tasks."""
+from typing import Generator
+
from PB.go.chromium.org.luci.buildbucket.proto import common as common_pb2
from PB.recipes.pigweed.pigweed import Pigweed
+from recipe_engine import recipe_test_api
DEPS = [
'fuchsia/buildbucket_util',
@@ -87,7 +90,7 @@
pass
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
for status in ('SUCCESS', 'FAILURE', 'INFRA_FAILURE'):
build = api.subbuild.ci_build_message(
builder='-subbuild',
diff --git a/recipes/pipeline.py b/recipes/pipeline.py
index b74c2b6..bf15de5 100644
--- a/recipes/pipeline.py
+++ b/recipes/pipeline.py
@@ -14,12 +14,12 @@
"""Recipe for launching sequences of builders."""
import re
-from typing import Any
+from typing import Any, Generator
from PB.go.chromium.org.luci.buildbucket.proto import common as common_pb2
import PB.recipes.pigweed.pipeline as pipeline_pb2
from PB.recipe_engine import result
-from recipe_engine import config_types, post_process, recipe_api
+from recipe_engine import config_types, post_process, recipe_api, recipe_test_api
DEPS = [
'fuchsia/subbuild',
@@ -84,7 +84,7 @@
)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
"""Create tests."""
def builder(name):
diff --git a/recipes/pw_presubmit.py b/recipes/pw_presubmit.py
index 684f5ab..9265682 100644
--- a/recipes/pw_presubmit.py
+++ b/recipes/pw_presubmit.py
@@ -15,12 +15,13 @@
import datetime
import re
+from typing import Generator
from PB.go.chromium.org.luci.buildbucket.proto import common
from PB.recipes.pigweed.pw_presubmit import InputProperties, StepName
from PB.recipe_engine import result
-from recipe_engine import config_types, post_process, recipe_api
+from recipe_engine import config_types, post_process, recipe_api, recipe_test_api
DEPS = [
'fuchsia/gsutil',
@@ -274,7 +275,7 @@
)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
"""Create tests."""
def ls_export(step_name, *files):
diff --git a/recipes/recipes.py b/recipes/recipes.py
index 753ca1c..205c393 100644
--- a/recipes/recipes.py
+++ b/recipes/recipes.py
@@ -13,7 +13,10 @@
# the License.
"""Recipe for testing recipes."""
+from typing import Generator
+
from PB.recipes.pigweed.recipes import InputProperties
+from recipe_engine import recipe_test_api
DEPS = [
'fuchsia/commit_queue',
@@ -148,7 +151,7 @@
)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
"""Create tests."""
def properties(**kwargs):
diff --git a/recipes/repo_roller.py b/recipes/repo_roller.py
index 5aa1082..cf1faa1 100644
--- a/recipes/repo_roller.py
+++ b/recipes/repo_roller.py
@@ -15,6 +15,7 @@
import collections
import re
+from typing import Generator
import urllib
import xml.etree.ElementTree
@@ -23,6 +24,7 @@
from PB.recipe_modules.pigweed.checkout.options import (
Options as CheckoutOptions,
)
+from recipe_engine import recipe_test_api
DEPS = [
'fuchsia/auto_roller',
@@ -268,7 +270,7 @@
return api.auto_roller.raw_result(change)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
"""Create tests."""
manifest = 'https://host.googlesource.com/manifest'
diff --git a/recipes/rerunner.py b/recipes/rerunner.py
index 7189e72..94018b5 100644
--- a/recipes/rerunner.py
+++ b/recipes/rerunner.py
@@ -34,7 +34,7 @@
import collections
import fnmatch
import json
-from typing import Sequence, Tuple
+from typing import Generator, Sequence, Tuple
from PB.recipe_engine import result as result_pb2
from PB.go.chromium.org.luci.buildbucket.proto import (
@@ -48,7 +48,7 @@
)
from PB.recipes.pigweed.rerunner import InputProperties
from PB.recipe_engine import result
-from recipe_engine import post_process, recipe_api
+from recipe_engine import post_process, recipe_api, recipe_test_api
DEPS = [
'fuchsia/builder_status',
@@ -236,7 +236,7 @@
)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def properties(
*,
included_buckets: Sequence[str] = (),
diff --git a/recipes/run_script.py b/recipes/run_script.py
index 37d2201..21cd44e 100644
--- a/recipes/run_script.py
+++ b/recipes/run_script.py
@@ -13,11 +13,11 @@
# the License.
"""Recipe for running a specified script from."""
-from typing import Callable
+from typing import Callable, Generator
import re
from PB.recipes.pigweed.run_script import InputProperties
-from recipe_engine import config_types, recipe_api
+from recipe_engine import config_types, recipe_api, recipe_test_api
DEPS = [
'pigweed/checkout',
@@ -55,7 +55,7 @@
api.step(f'run {props.script}', cmd)
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def properties(**kwargs):
props = InputProperties(**kwargs)
props.checkout_options.CopyFrom(api.checkout.git_options())
diff --git a/recipes/static_checks.py b/recipes/static_checks.py
index e467dc6..c939150 100644
--- a/recipes/static_checks.py
+++ b/recipes/static_checks.py
@@ -15,10 +15,10 @@
import functools
import re
-from typing import Any, Sequence
+from typing import Any, Generator, Sequence
from PB.recipes.pigweed.static_checks import InputProperties
-from recipe_engine import post_process, recipe_api
+from recipe_engine import post_process, recipe_api, recipe_test_api
from RECIPE_MODULES.pigweed.util import api as util_api
DEPS = [
@@ -739,7 +739,7 @@
)
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
for test in requires_tests(api):
yield test
diff --git a/recipes/submodule_roller.py b/recipes/submodule_roller.py
index 9fc58fd..cbfdb2d 100644
--- a/recipes/submodule_roller.py
+++ b/recipes/submodule_roller.py
@@ -17,10 +17,11 @@
import dataclasses
import io
import re
+from typing import Generator
import attrs
from PB.recipes.pigweed.submodule_roller import InputProperties, Submodule
-from recipe_engine import config_types, post_process
+from recipe_engine import config_types, post_process, recipe_test_api
DEPS = [
'fuchsia/auto_roller',
@@ -212,7 +213,7 @@
return api.auto_roller.raw_result(change)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
"""Create tests."""
def _url(x):
diff --git a/recipes/target_to_cipd.py b/recipes/target_to_cipd.py
index 71983b4..30a6ded 100644
--- a/recipes/target_to_cipd.py
+++ b/recipes/target_to_cipd.py
@@ -13,7 +13,10 @@
# the License.
"""Build a GN target and upload to CIPD."""
+from typing import Generator
+
from PB.recipes.pigweed.target_to_cipd import InputProperties
+from recipe_engine import recipe_test_api
DEPS = [
'fuchsia/buildbucket_util',
@@ -136,7 +139,7 @@
)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def properties(**kwargs):
kwargs.setdefault('cipd_path', 'pigweed/cipd/path')
kwargs.setdefault('dry_run', False)
diff --git a/recipes/tokendb_check.py b/recipes/tokendb_check.py
index b99b8a4..c2eb8fd 100644
--- a/recipes/tokendb_check.py
+++ b/recipes/tokendb_check.py
@@ -14,9 +14,10 @@
"""Check that lines were not removed from the token database."""
import re
+from typing import Generator
from PB.recipes.pigweed.tokendb_check import InputProperties
-from recipe_engine import post_process
+from recipe_engine import post_process, recipe_test_api
DEPS = [
'fuchsia/git',
@@ -122,7 +123,7 @@
)
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def diff(path, added, removed):
return f'{added} {removed} {path}'
diff --git a/recipes/tokendb_updater.py b/recipes/tokendb_updater.py
index 5a95bac..2cc6602 100644
--- a/recipes/tokendb_updater.py
+++ b/recipes/tokendb_updater.py
@@ -21,9 +21,11 @@
generated database.
"""
+from typing import Generator
+
from PB.recipe_engine import result
from PB.recipes.pigweed.tokendb_updater import InputProperties, TokenPath
-from recipe_engine import recipe_api
+from recipe_engine import recipe_api, recipe_test_api
DEPS = [
'fuchsia/auto_roller',
@@ -78,7 +80,7 @@
return api.auto_roller.raw_result(change)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def properties(dry_run=False, **kwargs):
props = InputProperties(**kwargs)
props.token_paths.extend(
diff --git a/recipes/txt_roller.py b/recipes/txt_roller.py
index e6085c1..b37ca47 100644
--- a/recipes/txt_roller.py
+++ b/recipes/txt_roller.py
@@ -14,6 +14,7 @@
"""Roll a pin of a git repository in a simple text file."""
import re
+from typing import Generator
import attrs
from PB.go.chromium.org.luci.buildbucket.proto import common as common_pb2
@@ -21,7 +22,7 @@
from PB.recipe_modules.pigweed.checkout.options import (
Options as CheckoutOptions,
)
-from recipe_engine import post_process, recipe_api
+from recipe_engine import post_process, recipe_api, recipe_test_api
DEPS = [
'fuchsia/auto_roller',
@@ -154,7 +155,7 @@
return api.auto_roller.raw_result(change)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
"""Create tests."""
def _url(x):
diff --git a/recipes/update_python_versions.py b/recipes/update_python_versions.py
index 47c2781..3941431 100644
--- a/recipes/update_python_versions.py
+++ b/recipes/update_python_versions.py
@@ -14,9 +14,11 @@
"""Update the pinned versions of Python packages."""
import re
+from typing import Generator
import attr
from PB.recipes.pigweed.update_python_versions import InputProperties
+from recipe_engine import recipe_test_api
DEPS = [
'fuchsia/auto_roller',
@@ -88,7 +90,7 @@
return api.auto_roller.raw_result(change)
-def GenTests(api): # pylint: disable=invalid-name
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def properties(**kwargs):
props = InputProperties(**kwargs)
props.checkout_options.CopyFrom(api.checkout.git_options())
diff --git a/recipes/xrefs.py b/recipes/xrefs.py
index dc89579..cf7cc19 100644
--- a/recipes/xrefs.py
+++ b/recipes/xrefs.py
@@ -13,10 +13,11 @@
# the License.
"""Generate crossrefs using Kythe and upload to GCS."""
+from typing import Generator
import urllib
from PB.recipes.pigweed.xrefs import InputProperties
-from recipe_engine import config_types, recipe_api
+from recipe_engine import config_types, recipe_api, recipe_test_api
DEPS = [
'fuchsia/buildbucket_util',
@@ -94,7 +95,7 @@
)
-def GenTests(api):
+def GenTests(api) -> Generator[recipe_test_api.TestData, None, None]:
def properties(**kwargs):
props = InputProperties(**kwargs)
props.checkout_options.CopyFrom(api.checkout.git_options())