#!/bin/sh set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment configarchitecture "amd64" if [ "$(id -u)" = '0' ]; then msgskip "Tests for unreadable auth.conf files do not work as root" exit 0 fi buildsimplenativepackage "foo" "all" "1" setupaptarchive --no-update changetohttpswebserver --authorization="$(printf '%s' 'star@irc:hunter2' | base64 )" rewritesourceslist "https://localhost:${APTHTTPSPORT}/" AUTHCONF="${TMPWORKINGDIRECTORY}/rootdir/etc/apt/auth.conf.d/private.conf" mkdir -p "$(dirname "$AUTHCONF")" printf '%s\n' \ "machine https://localhost" \ "login star@irc" \ "password hunter2" > "$AUTHCONF" chmod 600 "$AUTHCONF" testsuccess aptget update chmod 000 "$AUTHCONF" testfailure aptget source -d foo OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/testfailure.output" testsuccess grep -F "Authentication credentials may be configured in ${AUTHCONF}" "$OUTPUT" testsuccess grep -F "not readable by the current user. Try running this command as root." "$OUTPUT" testsuccess grep -E "401[[:space:]]+Unauthorized" "$OUTPUT"