Whamcloud - gitweb
Fix more compiler warnings.
[tools/e2fsprogs.git] / tests / Makefile.in
index 4c77666..fc3f67c 100644 (file)
@@ -6,18 +6,56 @@ srcdir = @srcdir@
 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}