-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improvements to Testing #3326
Comments
|
The This test suite isn't ran in CI, so I'm not yet sure if the issue is user error or broken tests. |
The following test suites require actual credentials:
The following subset of tests require actual credentials:
|
There are a few other tests which include the |
Attempted local setup pyenv local 3.11.10
python -m venv .venv
.venv/bin/python -m pip install "tox<4.0"
# tox.ini needs to be updated such that flake8 ignores .venv/
.venv/bin/tox -e flake8
_____________________________________________________ summary _____________________________________________________
flake8: commands succeeded
congratulations :)
.venv/bin/tox -e docs
_____________________________________________________ summary _____________________________________________________
docs: commands succeeded
congratulations :)
.venv/bin/tox -e py311-apache
==================== 11 failed, 56 passed, 11 skipped, 1740 deselected, 121 warnings in 23.24s ====================
.venv/bin/tox -e py311-contrib
==================== 13 failed, 67 passed, 11 skipped, 1727 deselected, 82 warnings in 34.50s =====================
.venv/bin/tox -e py311-postgres
========================== 6 passed, 11 skipped, 1801 deselected, 37 warnings in 18.56s ===========================
_____________________________________________________ summary _____________________________________________________
py311-postgres: commands succeeded
congratulations :)
.venv/bin/tox -e py311-unixsocket
================ 5 failed, 11 skipped, 1802 deselected, 36 warnings, 1 error in 229.69s (0:03:49) ================= So the simple virtualenv with My first assumption here is that the CI tests benefit from being run on ubuntu environments (and possibly some existing system packages too). To verify this assumption, I will create a docker image which can run tests. |
See this branch for drafted changes to support local execution of Luigi tests, using docker. Execution flexibility: # default python version and lint test
make test
# default python version and specific tox suite
make test CMD="tox -e doc"
# specific python version and specific tox suite
make test TAG=3.10 CMD="tox -e visualiser"
# specific python version and specific tox test from suite
make test TAG=3.10 CMD="tox -e py311-core test/mypy_test.py::TestMyMypyPlugin::test_plugin_no_issue" Tox test suite support (initially running with Python 3.11):
|
Problem
Luigi's test suites are difficult to get setup on a new local machine and the documentation is not sufficient to get up and running quickly.
While setting up Luigi on a new computer to aid in PR review (in order to run tests locally), I discovered that documentation is lacking on a recommended way to run the tox tests on a user's machine. After installing a desired python version and tox, I was unable to get all tests to run and complete successfully.
Currently, all the local development documentation is limited to the
CONTRIBUTING.rst
document. However, the content there is insufficient to getting up and running in 2024. (At least on an Apple Silicon Mac).Resolution Proposal
I intend to use this Issue to track and discuss a route forward to improve testing the luigi project.
Goals include:
Additional aspirations which may be tackled separately include:
cdh
,dropbox
,gcloud
,hdp
, andvisualiser
are not run by CI)The text was updated successfully, but these errors were encountered: