diff options
author | Daniel Moody <dmoody256@gmail.com> | 2018-08-13 21:49:46 (GMT) |
---|---|---|
committer | Daniel Moody <dmoody256@gmail.com> | 2018-08-13 21:49:46 (GMT) |
commit | 2677cc2b860128928efee8897b42caad6e7ba8cd (patch) | |
tree | e5638ee7fd90a89ff905fd1d290d1dc7e004975d | |
parent | 0690e461007d2ffdf77740c3c4d88f34115d33b1 (diff) | |
download | SCons-2677cc2b860128928efee8897b42caad6e7ba8cd.zip SCons-2677cc2b860128928efee8897b42caad6e7ba8cd.tar.gz SCons-2677cc2b860128928efee8897b42caad6e7ba8cd.tar.bz2 |
reverting travis back to master
-rw-r--r-- | .travis.yml | 85 |
1 files changed, 83 insertions, 2 deletions
diff --git a/.travis.yml b/.travis.yml index 2c2896d..58ca595 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,10 +18,91 @@ jobs: include: - &test_job stage: Test - script: - - python runtest.py test/Clang + script: python runtest.py -a || if [[ $? == 2 ]]; then true; else false; fi before_script: skip after_success: skip python: 2.7 env: PYVER=27 sudo: required + + - <<: *test_job + python: 3.5 + env: PYVER=35 + sudo: required + + - <<: *test_job + python: 3.6 + env: PYVER=36 + sudo: required + + - <<: *test_job + python: 3.7-dev + env: PYVER=37 + sudo: required + + - <<: *test_job + python: pypy + env: PYVER=pypy + sudo: required + + + - &coverage_jobs + stage: Coverage + + before_script: + - sudo pip install coverage + - sudo pip install coveralls + # set this ensure user sites are available + - export PYTHONNOUSERSITE= + # attempt to get a location where we can store the usercustomize.py file + - python -m site + - export PYSITEDIR=$(python -m site --user-site) + - sudo mkdir -p $PYSITEDIR + - sudo touch ${PYSITEDIR}/usercustomize.py + - export COVERAGE_FILE=$PWD/.coverage_file + # write the usercustomize.py file so all python processes use coverage and know where the config file is + - echo "import os" | sudo tee --append ${PYSITEDIR}/usercustomize.py + - echo "os.environ['COVERAGE_PROCESS_START'] = '$PWD/.coveragerc'" | sudo tee --append ${PYSITEDIR}/usercustomize.py + - echo "import coverage" | sudo tee --append ${PYSITEDIR}/usercustomize.py + - echo "coverage.process_startup()" | sudo tee --append ${PYSITEDIR}/usercustomize.py + + script: + - export TOTAL_BUILD_JOBS=8 + # write the coverage config file + - export COVERAGE_PROCESS_START=$PWD/.coveragerc + - echo "[run]" >> .coveragerc + - echo "source = $PWD/src" >> .coveragerc + - echo "parallel = True" >> .coveragerc + - printf "omit =\n\t*Tests.py\n\tsrc/test_*\n\tsrc/setup.py\n\n" >> .coveragerc + - echo "[path] = $PWD" >> .coveragerc + # get a list of all the tests to split them up + - python runtest.py -l -a > all_tests + - let "start = ($(wc -l < all_tests) / ${TOTAL_BUILD_JOBS}) * (${BUILD_JOB_NUM} - 1)"; true; + - let "end = ($(wc -l < all_tests) / ${TOTAL_BUILD_JOBS}) * ${BUILD_JOB_NUM}" + - if (( ${BUILD_JOB_NUM} == ${TOTAL_BUILD_JOBS} )); then end=$(wc -l < all_tests); fi + - if (( ${start} == 0 )); then start=1; fi + - sed -n ${start},${end}p all_tests > build_tests + - coverage run -p --rcfile=$PWD/.coveragerc runtest.py -f build_tests || if [[ $? == 2 ]]; then true; else false; fi + + after_success: + - coverage combine + - coverage report + - coveralls --rcfile=$PWD/.coveragerc + + env: BUILD_JOB_NUM=1 + + - <<: *coverage_jobs + env: BUILD_JOB_NUM=2 + - <<: *coverage_jobs + env: BUILD_JOB_NUM=3 + - <<: *coverage_jobs + env: BUILD_JOB_NUM=4 + - <<: *coverage_jobs + env: BUILD_JOB_NUM=5 + - <<: *coverage_jobs + env: BUILD_JOB_NUM=6 + - <<: *coverage_jobs + env: BUILD_JOB_NUM=7 + - <<: *coverage_jobs + env: BUILD_JOB_NUM=8 + |