Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
68 lines (54 sloc) 3.26 KB
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
You can’t perform that action at this time.