summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2017-12-21 11:54:33 -0800
committerGitHub <noreply@github.com>2017-12-21 11:54:33 -0800
commit9ef5d65c5ece086f312af16a8441699360c5798e (patch)
tree9bf9e39045851836364c4d2e1d3535b6745dbb4c /.travis.yml
parent62fe04852f687975ade38f61cc2b386bf4d3ad6b (diff)
parent1a5f9576d3c088f3a73405570277b270aa8487ff (diff)
downloadscons-git-9ef5d65c5ece086f312af16a8441699360c5798e.tar.gz
Merge pull request #30 from dmoody256/TravisPython3Test
Travis Python 3 tests and coverage clean up
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml40
1 files changed, 36 insertions, 4 deletions
diff --git a/.travis.yml b/.travis.yml
index 6a57b7c88..d976a2800 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,28 +6,57 @@ python:
- "pypy"
install:
- - sudo apt-get -y install clang gdc docbook-xml xsltproc libxml2-dev libxslt-dev python-pip python-dev fop docbook-xsl-doc-pdf texlive-full biber texmaker build-essential libpcre3-dev autoconf automake libtool bison subversion git
+# dependencies for clang tests
+ - sudo apt-get -y install clang
+# dependencies for gdc tests
+ - sudo apt-get -y install gdc
+# dependencies for docbook tests
+ - sudo apt-get -y install docbook-xml xsltproc libxml2-dev libxslt-dev fop docbook-xsl-doc-pdf
+# dependencies for latex tests
+ - sudo apt-get -y install texlive-full biber texmaker
+# need some things for building dependencies for other tests
+ - sudo apt-get -y install python-pip python-dev build-essential libpcre3-dev autoconf automake libtool bison subversion git
+# dependencies for docbook tests continued
- sudo pip install lxml
+# dependencies for D tests
- sudo wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list
- wget -qO - https://dlang.org/d-keyring.gpg | sudo apt-key add -
- sudo apt-get update && sudo apt-get -y --allow-unauthenticated install dmd-bin
+# dependencies for ldc tests
- wget https://github.com/ldc-developers/ldc/releases/download/v1.4.0/ldc2-1.4.0-linux-x86_64.tar.xz
- tar xf ldc2-1.4.0-linux-x86_64.tar.xz
- sudo cp -rf ldc2-1.4.0-linux-x86_64/* /
+# dependencies for swig tests
- wget https://github.com/swig/swig/archive/rel-3.0.12.tar.gz
- tar xzf rel-3.0.12.tar.gz
- cd swig-rel-3.0.12 && ./autogen.sh && ./configure --prefix=/usr && make && sudo make install && cd ..
+# python 3 is not fulling passing at this time
+# so allow failure so the coverage stage can be reached with python 2
+matrix:
+ allow_failures:
+ - python: 3.5
+ - python: 3.6
+
jobs:
include:
- &test_job
stage: Test
script:
+ # WORKAROUND: attempt to retry JobTests.py if it fails and then continue if it passes, if it fails ten times
+ # then it is a real failure not related to intermittent travis failures
- n=0; while [[ $n -lt 10 ]]; do python runtest.py src/engine/SCons/JobTests.py && break; n=$((n+1)); done; if [ "$n" -gt "9" ]; then false; fi
- echo "src/engine/SCons/JobTests.py" > exclude_jobtest
- python runtest.py -a --exclude-list exclude_jobtest || if [[ $? == 2 ]]; then true; else false; fi
before_script: skip
after_success: skip
+ python: 2.7
+
+ - <<: *test_job
+ python: 3.5
+ - <<: *test_job
+ python: 3.6
+
- &coverage_jobs
stage: Coverage
@@ -44,9 +73,12 @@ jobs:
- echo "[run]" >> .coveragerc
- echo "source = $PWD/src" >> .coveragerc
- echo "parallel = True" >> .coveragerc
- # WORKAROUND: attempt to retry JobTests.py if it fails and then continue if it passes, if it fails ten times
- # then it is a real failure not related to intermittent travis failures
- - n=0; while [[ $n -lt 10 ]]; do coverage run --rcfile=$PWD/.coveragerc runtest.py src/engine/SCons/JobTests.py && break; n=$((n+1)); done; if [ "$n" -gt "9" ]; then false; fi
+ - printf "omit =\n\t*Tests.py\n\tsrc/test_*\n\tsrc/setup.py\n" >> .coveragerc
+ # Not including this workaround in the coverage report, because it will result
+ # in constantly changing coverage reports depending on the number of times
+ # the JobTests.py had to run to pass
+ # TODO: figure out how to cover JobTests.py
+ # - n=0; while [[ $n -lt 10 ]]; do coverage run --rcfile=$PWD/.coveragerc runtest.py src/engine/SCons/JobTests.py && break; n=$((n+1)); done; if [ "$n" -gt "9" ]; then false; fi
# exclude JobTest.py becuase we already ran that
- echo "src/engine/SCons/JobTests.py" > exclude_jobtest
# also exclude this test since it overides the exit function which doesnt work with coverage