summaryrefslogtreecommitdiffstats
path: root/tests/t-maintscript-leak
diff options
context:
space:
mode:
Diffstat (limited to 'tests/t-maintscript-leak')
-rw-r--r--tests/t-maintscript-leak/Makefile14
-rw-r--r--tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/control7
-rwxr-xr-xtests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/postinst16
-rwxr-xr-xtests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/postrm16
-rwxr-xr-xtests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/preinst16
-rwxr-xr-xtests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/prerm16
6 files changed, 85 insertions, 0 deletions
diff --git a/tests/t-maintscript-leak/Makefile b/tests/t-maintscript-leak/Makefile
new file mode 100644
index 0000000..c01646a
--- /dev/null
+++ b/tests/t-maintscript-leak/Makefile
@@ -0,0 +1,14 @@
+TESTS_DEB := pkg-maintscript-leak
+
+include ../Test.mk
+
+test-case:
+ # Check for leaks on install
+ $(DPKG_INSTALL) pkg-maintscript-leak.deb
+ # Check for leaks on upgrade
+ $(DPKG_INSTALL) pkg-maintscript-leak.deb
+ # Check for leaks on removal
+ $(DPKG_PURGE) pkg-maintscript-leak
+
+test-clean:
+ $(DPKG_PURGE) pkg-maintscript-leak
diff --git a/tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/control b/tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/control
new file mode 100644
index 0000000..5829d13
--- /dev/null
+++ b/tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/control
@@ -0,0 +1,7 @@
+Package: pkg-maintscript-leak
+Version: 0
+Section: test
+Priority: extra
+Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
+Architecture: all
+Description: test package - maintscript leaks
diff --git a/tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/postinst b/tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/postinst
new file mode 100755
index 0000000..580884d
--- /dev/null
+++ b/tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/postinst
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+# On kFreeBSD: /dev/fd/
+# On Linux and kFreeBSD w/ linprocfs: /proc/self/fd/
+for d in /dev/fd/ /proc/self/fd/; do
+ if [ -d $d ]; then
+ fddir=$d
+ break
+ fi
+done
+
+if [ -n $fddir ]; then
+ ls -l $fddir
+ # We should have the 3 standard descriptors, plus 1 for the open directory.
+ [ `ls $fddir | wc -l` -eq 4 ] || echo WARN: maintscript leaks fd
+fi
diff --git a/tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/postrm b/tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/postrm
new file mode 100755
index 0000000..580884d
--- /dev/null
+++ b/tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/postrm
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+# On kFreeBSD: /dev/fd/
+# On Linux and kFreeBSD w/ linprocfs: /proc/self/fd/
+for d in /dev/fd/ /proc/self/fd/; do
+ if [ -d $d ]; then
+ fddir=$d
+ break
+ fi
+done
+
+if [ -n $fddir ]; then
+ ls -l $fddir
+ # We should have the 3 standard descriptors, plus 1 for the open directory.
+ [ `ls $fddir | wc -l` -eq 4 ] || echo WARN: maintscript leaks fd
+fi
diff --git a/tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/preinst b/tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/preinst
new file mode 100755
index 0000000..580884d
--- /dev/null
+++ b/tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/preinst
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+# On kFreeBSD: /dev/fd/
+# On Linux and kFreeBSD w/ linprocfs: /proc/self/fd/
+for d in /dev/fd/ /proc/self/fd/; do
+ if [ -d $d ]; then
+ fddir=$d
+ break
+ fi
+done
+
+if [ -n $fddir ]; then
+ ls -l $fddir
+ # We should have the 3 standard descriptors, plus 1 for the open directory.
+ [ `ls $fddir | wc -l` -eq 4 ] || echo WARN: maintscript leaks fd
+fi
diff --git a/tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/prerm b/tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/prerm
new file mode 100755
index 0000000..580884d
--- /dev/null
+++ b/tests/t-maintscript-leak/pkg-maintscript-leak/DEBIAN/prerm
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+# On kFreeBSD: /dev/fd/
+# On Linux and kFreeBSD w/ linprocfs: /proc/self/fd/
+for d in /dev/fd/ /proc/self/fd/; do
+ if [ -d $d ]; then
+ fddir=$d
+ break
+ fi
+done
+
+if [ -n $fddir ]; then
+ ls -l $fddir
+ # We should have the 3 standard descriptors, plus 1 for the open directory.
+ [ `ls $fddir | wc -l` -eq 4 ] || echo WARN: maintscript leaks fd
+fi