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

tavis: run testcases a second time, but as root

Git-Dch: Ignore
David Kalnischkies лет назад: 11
Родитель
Сommit
b2640c0afe

+ 10 - 4
.travis.yml

@@ -1,11 +1,17 @@
 language: cpp
+sudo: required
 before_install:
  - sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
- - sudo apt-get update -q
+ - sudo apt-get update -qq
 install:
  - sudo ./prepare-release travis-ci
  - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
  - sudo apt-get -qq update
- - sudo apt-get -qq install g++-4.8
- - export CXX=g++-4.8
-script: make && make test && test/integration/run-tests
+ - sudo apt-get -qq -y install gcc-4.8 g++-4.8
+ - export CC=gcc-4.8 CXX=g++-4.8
+script:
+ - make
+ - make test
+ - ./test/integration/run-tests
+ - sudo adduser --force-badname --system --home /nonexistent --no-create-home --quiet _apt || true
+ - sudo ./test/integration/run-tests

+ 1 - 1
test/integration/test-apt-get-install-deb

@@ -46,7 +46,7 @@ E: Unable to correct problems, you have held broken packages." aptget install ./
 
 testdpkgnotinstalled 'foo'
 testsuccess aptget install ./incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1
-testdpkginstalled 'foo'
+testdpkginstalled 'foo:i386'
 
 testsuccessequal "Reading package lists...
 Building dependency tree...

+ 13 - 11
test/integration/test-ubuntu-bug-346386-apt-get-update-paywall

@@ -17,9 +17,9 @@ changetowebserver -o 'aptwebserver::overwrite::.*::filename=/knights'
 
 msgtest 'Acquire test file from the webserver to check' 'overwrite'
 if downloadfile http://localhost:8080/holygrail ./knights-talking >/dev/null; then
-    msgpass
+	msgpass
 else
-    msgfail
+	msgfail
 fi
 
 testfileequal knights-talking 'ni ni ni'
@@ -39,27 +39,29 @@ rm -rf rootdir/var/lib/apt/lists
 testfailure aptget update
 testsuccess grep '^W:.*Clearsigned file .*NOSPLIT.*' rootdir/tmp/testfailure.output
 
-ensure_n_canary_strings_in_dir $LISTS 'ni ni ni' 0
+ensure_n_canary_strings_in_dir "$LISTS" 'ni ni ni' 0
 testequal 'lock
-partial' ls $LISTS
+partial' ls "$LISTS"
 
 # and again with pre-existing files with "valid data" which should remain
 for f in Release Release.gpg main_binary-amd64_Packages main_source_Sources; do
-    echo 'peng neee-wom' > $LISTS/localhost:8080_dists_stable_${f}
+	echo 'peng neee-wom' > "$LISTS/localhost:8080_dists_stable_${f}"
+	chmod 644 "$LISTS/localhost:8080_dists_stable_${f}"
 done
 
 testfailure aptget update
 testsuccess grep '^W:.*Clearsigned file .*NOSPLIT.*' rootdir/tmp/testfailure.output
 
-ensure_n_canary_strings_in_dir $LISTS 'peng neee-wom' 4
-ensure_n_canary_strings_in_dir $LISTS 'ni ni ni' 0
+ensure_n_canary_strings_in_dir "$LISTS" 'peng neee-wom' 4
+ensure_n_canary_strings_in_dir "$LISTS" 'ni ni ni' 0
 
 # and now with a pre-existing InRelease file
-echo 'peng neee-wom' > $LISTS/localhost:8080_dists_stable_InRelease
-rm -f $LISTS/localhost:8080_dists_stable_Release $LISTS/localhost:8080_dists_stable_Release.gpg
+echo 'peng neee-wom' > "$LISTS/localhost:8080_dists_stable_InRelease"
+chmod 644 "$LISTS/localhost:8080_dists_stable_InRelease"
+rm -f "$LISTS/localhost:8080_dists_stable_Release" "$LISTS/localhost:8080_dists_stable_Release.gpg"
 msgtest 'excpected failure of' 'apt-get update'
 testfailure aptget update
 testsuccess grep '^W:.*Clearsigned file .*NOSPLIT.*' rootdir/tmp/testfailure.output
 
-ensure_n_canary_strings_in_dir $LISTS 'peng neee-wom' 3
-ensure_n_canary_strings_in_dir $LISTS 'ni ni ni' 0
+ensure_n_canary_strings_in_dir "$LISTS" 'peng neee-wom' 3
+ensure_n_canary_strings_in_dir "$LISTS" 'ni ni ni' 0