testsuite: add trap to fopen() including tests
diff --git a/Makefile.am b/Makefile.am
index 4766424..6e9a45d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,6 @@
 SUBDIRS = . libkmod/docs man
 
+DISTCLEAN_LOCAL_HOOKS =
 EXTRA_DIST =
 CLEANFILES =
 ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
@@ -128,6 +129,10 @@
 		$(LN_S) $(notdir $<) $@)
 endif
 
+# ------------------------------------------------------------------------------
+# TESTSUITE
+# ------------------------------------------------------------------------------
+
 # libtool will not create a shared library that is not installed. Workaround
 # this by creating it by ourselves
 CREATE_SHARED_OVERRIDE_LIB = \
@@ -137,13 +142,30 @@
 testsuite/uname.so: testsuite/uname.c
 	$(CREATE_SHARED_OVERRIDE_LIB)
 
-EXTRA_DIST += testsuite/uname.c
-CLEANFILES += testsuite/uname.so
+testsuite/path.so: testsuite/path.c
+	$(CREATE_SHARED_OVERRIDE_LIB)
+
+EXTRA_DIST += testsuite/uname.c testsuite/path.c
+CLEANFILES += testsuite/uname.so testsuite/path.so
+
+testsuite/rootfs:
+	$(AM_V_GEN) tar -C testsuite/ \
+		-xJf $(top_srcdir)/testsuite/rootfs.tar.xz
+
+testsuite-distclean:
+	-rm -rf testsuite/rootfs
+
+DISTCLEAN_LOCAL_HOOKS += testsuite-distclean
+EXTRA_DIST += testsuite/rootfs.tar.xz
 
 check_LTLIBRARIES = testsuite/libtestsuite.la
 testsuite_libtestsuite_la_SOURCES = testsuite/testsuite.c \
 				    testsuite/testsuite.h
-testsuite_libtestsuite_la_DEPENDENCIES = testsuite/uname.so
+testsuite_libtestsuite_la_DEPENDENCIES = testsuite/uname.so \
+					 testsuite/path.so \
+					 testsuite/rootfs
+testsuite_test_testsuite_CPPFLAGS = $(AM_CPPFLAGS) \
+				    -DTESTSUITE_ROOTFS=\"$(abs_top_builddir)/testsuite/rootfs/\"
 
 TESTSUITE = testsuite/test-init testsuite/test-testsuite
 check_PROGRAMS = $(TESTSUITE)
@@ -154,6 +176,7 @@
 
 DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
 
+distclean-local: $(DISTCLEAN_LOCAL_HOOKS)
 
 # ------------------------------------------------------------------------------
 # custom release helpers