Permalink
Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
Sign up
Fetching contributors…
Cannot retrieve contributors at this time
language: python | |
python: | |
- "3.5" | |
- "3.6" | |
env: | |
global: | |
- HYDRA_LAUNCHER=fork | |
- OMPI_MCA_rmaps_base_oversubscribe=yes | |
- MPI=mpich | |
before_install: | |
- sudo apt-get update -q | |
- python$PY -m pip install Cython | |
- python$PY -m pip install numpy | |
- bash parsl/executors/extreme_scale/install-mpi.sh $MPI | |
- python$PY --version | |
- python$PY -m cython --version | |
- python$PY -c "import numpy;print(numpy.__version__)" | |
- if [[ "$MPI" == "mpich" ]]; then mpichversion; fi | |
- if [[ "$MPI" == "openmpi" ]]; then ompi_info; fi | |
# command to install dependencies | |
install: | |
- pip install -r requirements.txt | |
- pip install .[extreme_scale] | |
# Os tests | |
os: | |
- linux | |
# command to run tests | |
script: | |
- export PARSL_TESTING="true" | |
- pip install -r test-requirements.txt | |
- flake8 parsl/ | |
# This uses all of the configurations and tests as the base from which to | |
# run mypy checks - these are likely to capture most of the code used in | |
# parsl | |
- (for test in parsl/tests/configs/*.py parsl/tests/test*/test*; do MYPYPATH=$(pwd)/mypy-stubs mypy $test ; export MypyReturnCode=$? ; echo mypy return code is $MypyReturnCode ; if [[ "$MypyReturnCode" != 0 ]] ; then exit 1; fi; done ) ; | |
# do this before any testing, but not in-between tests | |
- rm -f .coverage | |
- (for test in parsl/tests/test*/test*; do pytest $test -k "not cleannet" --config parsl/tests/configs/htex_local.py --cov=parsl --cov-append --cov-report= ; export PytestReturnCode=$? ; echo pytest return code is $PytestReturnCode ; if [[ "$PytestReturnCode" != 0 ]] && [[ "$PytestReturnCode" != 5 ]]; then exit 1; fi; done ) ; | |
- (for test in parsl/tests/test*/test*; do pytest $test -k "not cleannet" --config parsl/tests/configs/local_threads.py --cov=parsl --cov-append --cov-report= ; export PytestReturnCode=$? ; echo pytest return code is $PytestReturnCode ; if [[ "$PytestReturnCode" != 0 ]] && [[ "$PytestReturnCode" != 5 ]]; then exit 1; fi; done ) ; | |
# allow exit code 5; this means pytest did not run a test in the | |
# specified file | |
# these tests run with specific configs loaded within the tests themselves. | |
# This mode is enabled with: --config local | |
- (for test in parsl/tests/test*/test* parsl/tests/sites/test*; do pytest $test -k "not cleannet" --config local --cov=parsl --cov-append --cov-report= ; export PytestReturnCode=$? ; echo pytest return code is $PytestReturnCode ; if [[ "$PytestReturnCode" != 0 ]] && [[ "$PytestReturnCode" != 5 ]]; then exit 1; fi; done ) ; | |
# run simple worker test. this is unlikely to scale due to | |
# a stdout/stderr buffering bug in present master. | |
- coverage run --append --source=parsl parsl/tests/manual_tests/test_worker_count.py -c 1000 | |
# run specific integration tests that need their own configuration | |
- pytest parsl/tests/integration/test_retries.py -k "not cleannet" --config local --cov=parsl --cov-append --cov-report= | |
- pytest parsl/tests/integration/test_parsl_load_default_config.py -k "not cleannet" --config local --cov=parsl --cov-append --cov-report= | |
- coverage report | |
# prints report of coverage data stored in .coverage | |
# - pytest parsl/tests --config parsl/tests/configs/local_threads.py | |
# - pytest parsl/tests --config parsl/tests/configs/local_ipp.py |