diff --git a/Makefile.am b/Makefile.am index 4f63bc19d..180562e19 100644 --- a/Makefile.am +++ b/Makefile.am @@ -94,6 +94,8 @@ EXTRA_DIST = \ debian/shlibs.default \ debian/shlibs.override \ debian/tests/control \ + debian/tests/test-func \ + debian/tests/test-func-root \ debian/tests/test-not-root \ debian/tests/test-root \ po/its/polkit.its \ diff --git a/debian/tests/control b/debian/tests/control index 895b656a9..6cd7a7b18 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -5,3 +5,11 @@ Restrictions: superficial skippable Tests: test-root Depends: build-essential, autoconf, pkg-config, file Restrictions: superficial needs-root breaks-testbed + +Tests: test-func +Depends: @, eatmydata +Restrictions: allow-stderr + +Tests: test-func-root +Depends: @, eatmydata +Restrictions: allow-stderr needs-root breaks-testbed diff --git a/debian/tests/test-func b/debian/tests/test-func new file mode 100644 index 000000000..db386cd2f --- /dev/null +++ b/debian/tests/test-func @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +export DPKG_TESTSUITE_OPTIONS="debug" +export DPKG_ADMINDIR="$AUTOPKGTEST_TMP/db" +export DPKG_INSTDIR="$AUTOPKGTEST_TMP/root" + +tests/db-regen "$DPKG_ADMINDIR" "$DPKG_INSTDIR" +eatmydata make -C tests test DPKG_INSTDIR="$DPKG_INSTDIR" DPKG_ADMINDIR="$DPKG_ADMINDIR" diff --git a/debian/tests/test-func-root b/debian/tests/test-func-root new file mode 100644 index 000000000..e12297c99 --- /dev/null +++ b/debian/tests/test-func-root @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +if [ "$(id -u)" != '0' ]; then + # Fail, we declared needing root as a restriction. + exit 1 +fi + +export DPKG_TESTSUITE_OPTIONS="debug as-root" +export DPKG_ADMINDIR="$AUTOPKGTEST_TMP/db" + +tests/db-regen "$DPKG_ADMINDIR" "/" +eatmydata make -C tests test DPKG_ADMINDIR="$DPKG_ADMINDIR"