summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xrun_tests26
-rw-r--r--run_tests.vpython323
-rw-r--r--tox.ini1
3 files changed, 43 insertions, 7 deletions
diff --git a/run_tests b/run_tests
index 69ba2769..2d92cae3 100755
--- a/run_tests
+++ b/run_tests
@@ -13,7 +13,7 @@
13# See the License for the specific language governing permissions and 13# See the License for the specific language governing permissions and
14# limitations under the License. 14# limitations under the License.
15 15
16"""Wrapper to run black and pytest with the right settings.""" 16"""Wrapper to run linters and pytest with the right settings."""
17 17
18import os 18import os
19import subprocess 19import subprocess
@@ -21,19 +21,31 @@ import sys
21import pytest 21import pytest
22 22
23 23
24ROOT_DIR = os.path.dirname(os.path.realpath(__file__))
25
26
24def run_black(): 27def run_black():
25 """Returns the exit code of running `black --check`.""" 28 """Returns the exit code from black."""
26 dirpath = os.path.dirname(os.path.realpath(__file__)) 29 return subprocess.run(
30 [sys.executable, "-m", "black", "--check", ROOT_DIR], check=False
31 ).returncode
32
33
34def run_flake8():
35 """Returns the exit code from flake8."""
27 return subprocess.run( 36 return subprocess.run(
28 [sys.executable, "-m", "black", "--check", dirpath], check=False 37 [sys.executable, "-m", "flake8", ROOT_DIR], check=False
29 ).returncode 38 ).returncode
30 39
31 40
32def main(argv): 41def main(argv):
33 """The main entry.""" 42 """The main entry."""
34 pytest_ret = pytest.main(argv) 43 checks = (
35 black_ret = run_black() 44 lambda: pytest.main(argv),
36 return 0 if not black_ret and not pytest_ret else 1 45 run_black,
46 run_flake8,
47 )
48 return 0 if all(not c() for c in checks) else 1
37 49
38 50
39if __name__ == "__main__": 51if __name__ == "__main__":
diff --git a/run_tests.vpython3 b/run_tests.vpython3
index 0c790bca..3d0cd78e 100644
--- a/run_tests.vpython3
+++ b/run_tests.vpython3
@@ -100,3 +100,26 @@ wheel: <
100 name: "infra/python/wheels/click-py3" 100 name: "infra/python/wheels/click-py3"
101 version: "version:8.0.3" 101 version: "version:8.0.3"
102> 102>
103
104wheel: <
105 name: "infra/python/wheels/flake8-py2_py3"
106 version: "version:6.0.0"
107>
108
109# Required by flake8==6.0.0
110wheel: <
111 name: "infra/python/wheels/mccabe-py2_py3"
112 version: "version:0.7.0"
113>
114
115# Required by flake8==6.0.0
116wheel: <
117 name: "infra/python/wheels/pyflakes-py2_py3"
118 version: "version:3.0.1"
119>
120
121# Required by flake8==6.0.0
122wheel: <
123 name: "infra/python/wheels/pycodestyle-py2_py3"
124 version: "version:2.10.0"
125>
diff --git a/tox.ini b/tox.ini
index 2575a713..ccf2ffff 100644
--- a/tox.ini
+++ b/tox.ini
@@ -28,6 +28,7 @@ python =
28[testenv] 28[testenv]
29deps = 29deps =
30 black 30 black
31 flake8
31 pytest 32 pytest
32 pytest-timeout 33 pytest-timeout
33commands = {envpython} run_tests {posargs} 34commands = {envpython} run_tests {posargs}