summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2015-08-10 19:00:16 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2015-08-12 11:55:47 +0200
commit3261271e8e813b883917f0f57031ffcecbce6e20 (patch)
tree8d54e11557d09e41be72549319f7699d3d5f94fe
parentf9be02d7c94cba689e9d323b03be7cabbac2a874 (diff)
travis: add ppa:ubuntu-toolschain-r/test as source for gcc-5
This makes travis-ci able to run our tests again. Sometimes. If it doesn't spontaneously fails with internal gcc errors… Git-Dch: Ignore
-rw-r--r--.travis.yml6
-rw-r--r--test/integration/framework13
-rwxr-xr-xtest/integration/test-apt-update-filesize-mismatch2
-rwxr-xr-xtest/integration/test-apt-update-hashsum-mismatch2
4 files changed, 18 insertions, 5 deletions
diff --git a/.travis.yml b/.travis.yml
index b449aeba5..a20018a79 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,9 @@
language: cpp
before_install:
+ - sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
- sudo apt-get update -q
+install:
- sudo ./prepare-release travis-ci
-script: make && make test && test/integration/run-tests
+ - export CC=gcc-5
+ - export CXX=g++-5
+script: make -j1 && make test && test/integration/run-tests
diff --git a/test/integration/framework b/test/integration/framework
index 2efe7439e..b443f2a7b 100644
--- a/test/integration/framework
+++ b/test/integration/framework
@@ -1377,8 +1377,17 @@ testsuccess() {
if expr match "$1" '^apt.*' >/dev/null; then
if grep -q -E ' runtime error: ' "$OUTPUT"; then
msgfailoutput 'compiler detected undefined behavior' "$OUTPUT" "$@"
- elif grep -q -E '^[WE]: ' "$OUTPUT"; then
- msgfailoutput 'successful run, but output contains warnings/errors' "$OUTPUT" "$@"
+ elif grep -E '^[WE]: ' "$OUTPUT" > "${TMPWORKINGDIRECTORY}/rootdir/tmp/checkforwarnings.output" 2>&1; then
+ if [ "$IGNORE_PTY_NOT_MOUNTED" = '1' ]; then
+ if echo 'E: Can not write log (Is /dev/pts mounted?) - posix_openpt (2: No such file or directory)' \
+ | cmp - "${TMPWORKINGDIRECTORY}/rootdir/tmp/checkforwarnings.output" >/dev/null 2>&1; then
+ msgpass
+ else
+ msgfailoutput 'successful run, but output contains warnings/errors' "$OUTPUT" "$@"
+ fi
+ else
+ msgfailoutput 'successful run, but output contains warnings/errors' "$OUTPUT" "$@"
+ fi
else
msgpass
fi
diff --git a/test/integration/test-apt-update-filesize-mismatch b/test/integration/test-apt-update-filesize-mismatch
index f78b83b5f..a23c03c3f 100755
--- a/test/integration/test-apt-update-filesize-mismatch
+++ b/test/integration/test-apt-update-filesize-mismatch
@@ -40,7 +40,7 @@ for get in $(sed -n 's#^GET /\([^ ]\+\.gz\) HTTP.\+$#\1#p' aptarchive/webserver.
testfailure aptget update -o Debug::pkgAcquire::Worker=1
cp rootdir/tmp/testfailure.output rootdir/tmp/update.output
- testsuccess grep -E "$(basename -s '.gz' "$COMPRESSFILE").*Hash Sum mismatch" rootdir/tmp/update.output
+ testsuccess grep -E "$(basename "$COMPRESSFILE" '.gz').*Hash Sum mismatch" rootdir/tmp/update.output
testfailure aptcache show foo
testfailure aptget install foo -s
diff --git a/test/integration/test-apt-update-hashsum-mismatch b/test/integration/test-apt-update-hashsum-mismatch
index c2c5b3887..4627f7afd 100755
--- a/test/integration/test-apt-update-hashsum-mismatch
+++ b/test/integration/test-apt-update-hashsum-mismatch
@@ -35,7 +35,7 @@ for get in $(sed -n 's#^GET /\([^ ]\+\.gz\) HTTP.\+$#\1#p' aptarchive/webserver.
testfailure aptget update
cp rootdir/tmp/testfailure.output rootdir/tmp/update.output
- testsuccess grep -E "$(basename -s '.gz' "$get").*Hash Sum mismatch" rootdir/tmp/update.output
+ testsuccess grep -E "$(basename "$get" '.gz').*Hash Sum mismatch" rootdir/tmp/update.output
testfailure aptcache show foo
testfailure aptget install foo -s