summaryrefslogtreecommitdiff
path: root/debian/tests
diff options
context:
space:
mode:
Diffstat (limited to 'debian/tests')
-rw-r--r--debian/tests/control2
-rw-r--r--debian/tests/id18
-rw-r--r--debian/tests/state25
3 files changed, 45 insertions, 0 deletions
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..1031e69
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,2 @@
+Tests: id, state
+Depends: @
diff --git a/debian/tests/id b/debian/tests/id
new file mode 100644
index 0000000..4a0a8a3
--- /dev/null
+++ b/debian/tests/id
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+real_id=$(id -u)
+fake_id=$(fakeroot id -u)
+
+case "${real_id}:${fake_id}" in
+ (0:0)
+ echo >&2 "test run under root: failure"
+ exit 1
+ ;;
+ (*:0)
+ echo "id: OK"
+ ;;
+ (*)
+ echo >&2 "unexpected result (${real_id}:${fake_id}): failure"
+ exit 2
+ ;;
+esac
diff --git a/debian/tests/state b/debian/tests/state
new file mode 100644
index 0000000..e78bf4d
--- /dev/null
+++ b/debian/tests/state
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" EXIT INT QUIT ABRT PIPE TERM
+
+touch ${WORKDIR}/foo
+
+fakeroot -s ${WORKDIR}/state chown nobody ${WORKDIR}/foo
+
+real=$(stat --format '%u' ${WORKDIR}/foo)
+fake=$(fakeroot -i ${WORKDIR}/state stat --format '%U' ${WORKDIR}/foo)
+
+case "${real}:${fake}" in
+ (0:*)
+ echo >&2 "test run under root: failure"
+ exit 1
+ ;;
+ (*:nobody)
+ echo "state: OK"
+ ;;
+ (*)
+ echo >&2 "unexpected result (${real}:${fake}): failure"
+ exit 2
+ ;;
+esac