mirror of
https://gerrit.googlesource.com/git-repo
synced 2026-01-12 01:20:26 +00:00
run_tests: log each command run
This should make it clear to devs what commands are run and which fail in the CI. Change-Id: Ie863540cba6de7da933b4f32947ad09edee4aa45 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/519361 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Gavin Mak <gavinmak@google.com>
This commit is contained in:
28
run_tests
28
run_tests
@@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
import functools
|
import functools
|
||||||
import os
|
import os
|
||||||
|
import shlex
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
@@ -26,6 +27,11 @@ from typing import List
|
|||||||
ROOT_DIR = os.path.dirname(os.path.realpath(__file__))
|
ROOT_DIR = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
|
||||||
|
|
||||||
|
def log_cmd(cmd: str, argv: list[str]) -> None:
|
||||||
|
"""Log a debug message to make history easier to track."""
|
||||||
|
print("+", cmd, shlex.join(argv), file=sys.stderr)
|
||||||
|
|
||||||
|
|
||||||
@functools.lru_cache()
|
@functools.lru_cache()
|
||||||
def is_ci() -> bool:
|
def is_ci() -> bool:
|
||||||
"""Whether we're running in our CI system."""
|
"""Whether we're running in our CI system."""
|
||||||
@@ -37,6 +43,7 @@ def run_pytest(argv: List[str]) -> int:
|
|||||||
if is_ci():
|
if is_ci():
|
||||||
argv = ["-m", "not skip_cq"] + argv
|
argv = ["-m", "not skip_cq"] + argv
|
||||||
|
|
||||||
|
log_cmd("pytest", argv)
|
||||||
return subprocess.run(
|
return subprocess.run(
|
||||||
[sys.executable, "-m", "pytest"] + argv,
|
[sys.executable, "-m", "pytest"] + argv,
|
||||||
check=False,
|
check=False,
|
||||||
@@ -49,6 +56,7 @@ def run_pytest_py38(argv: List[str]) -> int:
|
|||||||
if is_ci():
|
if is_ci():
|
||||||
argv = ["-m", "not skip_cq"] + argv
|
argv = ["-m", "not skip_cq"] + argv
|
||||||
|
|
||||||
|
log_cmd("[vpython 3.8] pytest", argv)
|
||||||
try:
|
try:
|
||||||
return subprocess.run(
|
return subprocess.run(
|
||||||
[
|
[
|
||||||
@@ -77,8 +85,10 @@ def run_black():
|
|||||||
"release/update-hooks",
|
"release/update-hooks",
|
||||||
"release/update-manpages",
|
"release/update-manpages",
|
||||||
]
|
]
|
||||||
|
argv = ["--diff", "--check", ROOT_DIR] + extra_programs
|
||||||
|
log_cmd("black", argv)
|
||||||
return subprocess.run(
|
return subprocess.run(
|
||||||
[sys.executable, "-m", "black", "--check", ROOT_DIR] + extra_programs,
|
[sys.executable, "-m", "black"] + argv,
|
||||||
check=False,
|
check=False,
|
||||||
cwd=ROOT_DIR,
|
cwd=ROOT_DIR,
|
||||||
).returncode
|
).returncode
|
||||||
@@ -86,8 +96,10 @@ def run_black():
|
|||||||
|
|
||||||
def run_flake8():
|
def run_flake8():
|
||||||
"""Returns the exit code from flake8."""
|
"""Returns the exit code from flake8."""
|
||||||
|
argv = [ROOT_DIR]
|
||||||
|
log_cmd("flake8", argv)
|
||||||
return subprocess.run(
|
return subprocess.run(
|
||||||
[sys.executable, "-m", "flake8", ROOT_DIR],
|
[sys.executable, "-m", "flake8"] + argv,
|
||||||
check=False,
|
check=False,
|
||||||
cwd=ROOT_DIR,
|
cwd=ROOT_DIR,
|
||||||
).returncode
|
).returncode
|
||||||
@@ -95,8 +107,10 @@ def run_flake8():
|
|||||||
|
|
||||||
def run_isort():
|
def run_isort():
|
||||||
"""Returns the exit code from isort."""
|
"""Returns the exit code from isort."""
|
||||||
|
argv = ["--check", ROOT_DIR]
|
||||||
|
log_cmd("isort", argv)
|
||||||
return subprocess.run(
|
return subprocess.run(
|
||||||
[sys.executable, "-m", "isort", "--check", ROOT_DIR],
|
[sys.executable, "-m", "isort"] + argv,
|
||||||
check=False,
|
check=False,
|
||||||
cwd=ROOT_DIR,
|
cwd=ROOT_DIR,
|
||||||
).returncode
|
).returncode
|
||||||
@@ -104,8 +118,10 @@ def run_isort():
|
|||||||
|
|
||||||
def run_check_metadata():
|
def run_check_metadata():
|
||||||
"""Returns the exit code from check-metadata."""
|
"""Returns the exit code from check-metadata."""
|
||||||
|
argv = []
|
||||||
|
log_cmd("release/check-metadata.py", argv)
|
||||||
return subprocess.run(
|
return subprocess.run(
|
||||||
[sys.executable, "release/check-metadata.py"],
|
[sys.executable, "release/check-metadata.py"] + argv,
|
||||||
check=False,
|
check=False,
|
||||||
cwd=ROOT_DIR,
|
cwd=ROOT_DIR,
|
||||||
).returncode
|
).returncode
|
||||||
@@ -118,8 +134,10 @@ def run_update_manpages() -> int:
|
|||||||
print("update-manpages: help2man not found; skipping test")
|
print("update-manpages: help2man not found; skipping test")
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
argv = ["--check"]
|
||||||
|
log_cmd("release/update-manpages", argv)
|
||||||
return subprocess.run(
|
return subprocess.run(
|
||||||
[sys.executable, "release/update-manpages", "--check"],
|
[sys.executable, "release/update-manpages"] + argv,
|
||||||
check=False,
|
check=False,
|
||||||
cwd=ROOT_DIR,
|
cwd=ROOT_DIR,
|
||||||
).returncode
|
).returncode
|
||||||
|
|||||||
Reference in New Issue
Block a user