From 559d37f76a85b42ba757a6e39a7d2b3ade514c8b Mon Sep 17 00:00:00 2001 From: Daniel Moody Date: Mon, 18 Dec 2017 23:09:25 -0500 Subject: added extra jobs for different python versions --- .travis.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.travis.yml b/.travis.yml index b304c3b..9103334 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,6 +23,13 @@ jobs: - 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 -- cgit v0.12 From bffb8eeae3592be05907bf562a7e5982b8a44285 Mon Sep 17 00:00:00 2001 From: Daniel Moody Date: Tue, 19 Dec 2017 02:19:47 -0500 Subject: added allow failures since some python3 tests currently will fail, and we want to retain python2 coverage in the coverage stage. Also added some comments. --- .travis.yml | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9103334..3192eed 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,23 +1,45 @@ dist: trusty language: python 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 @@ -46,9 +68,11 @@ 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 + # 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 -- cgit v0.12 From 1a5f9576d3c088f3a73405570277b270aa8487ff Mon Sep 17 00:00:00 2001 From: Daniel Moody Date: Wed, 20 Dec 2017 03:03:36 -0500 Subject: added ommision of several test which exists in the src directory --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 3192eed..9614527 100644 --- a/.travis.yml +++ b/.travis.yml @@ -68,6 +68,7 @@ jobs: - 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" >> .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 -- cgit v0.12