Просмотр исходного кода

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
David Kalnischkies лет назад: 11
Родитель
Сommit
3261271e8e

+ 5 - 1
.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

+ 11 - 2
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

+ 1 - 1
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
 

+ 1 - 1
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