top_srcdir = @top_srcdir@
VPATH = @srcdir@
top_builddir = ..
+my_dir = tests
INSTALL = @INSTALL@
+@MCONFIG@
+
all:: @DO_TEST_SUITE@
-check::
+test_script: test_script.in Makefile
+ @echo "Creating test_script..."
+ @echo "#!/bin/sh" > test_script
+@HTREE_CMT@ @echo "HTREE=y" >> test_script
+@HTREE_CLR_CMT@ @echo "HTREE_CLR=y" >> test_script
+ @echo "SRCDIR=@srcdir@" >> test_script
+ @cat $(srcdir)/test_script.in >> test_script
+ @chmod +x test_script
+
+check:: test_script
@echo "Running e2fsprogs test suite..."
@echo " "
- @$(srcdir)/test_script $(srcdir)
+ @./test_script
+
+TDIR=f_testnew
+# Target which creates a new testcase to simplify adding new regression tests.
+testnew:
+ @echo "Creating a new e2fsck testcase in ${TDIR}"
+ @mkdir -p ${TDIR}
+ dd if=/dev/zero of=${TDIR}/image bs=1k count=8k
+ mke2fs -j -F -N 256 ${TDIR}/image
+ @echo "new test description" > ${TDIR}/name
+ @echo; echo; echo "New test filesystem at ${TDIR}/image."
+ @echo "Now, break the filesystem as appropriate, and run 'make testend'"
+
+EXPECT1=${TDIR}/expect.1
+EXPECT2=${TDIR}/expect.2
+# Target which generates the expect files for the new testcase.
+testend: test_script ${TDIR}/image
+ gzip -9 ${TDIR}/image
+ @OUT1=${EXPECT1} OUT2=${EXPECT2} ./test_script ${TDIR}
+ @echo; echo; echo "*** output from first e2fsck run (${EXPECT1}) ***"
+ @cat ${EXPECT1}
+ @echo "*** output from second e2fsck run (${EXPECT2}) ***"
+ @cat ${EXPECT2}
+ @echo "*** end of e2fsck output ***"
+ @echo; echo "Hopefully e2fsck now fixes this problem properly."
+ @echo "If all is well, edit ${TDIR}/name and rename ${TDIR}."
clean::
- $(RM) -f *.log *.new *.failed *.ok test.img
+ $(RM) -f *.log *.new *.failed *.ok test.img test_script
distclean:: clean
$(RM) -f Makefile
+ $(RM) -rf ${TDIR}