From 00b10f3d9ad03a6695446aab7b3a34d86229549a Mon Sep 17 00:00:00 2001 From: Mauricio Alvarez Leon <65101411+BBBmau@users.noreply.github.com> Date: Sun, 2 Jun 2024 14:53:32 -0700 Subject: [PATCH] `pytest`: discover `openpilot/` (#32561) * pytest: discover everything in openpilot/ * ignore process replay * remove --ignore=openpilot/ * ignore directories in root * remove skip in selfdrive/test/process_replay * use openpilot directory * set openpilot directory for test_translations * omit generated config.py files * run ci * cd into openpilot for test_translation * && * remove rm main_test_en command * remove echo * increase shm-size to 2G * remove rm * test only cpp_files that are test_*.cc~ * add process_replay test skip * use addopts in pyproject to ignore test_processes * try --rootdir for pytest * cleanups / add rootdir in PYTEST env * add rm create_test_translations * revert poetry.lock * simplify * no regen! --------- Co-authored-by: Adeeb Shihadeh --- .github/workflows/selfdrive_tests.yaml | 2 +- pyproject.toml | 34 ++++++++------------------ 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/.github/workflows/selfdrive_tests.yaml b/.github/workflows/selfdrive_tests.yaml index 9001ca86fc..bc23382389 100644 --- a/.github/workflows/selfdrive_tests.yaml +++ b/.github/workflows/selfdrive_tests.yaml @@ -19,7 +19,7 @@ env: DOCKER_LOGIN: docker login ghcr.io -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }} BUILD: selfdrive/test/docker_build.sh base - RUN: docker run --shm-size 1G -v $PWD:/tmp/openpilot -w /tmp/openpilot -e CI=1 -e PRE_COMMIT_HOME=/tmp/pre-commit -e PYTHONWARNINGS=error -e FILEREADER_CACHE=1 -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v $GITHUB_WORKSPACE/.ci_cache/pre-commit:/tmp/pre-commit -v $GITHUB_WORKSPACE/.ci_cache/scons_cache:/tmp/scons_cache -v $GITHUB_WORKSPACE/.ci_cache/comma_download_cache:/tmp/comma_download_cache -v $GITHUB_WORKSPACE/.ci_cache/openpilot_cache:/tmp/openpilot_cache $BASE_IMAGE /bin/bash -c + RUN: docker run --shm-size 2G -v $PWD:/tmp/openpilot -w /tmp/openpilot -e CI=1 -e PRE_COMMIT_HOME=/tmp/pre-commit -e PYTHONWARNINGS=error -e FILEREADER_CACHE=1 -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v $GITHUB_WORKSPACE/.ci_cache/pre-commit:/tmp/pre-commit -v $GITHUB_WORKSPACE/.ci_cache/scons_cache:/tmp/scons_cache -v $GITHUB_WORKSPACE/.ci_cache/comma_download_cache:/tmp/comma_download_cache -v $GITHUB_WORKSPACE/.ci_cache/openpilot_cache:/tmp/openpilot_cache $BASE_IMAGE /bin/bash -c PYTEST: pytest --continue-on-collection-errors --cov --cov-report=xml --cov-append --durations=0 --durations-min=5 --hypothesis-seed 0 -n logical diff --git a/pyproject.toml b/pyproject.toml index d7145b10a9..312e760b5b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,8 +9,8 @@ Homepage = "https://comma.ai" [tool.pytest.ini_options] minversion = "6.0" -addopts = "--ignore=openpilot/ --ignore=cereal/ --ignore=opendbc/ --ignore=panda/ --ignore=rednose_repo/ --ignore=tinygrad_repo/ --ignore=teleoprtc_repo/ -Werror --strict-config --strict-markers --durations=10 -n auto --dist=loadgroup" -cpp_files = "test_*" +addopts = "--ignore=selfdrive/test/process_replay/test_processes.py --ignore=selfdrive/test/process_replay/test_regen.py -Werror --strict-config --strict-markers --durations=10 -n auto --dist=loadgroup" +cpp_files = "test_*.cc" cpp_harness = "selfdrive/test/cpp_harness.py" python_files = "test_*.py" #timeout = "30" # you get this long by default @@ -19,28 +19,10 @@ markers = [ "tici: tests that are only meant to run on the C3/C3X", ] testpaths = [ - "common", - "selfdrive/boardd", - "selfdrive/car", - "selfdrive/controls", - "selfdrive/locationd", - "selfdrive/monitoring", - "selfdrive/navd/tests", - "selfdrive/test/longitudinal_maneuvers", - "selfdrive/test/process_replay/test_fuzzy.py", - "system/updated", - "system/thermald", - "system/athena", - "system/camerad", - "system/hardware/tici", - "system/loggerd", - "system/proclogd", - "system/tests", - "system/ubloxd", - "system/webrtc", - "tools/lib/tests", - "tools/replay", - "tools/cabana" + "tools/", + "common/", + "system/", + "selfdrive/", ] [tool.mypy] @@ -227,6 +209,10 @@ lint.flake8-implicit-str-concat.allow-multiline=false "unittest".msg = "Use pytest" [tool.coverage.run] +omit = [ + "config.py", + "config-3.py" +] concurrency = ["multiprocessing", "thread"] [tool.ruff.format] quote-style = "preserve"