summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Moody <dmoody256@gmail.com>2018-08-13 21:49:46 (GMT)
committerDaniel Moody <dmoody256@gmail.com>2018-08-13 21:49:46 (GMT)
commit2677cc2b860128928efee8897b42caad6e7ba8cd (patch)
treee5638ee7fd90a89ff905fd1d290d1dc7e004975d
parent0690e461007d2ffdf77740c3c4d88f34115d33b1 (diff)
downloadSCons-2677cc2b860128928efee8897b42caad6e7ba8cd.zip
SCons-2677cc2b860128928efee8897b42caad6e7ba8cd.tar.gz
SCons-2677cc2b860128928efee8897b42caad6e7ba8cd.tar.bz2
reverting travis back to master
-rw-r--r--.travis.yml85
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
+