From 8757a0fdeee00ea6a7cc717188a0e129ad8a553c Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 23 Aug 2016 19:41:58 +0200 Subject: Make directory paths configurable This allows other vendors to use different paths, or to build your own APT in /opt for testing. Note that this uses + 1 in some places, as the paths we receive are absolute, but we need to strip of the initial /. --- test/integration/framework | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'test/integration/framework') diff --git a/test/integration/framework b/test/integration/framework index 1e356ffaf..9589ca84c 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -352,6 +352,11 @@ setupenvironment() { ln -s "${TMPWORKINGDIRECTORY}/keys/joesixpack.pub" rootdir/etc/apt/trusted.gpg.d/joesixpack.gpg echo "Dir \"${TMPWORKINGDIRECTORY}/rootdir\";" >> aptconfig.conf + echo "Dir::Etc \"etc\";" >> aptconfig.conf + echo "Dir::State \"var/lib/apt\";" >> aptconfig.conf + echo "Dir::Cache \"var/cache/apt\";" >> aptconfig.conf + echo "Dir::Etc \"etc/apt\";" >> aptconfig.conf + echo "Dir::Log \"var/log/apt\";" >> aptconfig.conf echo "APT::Get::Show-User-Simulation-Note \"false\";" >> aptconfig.conf echo "Dir::Bin::Methods \"${TMPWORKINGDIRECTORY}/rootdir/usr/lib/apt/methods\";" >> aptconfig.conf # either store apt-key were we can access it, even if we run it as a different user -- cgit v1.2.3 From 7c1177f6b82aaaf3b7d378ef516b7ccbd47ec07b Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 23 Aug 2016 21:53:39 +0200 Subject: test: Use C locale instead of C.UTF-8 Gbp-Dch: ignore --- test/integration/framework | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/integration/framework') diff --git a/test/integration/framework b/test/integration/framework index 9589ca84c..ff0df3226 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -442,7 +442,7 @@ EOF # cleanup the environment a bit # prefer our apt binaries over the system apt binaries export PATH="${BUILDDIRECTORY}:${PATH}:/usr/local/sbin:/usr/sbin:/sbin" - export LC_ALL=C.UTF-8 + export LC_ALL=C unset LANGUAGE APT_CONFIG unset GREP_OPTIONS DEB_BUILD_PROFILES unset http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy -- cgit v1.2.3 From 14e57111df6f8894ed47841b7471837c9d87c264 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 23 Aug 2016 21:47:54 +0200 Subject: test: Substitute GNU commands for other commands where available We are simply checking for gnuCMD and gCMD for each command we are interested in. Gbp-Dch: ignore --- test/integration/framework | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'test/integration/framework') diff --git a/test/integration/framework b/test/integration/framework index ff0df3226..25cabc9f8 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -31,7 +31,6 @@ if [ "${MSGCOLOR:-YES}" = 'YES' ]; then fi fi - if [ "$MSGCOLOR" != 'NO' ]; then CERROR="\033[1;31m" # red CWARNING="\033[1;33m" # yellow @@ -276,8 +275,13 @@ find_project_binary_dir() { fi } setupenvironment() { + # Next check needs a gnu stat, let's figure that out early. + stat=stat + if command -v gnustat >/dev/null 2>&1; then + stat=gnustat + fi # privilege dropping and testing doesn't work if /tmp isn't world-writeable (as e.g. with libpam-tmpdir) - if [ -n "$TMPDIR" ] && [ "$(id -u)" = '0' ] && [ "$(stat --format '%a' "$TMPDIR")" != '1777' ]; then + if [ -n "$TMPDIR" ] && [ "$(id -u)" = '0' ] && [ "$($stat --format '%a' "$TMPDIR")" != '1777' ]; then unset TMPDIR fi TMPWORKINGDIRECTORY="$(mktemp -d)" @@ -290,6 +294,18 @@ setupenvironment() { fi msgninfo "Preparing environment for ${0##*/} in ${TMPWORKINGDIRECTORY}…" + # Setup coreutils on BSD systems + mkdir "${TMPWORKINGDIRECTORY}/bin" + for prefix in gnu g; do + for command in stat touch sed cp tr sha1sum sha256sum md5sum sha512sum grep date wc chmod head readlink tar expr base64; do + if command -v $prefix$command 2>/dev/null >/dev/null; then + [ -e "${TMPWORKINGDIRECTORY}/bin/$command" ] || ln -sf $(command -v $prefix$command) "${TMPWORKINGDIRECTORY}/bin/$command" + fi + done + done + export PATH="${TMPWORKINGDIRECTORY}/bin/:$PATH" + + mkdir -m 700 "${TMPWORKINGDIRECTORY}/downloaded" if [ "$(id -u)" = '0' ]; then # relax permissions so that running as root with user switching works -- cgit v1.2.3 From 144ce9208b39c1bf0d26e8ce071367ee668c0ae2 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 23 Aug 2016 23:01:18 +0200 Subject: test: Allow stunnel to be used instead of stunnel4 This is needed for Fedora and FreeBSD. Gbp-Dch: ignore --- test/integration/framework | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'test/integration/framework') diff --git a/test/integration/framework b/test/integration/framework index 25cabc9f8..ffcb8af04 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -1296,7 +1296,12 @@ changetowebserver() { } changetohttpswebserver() { - if ! command -v stunnel4 >/dev/null 2>&1; then + local stunnel4 + if command -v stunnel4 >/dev/null 2>&1; then + stunnel4=stunnel4 + elif command -v stunnel >/dev/null 2>&1; then + stunnel4=stunnel + else msgdie 'You need to install stunnel4 for https testcases' fi if [ ! -e "${TMPWORKINGDIRECTORY}/aptarchive/aptwebserver.pid" ]; then @@ -1310,14 +1315,14 @@ output = /dev/null accept = 0 connect = $APTHTTPPORT " > "${TMPWORKINGDIRECTORY}/stunnel.conf" - stunnel4 "${TMPWORKINGDIRECTORY}/stunnel.conf" + $stunnel4 "${TMPWORKINGDIRECTORY}/stunnel.conf" waitforpidfile "${TMPWORKINGDIRECTORY}/aptarchive/stunnel.pid" local PID="$(cat "${TMPWORKINGDIRECTORY}/aptarchive/stunnel.pid")" if [ -z "$PID" ]; then - msgdie 'Could not fork stunnel4 successfully' + msgdie 'Could not fork $stunnel4 successfully' fi addtrap 'prefix' "kill ${PID};" - APTHTTPSPORT="$(lsof -i -n | awk "/^stunnel4 / && \$2 == \"${PID}\" {print \$9; exit; }" | cut -d':' -f 2)" + APTHTTPSPORT="$(lsof -i -n | awk "/^$stunnel4 / && \$2 == \"${PID}\" {print \$9; exit; }" | cut -d':' -f 2)" webserverconfig 'aptwebserver::port::https' "$APTHTTPSPORT" "https://localhost:${APTHTTPSPORT}" rewritesourceslist "https://localhost:${APTHTTPSPORT}/" } -- cgit v1.2.3 From 4b1fb7b1876bdb46cb7a0329158f12638baa2464 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 23 Aug 2016 23:19:14 +0200 Subject: test: Get rid of debhelper rules.tiny example dep Gbp-Dch: ignore --- test/integration/framework | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'test/integration/framework') diff --git a/test/integration/framework b/test/integration/framework index ffcb8af04..39c9fcde2 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -701,13 +701,25 @@ Package: $NAME" echo '3.0 (native)' > "${BUILDDIR}/debian/source/format" } +make_tiny_rules() { + local OUT="$1" + if command -v gmake >/dev/null 2>&1; then + [ -e ${TMPWORKINGDIRECTORY}/bin/make ] || ln -s $(command -v gmake) ${TMPWORKINGDIRECTORY}/bin/make + echo "#!${TMPWORKINGDIRECTORY}/bin/make -f" > "$OUT" + else + echo '#!/usr/bin/make -f' > "$OUT" + fi + echo '%:' >> "$OUT" + echo ' dh $@' >> "$OUT" +} + setupsimplenativepackage() { _setupsimplenativepackage "$@" local NAME="$1" local VERSION="$3" local BUILDDIR="${TMPWORKINGDIRECTORY}/incoming/${NAME}-${VERSION}" test -e "${BUILDDIR}/debian/compat" || echo '7' > "${BUILDDIR}/debian/compat" - test -e "${BUILDDIR}/debian/rules" || cp /usr/share/doc/debhelper/examples/rules.tiny "${BUILDDIR}/debian/rules" + test -e "${BUILDDIR}/debian/rules" || make_tiny_rules "${BUILDDIR}/debian/rules" } buildsimplenativepackage() { -- cgit v1.2.3 From 1a7c66e40ffd2bdd404b2efdc6dc268ebfd508ec Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 23 Aug 2016 23:37:36 +0200 Subject: test: Fix building of noopchroot Gbp-Dch: ignore --- test/integration/framework | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'test/integration/framework') diff --git a/test/integration/framework b/test/integration/framework index 39c9fcde2..bf9cef4e8 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -589,7 +589,11 @@ int execvp(const char *file, char *const argv[]) { return func_execvp(newfile, argv); } EOF - testempty --nomsg gcc -Wall -Wextra -fPIC -shared -o noopchroot.so noopchroot.c -ldl + if cc -ldl 2>&1 | grep -q dl; then + testempty --nomsg cc -Wall -Wextra -fPIC -shared -o noopchroot.so noopchroot.c + else + testempty --nomsg cc -Wall -Wextra -fPIC -shared -o noopchroot.so noopchroot.c -ldl + fi } configcompression() { if [ "$1" = 'ALL' ]; then -- cgit v1.2.3 From f8e8a14f17cb41c588970fc57bb41fcf6058a703 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Wed, 24 Aug 2016 00:08:39 +0200 Subject: test: Explicitly pass --admindir=var/lib/dpkg to dpkg Our test suite assumes that dpkg's admindir is var/lib/dpkg. This might not always be true; for example, on FreeBSD, it is located at /var/db/dpkg. Gbp-Dch: ignore --- test/integration/framework | 2 ++ 1 file changed, 2 insertions(+) (limited to 'test/integration/framework') diff --git a/test/integration/framework b/test/integration/framework index bf9cef4e8..827226b7d 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -407,11 +407,13 @@ EOF cp "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg" "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/gdb-dpkg" cat >> "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg" <> "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/gdb-dpkg" < Date: Wed, 24 Aug 2016 00:48:22 +0200 Subject: test: Make sure we always find a dpkg in status file Especially on non-Debian platforms, dpkg might not list itself on the host system, and thus dpkg --assert-multi-arch fails. Gbp-Dch: ignore --- test/integration/framework | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'test/integration/framework') diff --git a/test/integration/framework b/test/integration/framework index 827226b7d..3bbb8bc25 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -523,6 +523,14 @@ configdpkg() { fi fi rm -f rootdir/etc/apt/apt.conf.d/00foreigndpkg + # if multi-arch make sure dpkg can detect itself as capable of it + if getarchitectures | grep -E -q '[^ ]+ [^ ]+'; then + if [ "0" = "$(dpkg -l dpkg 2> /dev/null | grep '^i' | wc -l)" ]; then + # dpkg doesn't really check the version as long as it is fully installed, + # but just to be sure we choose one above the required version + insertinstalledpackage 'dpkg' "all" '1.16.2+fake' + fi + fi if command dpkg --assert-multi-arch >/dev/null 2>&1 ; then local ARCHS="$(getarchitectures)" local DPKGARCH="$(dpkg --print-architecture)" @@ -538,14 +546,6 @@ configdpkg() { fi fi done - # if multi-arch make sure dpkg can detect itself as capable of it - if echo "$ARCHS" | grep -E -q '[^ ]+ [^ ]+'; then - if [ "0" = "$(dpkg -l dpkg 2> /dev/null | grep '^i' | wc -l)" ]; then - # dpkg doesn't really check the version as long as it is fully installed, - # but just to be sure we choose one above the required version - insertinstalledpackage 'dpkg' "all" '1.16.2+fake' - fi - fi fi } -- cgit v1.2.3 From 76325a660e09d3af503c292ae12c9de2830994e5 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Wed, 24 Aug 2016 01:40:43 +0200 Subject: test: Use printf "%b\n" instead of echo for strings with '\' Use of echo with special characters is not portable. On a normal POSIX system, the behavior with backslash escaped strings is implementation-defined. On an XSI-conformant system, they must be interpreted. A way out is the printf command - printf "%b" specifies that the following argument is to be printed with backslash escapes interpreted. Gbp-Dch: ignore --- test/integration/framework | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'test/integration/framework') diff --git a/test/integration/framework b/test/integration/framework index 3bbb8bc25..3ef8597a8 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -689,7 +689,7 @@ Standards-Version: 3.9.3" if [ "$SECTION" != '' ]; then echo "Section: $SECTION" fi - local BUILDDEPS="$(echo "$DEPENDENCIES" | grep '^Build-')" + local BUILDDEPS="$(printf "%b\n" "$DEPENDENCIES" | grep '^Build-')" test -z "$BUILDDEPS" || echo "$BUILDDEPS" echo " Package: $NAME" @@ -699,9 +699,9 @@ Package: $NAME" else echo "Architecture: any" fi - local DEPS="$(echo "$DEPENDENCIES" | grep -v '^Build-')" + local DEPS="$(printf "%b\n" "$DEPENDENCIES" | grep -v '^Build-')" test -z "$DEPS" || echo "$DEPS" - echo "Description: $DESCRIPTION" + printf "%b\n" "Description: $DESCRIPTION" } > "${BUILDDIR}/debian/control" echo '3.0 (native)' > "${BUILDDIR}/debian/source/format" @@ -911,7 +911,7 @@ Maintainer: Joe Sixpack " test "$arch" = 'none' || echo "Architecture: $arch" echo "Version: $VERSION Filename: pool/main/${NAME}/${NAME}_${VERSION}_${arch}.deb" - test -z "$DEPENDENCIES" || echo "$DEPENDENCIES" + test -z "$DEPENDENCIES" || printf "%b\n" "$DEPENDENCIES" echo "Description: $(printf '%s' "$DESCRIPTION" | head -n 1)" echo "Description-md5: $(printf '%s' "$DESCRIPTION" | md5sum | cut -d' ' -f 1)" echo @@ -946,7 +946,7 @@ Binary: $BINARY Version: $VERSION Maintainer: Joe Sixpack Architecture: $ARCH" >> $FILE - test -z "$DEPENDENCIES" || echo "$DEPENDENCIES" >> "$FILE" + test -z "$DEPENDENCIES" || printf "%b\n" "$DEPENDENCIES" >> "$FILE" echo "Files: $(echo -n "$DSCFILE" | md5sum | cut -d' ' -f 1) $(echo -n "$DSCFILE" | wc -c) "$DSCFILE" $(echo -n "$TARFILE" | md5sum | cut -d' ' -f 1) $(echo -n "$TARFILE" | wc -c) "$TARFILE" @@ -980,8 +980,8 @@ Installed-Size: 42 Maintainer: Joe Sixpack Version: $VERSION" >> "$FILE" test "$arch" = 'none' || echo "Architecture: $arch" >> "$FILE" - test -z "$DEPENDENCIES" || echo "$DEPENDENCIES" >> "$FILE" - echo "Description: $DESCRIPTION" >> "$FILE" + test -z "$DEPENDENCIES" || printf "%b\n" "$DEPENDENCIES" >> "$FILE" + printf "%b\n" "Description: $DESCRIPTION" >> "$FILE" echo >> "$FILE" if [ "$(dpkg-query -W --showformat='${Multi-Arch}')" = 'same' ]; then echo -n > "${INFO}/${NAME}:${arch}.list" -- cgit v1.2.3 From 34f0d758a46961f3b49991960f58fea14cf7dc4a Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Wed, 24 Aug 2016 01:51:50 +0200 Subject: test: Fix invalid quoting in variable expansion This breaks the tests with FreeBSD's shell, and is not needed - it works fine without it. Gbp-Dch: ignore --- test/integration/framework | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'test/integration/framework') diff --git a/test/integration/framework b/test/integration/framework index 3ef8597a8..9dce3dc11 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -653,10 +653,10 @@ _setupsimplenativepackage() { local VERSION="$3" local RELEASE="${4:-unstable}" local DEPENDENCIES="$5" - local DESCRIPTION="${6:-"an autogenerated dummy ${NAME}=${VERSION}/${RELEASE} + local DESCRIPTION="${6:-an autogenerated dummy ${NAME}=${VERSION}/${RELEASE} If you find such a package installed on your system, something went horribly wrong! They are autogenerated - und used only by testcases and serve no other purpose…"}" + und used only by testcases and serve no other purpose…}" local SECTION="${7:-others}" local PRIORITY="${8:-optional}" @@ -883,10 +883,10 @@ insertpackage() { local VERSION="$4" local DEPENDENCIES="$5" local PRIORITY="${6:-optional}" - local DESCRIPTION="${7:-"an autogenerated dummy ${NAME}=${VERSION}/${RELEASES} + local DESCRIPTION="${7:-an autogenerated dummy ${NAME}=${VERSION}/${RELEASES} If you find such a package installed on your system, something went horribly wrong! They are autogenerated - und used only by testcases and serve no other purpose…"}" + und used only by testcases and serve no other purpose…}" local ARCHS="" for RELEASE in $(printf '%s' "$RELEASES" | tr ',' '\n'); do if [ "$RELEASE" = 'installed' ]; then @@ -964,10 +964,10 @@ insertinstalledpackage() { local DEPENDENCIES="$4" local PRIORITY="${5:-optional}" local STATUS="${6:-install ok installed}" - local DESCRIPTION="${7:-"an autogenerated dummy ${NAME}=${VERSION}/installed + local DESCRIPTION="${7:-an autogenerated dummy ${NAME}=${VERSION}/installed If you find such a package installed on your system, something went horribly wrong! They are autogenerated - und used only by testcases and serve no other purpose…"}" + und used only by testcases and serve no other purpose…}" local FILE='rootdir/var/lib/dpkg/status' local INFO='rootdir/var/lib/dpkg/info' -- cgit v1.2.3 From 71e22da91ff888cf645e5083fbac7839846111d2 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Wed, 24 Aug 2016 16:05:37 +0200 Subject: test: Use a file to determine TEST_DEFAULT_GROUP This is more safe against sticky bits. For example, in FreeBSD all files created in /tmp have the group set to wheel. Gbp-Dch: ignore --- test/integration/framework | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'test/integration/framework') diff --git a/test/integration/framework b/test/integration/framework index 9dce3dc11..677c40711 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -451,11 +451,8 @@ EOF # create some files in /tmp and look at user/group to get what this means TEST_DEFAULT_USER="$(id -un)" - if [ "$(uname)" = 'GNU/kFreeBSD' ]; then - TEST_DEFAULT_GROUP='root' - else - TEST_DEFAULT_GROUP="$(id -gn)" - fi + touch "${TMPWORKINGDIRECTORY}/test-file" + TEST_DEFAULT_GROUP=$(stat --format '%G' "${TMPWORKINGDIRECTORY}/test-file") # cleanup the environment a bit # prefer our apt binaries over the system apt binaries -- cgit v1.2.3 From 03ae49aca57b499f8ef497c2777b3eaef2516d1a Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Wed, 24 Aug 2016 16:21:12 +0200 Subject: test: More portable check for dpkg versions This check should work regardless if dpkg was installed by dpkg or by a native package manager like RPM or pkg. Gbp-Dch: ignore --- test/integration/framework | 3 +++ 1 file changed, 3 insertions(+) (limited to 'test/integration/framework') diff --git a/test/integration/framework b/test/integration/framework index 677c40711..ec57a23c3 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -195,6 +195,9 @@ aptinternalplanner() { runapt "${APTINTERNALPLANNER}" "$@"; } dpkg() { "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg" "$@" } +dpkg_version() { + command perl -MDpkg -E 'say $Dpkg::PROGVERSION' +} dpkgcheckbuilddeps() { command dpkg-checkbuilddeps --admindir="${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg" "$@" } -- cgit v1.2.3 From f878d3a862128bc1385616751ae1d78246b1bd01 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Thu, 25 Aug 2016 15:02:13 +0200 Subject: test: Assert multi-arch in the chroot The host system might not have a dpkg installed, which makes dpkg fail with: dpkg not recorded as installed, cannot check for multi-arch support! That's entirely useless of course. We want to know if dpkg could support multi-arch in our chroot, so we pseudo-install dpkg into the chroot and pretend it's version is one version higher than the minimum dpkg version, so dpkg --assert-multi-arch works on recent dpkgs. Gbp-Dch: ignore --- test/integration/framework | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/integration/framework') diff --git a/test/integration/framework b/test/integration/framework index ec57a23c3..546f070d7 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -531,7 +531,7 @@ configdpkg() { insertinstalledpackage 'dpkg' "all" '1.16.2+fake' fi fi - if command dpkg --assert-multi-arch >/dev/null 2>&1 ; then + if dpkg --assert-multi-arch >/dev/null 2>&1 ; then local ARCHS="$(getarchitectures)" local DPKGARCH="$(dpkg --print-architecture)" # this ensures that even if multi-arch isn't active in the view -- cgit v1.2.3 From 757ec4e1ef633f9867928559df82adf3d0ac7b78 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Thu, 25 Aug 2016 15:35:32 +0200 Subject: test: Use :$(id -gn) instead of :root (when run as root) On BSD systems, the root group is wheel, not root, so let's just use the default group here. Gbp-Dch: ignore --- test/integration/framework | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'test/integration/framework') diff --git a/test/integration/framework b/test/integration/framework index 546f070d7..c513ed12c 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -314,7 +314,7 @@ setupenvironment() { # relax permissions so that running as root with user switching works umask 022 chmod 711 "$TMPWORKINGDIRECTORY" - chown _apt:root "${TMPWORKINGDIRECTORY}/downloaded" + chown _apt:$(id -gn) "${TMPWORKINGDIRECTORY}/downloaded" fi TESTDIRECTORY="$(readlink -f "$(dirname $0)")" @@ -442,7 +442,7 @@ EOF cp "${TESTDIRECTORY}/apt.pem" "${TMPWORKINGDIRECTORY}/rootdir/etc/webserver.pem" if [ "$(id -u)" = '0' ]; then - chown _apt:root "${TMPWORKINGDIRECTORY}/rootdir/etc/webserver.pem" + chown _apt:$(id -gn) "${TMPWORKINGDIRECTORY}/rootdir/etc/webserver.pem" fi echo "Acquire::https::CaInfo \"${TMPWORKINGDIRECTORY}/rootdir/etc/webserver.pem\";" > rootdir/etc/apt/apt.conf.d/99https echo "Apt::Cmd::Disable-Script-Warning \"1\";" > rootdir/etc/apt/apt.conf.d/apt-binary @@ -1960,7 +1960,7 @@ mkdir() { command mkdir -m 700 -p "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/partial" touch "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/lock" if [ "$(id -u)" = '0' ]; then - chown _apt:root "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/partial" + chown _apt:$(id -gn) "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/partial" fi else command mkdir "$@" -- cgit v1.2.3