1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
#!/bin/sh
set -eu
. "$(dirname "$0")/shared-functions.sh"
testname="$(basename "$0")"
pkgname="libnss-test-$testname"
nss_lines="
hosts before=dns mdns4
hosts before=mdns4 mdns4_minimal [NOTFOUND=return]
hosts remove-only mdns # In case the user manually added it
"
expected_services="files mdns4_minimal [NOTFOUND=return] mdns4 dns"
echo "Set up and build test packages..."
cd "$AUTOPKGTEST_TMP"
mkdir "$pkgname"
cd "$pkgname"
setup_pkg "$pkgname" "$testname"
build_pkg "$pkgname" "1" "$nss_lines"
build_pkg "$pkgname" "2" "$nss_lines"
cd "$AUTOPKGTEST_TMP"
echo "Set up /etc/nsswitch.conf..."
echo "$NSSWITCH_CONF" > /etc/nsswitch.conf
check_line "hosts" "files dns"
echo "Test that installing the package installs the services..."
dpkg --install "${pkgname}_1_all.deb"
check_line "hosts" "$expected_services"
echo "Test that updating the package does not install the services again..."
dpkg --install "${pkgname}_2_all.deb"
check_line "hosts" "$expected_services"
echo "Test that removing the package removes the services..."
dpkg --remove "$pkgname"
check_line "hosts" "files dns"
echo "Test that installing the package again reinstalls the services..."
dpkg --install "${pkgname}_2_all.deb"
check_line "hosts" "$expected_services"
echo "Test that removing the package again removes the services..."
dpkg --remove "$pkgname"
check_line "hosts" "files dns"
echo "Test that reinstalling the package injects the services..."
dpkg --install "${pkgname}_1_all.deb"
check_line "hosts" "$expected_services"
echo "Manually remove services from /etc/nsswitch.conf..."
echo "$NSSWITCH_CONF" > /etc/nsswitch.conf
check_line "hosts" "files dns"
echo "Test that upgrading the package after modifying nsswitch.conf does not inject the services again..."
dpkg --install "${pkgname}_2_all.deb"
check_line "hosts" "files dns"
|