summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Frysinger <vapier@google.com>2025-04-01 23:50:30 -0400
committerLUCI <gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com>2025-04-02 13:50:29 -0700
commit85ee1738e62741bb2fdec0581988c4eeb11712f1 (patch)
tree242772044dfd3ddf2274355777e22c7c2a830147
parentf070331a4c9993f4eedcc7fcb1c4b4807db69d02 (diff)
downloadgit-repo-85ee1738e62741bb2fdec0581988c4eeb11712f1.tar.gz
run_tests: enable Python 3.8 CI coverage
Change-Id: I507da20d3b7234e9f2a22d7654a6405b362eebaf Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/464541 Reviewed-by: Gavin Mak <gavinmak@google.com> Tested-by: Mike Frysinger <vapier@google.com> Commit-Queue: Mike Frysinger <vapier@google.com>
-rwxr-xr-xrun_tests23
-rw-r--r--run_tests.vpython3.867
2 files changed, 90 insertions, 0 deletions
diff --git a/run_tests b/run_tests
index 20dad8da..ef7c04b7 100755
--- a/run_tests
+++ b/run_tests
@@ -41,6 +41,28 @@ def run_pytest(argv: List[str]) -> int:
41 return pytest.main(argv) 41 return pytest.main(argv)
42 42
43 43
44def run_pytest_py38(argv: List[str]) -> int:
45 """Returns the exit code from pytest under Python 3.8."""
46 if is_ci():
47 argv = ["-m", "not skip_cq"] + argv
48
49 try:
50 return subprocess.run(
51 [
52 "vpython3",
53 "-vpython-spec",
54 "run_tests.vpython3.8",
55 "-m",
56 "pytest",
57 ]
58 + argv,
59 check=False,
60 ).returncode
61 except FileNotFoundError:
62 # Skip if the user doesn't have vpython from depot_tools.
63 return 0
64
65
44def run_black(): 66def run_black():
45 """Returns the exit code from black.""" 67 """Returns the exit code from black."""
46 # Black by default only matches .py files. We have to list standalone 68 # Black by default only matches .py files. We have to list standalone
@@ -75,6 +97,7 @@ def main(argv):
75 """The main entry.""" 97 """The main entry."""
76 checks = ( 98 checks = (
77 functools.partial(run_pytest, argv), 99 functools.partial(run_pytest, argv),
100 functools.partial(run_pytest_py38, argv),
78 run_black, 101 run_black,
79 run_flake8, 102 run_flake8,
80 run_isort, 103 run_isort,
diff --git a/run_tests.vpython3.8 b/run_tests.vpython3.8
new file mode 100644
index 00000000..aed5c0c7
--- /dev/null
+++ b/run_tests.vpython3.8
@@ -0,0 +1,67 @@
1# This is a vpython "spec" file.
2#
3# Read more about `vpython` and how to modify this file here:
4# https://chromium.googlesource.com/infra/infra/+/main/doc/users/vpython.md
5# List of available wheels:
6# https://chromium.googlesource.com/infra/infra/+/main/infra/tools/dockerbuild/wheels.md
7
8python_version: "3.8"
9
10wheel: <
11 name: "infra/python/wheels/pytest-py3"
12 version: "version:8.3.4"
13>
14
15# Required by pytest==8.3.4
16wheel: <
17 name: "infra/python/wheels/py-py2_py3"
18 version: "version:1.11.0"
19>
20
21# Required by pytest==8.3.4
22wheel: <
23 name: "infra/python/wheels/iniconfig-py3"
24 version: "version:1.1.1"
25>
26
27# Required by pytest==8.3.4
28wheel: <
29 name: "infra/python/wheels/packaging-py3"
30 version: "version:23.0"
31>
32
33# Required by pytest==8.3.4
34wheel: <
35 name: "infra/python/wheels/pluggy-py3"
36 version: "version:1.5.0"
37>
38
39# Required by pytest==8.3.4
40wheel: <
41 name: "infra/python/wheels/toml-py3"
42 version: "version:0.10.1"
43>
44
45# Required by pytest==8.3.4
46wheel: <
47 name: "infra/python/wheels/tomli-py3"
48 version: "version:2.1.0"
49>
50
51# Required by pytest==8.3.4
52wheel: <
53 name: "infra/python/wheels/pyparsing-py3"
54 version: "version:3.0.7"
55>
56
57# Required by pytest==8.3.4
58wheel: <
59 name: "infra/python/wheels/attrs-py2_py3"
60 version: "version:21.4.0"
61>
62
63# Required by pytest==8.3.4
64wheel: <
65 name: "infra/python/wheels/exceptiongroup-py3"
66 version: "version:1.1.2"
67>