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

fix file ownership tests to work on kfreebsd

While on linux files are created in /tmp with $USER:$USER, on my
kfreebsd testmachine they are created with $USER:root, so we pull some
strings here to make it work on both.
David Kalnischkies лет назад: 11
Родитель
Сommit
4bb006d1dd

+ 11 - 3
test/integration/framework

@@ -272,6 +272,14 @@ setupenvironment() {
 	echo "Apt::Cmd::Disable-Script-Warning \"1\";" > rootdir/etc/apt/apt.conf.d/apt-binary
 	configcompression '.' 'gz' #'bz2' 'lzma' 'xz'
 
+	# create some files in /tmp and look at user/group to get what this means
+	TEST_DEFAULT_USER="$USER"
+	if [ "$(uname)" = 'GNU/kFreeBSD' ]; then
+		TEST_DEFAULT_GROUP='root'
+	else
+		TEST_DEFAULT_GROUP="$USER"
+	fi
+
         # Acquire::AllowInsecureRepositories=false is not yet the default
         # but we want it to be the default soon
         configallowinsecurerepositories "false";
@@ -1428,11 +1436,11 @@ aptautotest() {
 
 aptautotest_aptget_update() {
 	if ! test -d "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists"; then return; fi
-	testfilestats "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt" '%U:%G:%a' '=' "${USER}:${USER}:755"
-	testfilestats "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists" '%U:%G:%a' '=' "${USER}:${USER}:755"
+	testfilestats "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:755"
+	testfilestats "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:755"
 	# all copied files are properly chmodded
 	for file in $(find "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists" -maxdepth 1 -type f ! -name 'lock'); do
-		testfilestats "$file" '%U:%G:%a' '=' "${USER}:${USER}:644"
+		testfilestats "$file" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644"
 	done
 }
 aptautotest_apt_update() { aptautotest_aptget_update "$@"; }

+ 1 - 1
test/integration/test-apt-cdrom

@@ -146,5 +146,5 @@ testcdromusage
 
 msgmsg 'Check that nothing touched our' 'CD-ROM'
 for file in $(find rootdir/media/cdrom-unmounted/dists); do
-	testfilestats "$file" '%U:%G:%a' '=' "${USER}:${USER}:555"
+	testfilestats "$file" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:555"
 done

+ 2 - 2
test/integration/test-apt-get-changelog

@@ -33,7 +33,7 @@ testfileequal '../rootdir/tmp/testsuccess.output' "$(cat ../aptarchive/pool/apt_
 
 testsuccess aptget changelog apt -d
 testfileequal 'apt.changelog' "$(cat  ../aptarchive/pool/apt_1.0/changelog)"
-testfilestats 'apt.changelog' '%U:%G:%a' '=' "${USER}:${USER}:644"
+testfilestats 'apt.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644"
 rm -f apt.changelog ../aptarchive/pool/apt_1.0/changelog
 
 testequal "$(cat ../aptarchive/pool/apt_1.0.changelog)" aptget changelog apt \
@@ -41,7 +41,7 @@ testequal "$(cat ../aptarchive/pool/apt_1.0.changelog)" aptget changelog apt \
 
 testsuccess aptget changelog apt -d
 testfileequal 'apt.changelog' "$(cat ../aptarchive/pool/apt_1.0.changelog)"
-testfilestats 'apt.changelog' '%U:%G:%a' '=' "${USER}:${USER}:644"
+testfilestats 'apt.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644"
 rm -f apt.changelog ../aptarchive/pool/apt_1.0.changelog
 
 testequal 'E: changelog download failed' aptget changelog apt -qq -d -o APT::Changelogs::Server='http://not-on-the-main-server:8080/'

+ 0 - 1
test/integration/test-apt-get-source-authenticated

@@ -31,4 +31,3 @@ testfailure test -e foo_2.0.dsc
 # allow overriding the warning
 testsuccess aptget source --allow-unauthenticated foo -o Debug::pkgAcquire::Worker=1
 testsuccess test -s foo_2.0.dsc -a -L foo_2.0.dsc
-testaccessrights 'foo_2.0.dsc' '777'

+ 2 - 2
test/integration/test-authentication-basic

@@ -24,7 +24,7 @@ testauthfailure() {
 testauthsuccess() {
 	testsuccess apthelper download-file "${1}/bash" ./downloaded/bash
 	testfileequal ./downloaded/bash "$(cat aptarchive/bash)"
-	testfilestats ./downloaded/bash '%U:%G:%a' '=' "${USER}:${USER}:644"
+	testfilestats ./downloaded/bash '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644"
 	rm -f ./downloaded/bash
 
 	# lets see if got/retains acceptable permissions
@@ -32,7 +32,7 @@ testauthsuccess() {
 		if [ "$(id -u)" = '0' ]; then
 			testfilestats "$AUTHCONF" '%U:%G:%a' '=' "_apt:root:600"
 		else
-			testfilestats "$AUTHCONF" '%U:%G:%a' '=' "${USER}:${USER}:600"
+			testfilestats "$AUTHCONF" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:600"
 		fi
 	fi