summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2017-04-26 10:07:18 -0400
committerTheodore Ts'o <tytso@mit.edu>2017-04-26 10:07:18 -0400
commit11b8ef8bd6a22cbe4c2ce9cf38d492db7e418ccc (patch)
tree19be7087164a0b4221b2a68b70883fe5a77c9c14
parentb772dc5a7374b3c85cae7839270ca0178f18f30e (diff)
downloade2fsprogs-11b8ef8bd6a22cbe4c2ce9cf38d492db7e418ccc.tar.gz
tests: skip running long test with "make check" and add "make fullcheck"
Don't run tests which take longer than 20 seconds to run (especially f_large_dir, whose run time is well over ten minutes) for "make check". The new "make fullcheck" will run all of the regression tests for e2fsprogs. Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r--MCONFIG.in2
-rw-r--r--Makefile.in6
-rw-r--r--debugfs/Makefile.in2
-rw-r--r--e2fsck/Makefile.in2
-rw-r--r--intl/Makefile.in2
-rw-r--r--lib/blkid/Makefile.in5
-rw-r--r--lib/e2p/Makefile.in2
-rw-r--r--lib/et/Makefile.in2
-rw-r--r--lib/ext2fs/Makefile.in2
-rw-r--r--lib/ss/Makefile.in2
-rw-r--r--lib/support/Makefile.in2
-rw-r--r--lib/uuid/Makefile.in2
-rw-r--r--misc/Makefile.in2
-rw-r--r--po/Makefile.in.in2
-rw-r--r--resize/Makefile.in2
-rw-r--r--tests/Makefile.in7
-rw-r--r--tests/f_large_dir/is_slow_test0
-rw-r--r--tests/f_mmp/is_slow_test0
-rw-r--r--tests/f_mmp_garbage/is_slow_test0
-rw-r--r--tests/r_64bit_big_expand/is_slow_test0
-rw-r--r--tests/r_ext4_big_expand/is_slow_test0
-rw-r--r--tests/test_one.in9
22 files changed, 36 insertions, 17 deletions
diff --git a/MCONFIG.in b/MCONFIG.in
index e82963d2..22b74eba 100644
--- a/MCONFIG.in
+++ b/MCONFIG.in
@@ -4,6 +4,8 @@ all::
check::
+fullcheck::
+
SHELL = /bin/sh
COMPRESS_EXT = gz bz2 bz Z
diff --git a/Makefile.in b/Makefile.in
index 7da9ad7d..37b60692 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -78,8 +78,9 @@ coverage.txt: coverage.txt-recursive
check-recursive: all
-TAGS clean-recursive distclean-recursive depend-recursive check-recursive \
- mostlyclean-recursive realclean-recursive coverage.txt-recursive:
+TAGS clean-recursive distclean-recursive depend-recursive fullcheck-recursive \
+ check-recursive mostlyclean-recursive realclean-recursive \
+ coverage.txt-recursive:
@for subdir in $(SUBDIRS); do \
if test -d $$subdir ; then \
target=`echo $@|$(SED) 's/-recursive//'`; \
@@ -151,3 +152,4 @@ realclean-local: distclean-local
check:: all check-recursive
+fullcheck:: all fullcheck-recursive
diff --git a/debugfs/Makefile.in b/debugfs/Makefile.in
index 3ac80d9b..408a3236 100644
--- a/debugfs/Makefile.in
+++ b/debugfs/Makefile.in
@@ -164,7 +164,7 @@ tst_set_fields: set_fields.c util.c
$(Q) $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) $(SYSLIBS) -DUNITTEST \
-o tst_set_fields $(srcdir)/set_fields.c $(srcdir)/util.c $(LIBS)
-check:: tst_set_fields
+fullcheck check:: tst_set_fields
$(TESTENV) ./tst_set_fields
# +++ Dependency line eater +++
diff --git a/e2fsck/Makefile.in b/e2fsck/Makefile.in
index cee6a42b..e43d3404 100644
--- a/e2fsck/Makefile.in
+++ b/e2fsck/Makefile.in
@@ -150,7 +150,7 @@ tst_region: region.c $(DEPLIBCOM_ERR)
$(ALL_CFLAGS) $(ALL_LDFLAGS) -DTEST_PROGRAM \
$(LIBCOM_ERR) $(SYSLIBS)
-check:: tst_refcount tst_region tst_problem
+fullcheck check:: tst_refcount tst_region tst_problem
$(TESTENV) ./tst_refcount
$(TESTENV) ./tst_region
$(TESTENV) ./tst_problem
diff --git a/intl/Makefile.in b/intl/Makefile.in
index db6d7d71..66d75121 100644
--- a/intl/Makefile.in
+++ b/intl/Makefile.in
@@ -293,7 +293,7 @@ charset.alias: $(srcdir)/config.charset
$(Q) $(SHELL) $(srcdir)/config.charset '@host@' > t-$@
$(Q) mv t-$@ $@
-check: all
+fullcheck check: all
# We must not install the libintl.h/libintl.a files if we are on a
# system which has the GNU gettext() function in its C library or in a
diff --git a/lib/blkid/Makefile.in b/lib/blkid/Makefile.in
index 7f384527..0be2da5c 100644
--- a/lib/blkid/Makefile.in
+++ b/lib/blkid/Makefile.in
@@ -135,8 +135,9 @@ test_probe: test_probe.in Makefile
$(Q) cat $(srcdir)/test_probe.in >> test_probe
$(Q) chmod +x test_probe
-check:: all tst_cache tst_dev tst_devname tst_devno tst_getsize tst_probe \
- tst_read tst_resolve tst_save tst_tag test_probe tst_types
+fullcheck check:: all tst_cache tst_dev tst_devname tst_devno \
+ tst_getsize tst_probe tst_read tst_resolve tst_save tst_tag \
+ test_probe tst_types
./test_probe
./tst_types
diff --git a/lib/e2p/Makefile.in b/lib/e2p/Makefile.in
index 6fd2ceca..d266d68a 100644
--- a/lib/e2p/Makefile.in
+++ b/lib/e2p/Makefile.in
@@ -75,7 +75,7 @@ tst_feature: $(srcdir)/feature.c
$(Q) $(CC) -DTEST_PROGRAM -I$(top_srcdir)/lib -o tst_feature \
$(srcdir)/feature.c $(ALL_CFLAGS) $(ALL_LDFLAGS)
-check:: tst_ostype tst_feature
+fullcheck check:: tst_ostype tst_feature
./tst_ostype
./tst_feature
diff --git a/lib/et/Makefile.in b/lib/et/Makefile.in
index 476f1894..0344679e 100644
--- a/lib/et/Makefile.in
+++ b/lib/et/Makefile.in
@@ -137,7 +137,7 @@ uninstall::
$(DESTDIR)$(pkgconfigdir)/com_err.pc
$(RM) -rf $(DESTDIR)$(includedir)/et $(DESTDIR)$(datadir)/et
-check:: compile_et
+fullcheck check:: compile_et
for i in $(srcdir)/test_cases/*.et ; do \
t=`basename $$i | sed -e 's/.et//'`; \
_ET_DIR_OVERRIDE=$(srcdir) ./compile_et $$i ; \
diff --git a/lib/ext2fs/Makefile.in b/lib/ext2fs/Makefile.in
index 425b8561..b23bf882 100644
--- a/lib/ext2fs/Makefile.in
+++ b/lib/ext2fs/Makefile.in
@@ -521,7 +521,7 @@ mkjournal: mkjournal.c $(STATIC_LIBEXT2FS) $(DEPLIBCOM_ERR)
$(Q) $(CC) -o mkjournal $(srcdir)/mkjournal.c -DDEBUG \
$(STATIC_LIBEXT2FS) $(LIBCOM_ERR) $(ALL_CFLAGS) $(SYSLIBS)
-check:: tst_bitops tst_badblocks tst_iscan tst_types tst_icount \
+fullcheck check:: tst_bitops tst_badblocks tst_iscan tst_types tst_icount \
tst_super_size tst_types tst_inode_size tst_csum tst_crc32c tst_bitmaps \
tst_inline tst_inline_data tst_libext2fs tst_sha256 tst_sha512 \
tst_digest_encode tst_getsize tst_getsectsize
diff --git a/lib/ss/Makefile.in b/lib/ss/Makefile.in
index f4953f07..ee18dc88 100644
--- a/lib/ss/Makefile.in
+++ b/lib/ss/Makefile.in
@@ -163,7 +163,7 @@ test_ss: test_ss.o test_cmd.o $(DEPLIBSS) $(DEPLIBCOM_ERR)
$(Q) $(CC) -o $@ test_ss.o test_cmd.o $(ALL_CFLAGS) $(ALL_LDFLAGS) \
$(LIBSS) $(LIBCOM_ERR) $(SYSLIBS)
-check:: all test_ss
+fullcheck check:: all test_ss
$(E) " RUN TEST test_ss"
-@($(TESTENV) ./test_ss -f $(srcdir)/test_script > test_out 2>&1; exit 0)
$(Q) if diff test_out $(srcdir)/test_script_expected > test.diff; then \
diff --git a/lib/support/Makefile.in b/lib/support/Makefile.in
index d5a6f26d..40206b74 100644
--- a/lib/support/Makefile.in
+++ b/lib/support/Makefile.in
@@ -79,7 +79,7 @@ clean::
../libsupport.a ../libsupport_p.a $(SMANPAGES) \
prof_err.c prof_err.h test_profile test_cstring
-#check:: tst_uuid
+#fullcheck check:: tst_uuid
# LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) ./tst_uuid
mostlyclean:: clean
diff --git a/lib/uuid/Makefile.in b/lib/uuid/Makefile.in
index a2981449..4b444182 100644
--- a/lib/uuid/Makefile.in
+++ b/lib/uuid/Makefile.in
@@ -171,7 +171,7 @@ clean::
../libuuid.a ../libuuid_p.a tst_uuid uuid_time \
uuid.pc uuid_types.h $(SMANPAGES)
-check:: tst_uuid
+fullcheck check:: tst_uuid
LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) ./tst_uuid
mostlyclean:: clean
diff --git a/misc/Makefile.in b/misc/Makefile.in
index 467c15d3..d08859d9 100644
--- a/misc/Makefile.in
+++ b/misc/Makefile.in
@@ -252,7 +252,7 @@ base_device: base_device.c
$(Q) $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) $(srcdir)/base_device.c \
-DDEBUG -o base_device $(SYSLIBS)
-check:: base_device
+fullcheck check:: base_device
./base_device < $(srcdir)/base_device.tst > base_device.out
cmp $(srcdir)/base_device.tst base_device.out
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
index 2ae2f2a2..eff37d33 100644
--- a/po/Makefile.in.in
+++ b/po/Makefile.in.in
@@ -270,7 +270,7 @@ uninstall-data-yes:
done; \
done
-check: all
+fullcheck check: all
info dvi ps pdf html tags TAGS ctags CTAGS ID:
diff --git a/resize/Makefile.in b/resize/Makefile.in
index 6014bdd0..cb9f5530 100644
--- a/resize/Makefile.in
+++ b/resize/Makefile.in
@@ -94,7 +94,7 @@ uninstall:
test_extent.out: test_extent $(srcdir)/test_extent.in
$(TESTENV) ./test_extent < $(srcdir)/test_extent.in > test_extent.out
-check:: test_extent.out
+fullcheck check:: test_extent.out
$(Q) if cmp -s test_extent.out $(srcdir)/test_extent.in ; then \
echo "Test succeeded." ; \
else \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index c130f4ab..57117ac8 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -41,8 +41,10 @@ always_run:
@ifGNUmake@TESTS=$(wildcard $(srcdir)/[a-z]_*)
@ifNotGNUmake@TESTS != echo $(srcdir)/[a-z]_*
+SKIP_SLOW_TESTS=--skip-slow-tests
+
$(TESTS):: test_one always_run
- @./test_one $@
+ @./test_one $(SKIP_SLOW_TESTS) $@
foo:
echo $(TESTS)
@@ -57,6 +59,9 @@ test_post: test_pre $(TESTS)
check:: test_pre test_post test_script
+fullcheck::
+ $(MAKE) SKIP_SLOW_TESTS= check
+
check-failed: $(basename $(wildcard *.failed))
@$(srcdir)/test_post
diff --git a/tests/f_large_dir/is_slow_test b/tests/f_large_dir/is_slow_test
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/f_large_dir/is_slow_test
diff --git a/tests/f_mmp/is_slow_test b/tests/f_mmp/is_slow_test
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/f_mmp/is_slow_test
diff --git a/tests/f_mmp_garbage/is_slow_test b/tests/f_mmp_garbage/is_slow_test
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/f_mmp_garbage/is_slow_test
diff --git a/tests/r_64bit_big_expand/is_slow_test b/tests/r_64bit_big_expand/is_slow_test
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/r_64bit_big_expand/is_slow_test
diff --git a/tests/r_ext4_big_expand/is_slow_test b/tests/r_ext4_big_expand/is_slow_test
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/r_ext4_big_expand/is_slow_test
diff --git a/tests/test_one.in b/tests/test_one.in
index fb30e578..35465b6a 100644
--- a/tests/test_one.in
+++ b/tests/test_one.in
@@ -13,6 +13,10 @@ case "$1" in
export USE_VALGRIND="valgrind --sim-hints=lax-ioctls --leak-check=full --show-reachable=yes --log-file=/tmp/valgrind-%p.log"
shift;
;;
+ --skip-slow-tests)
+ SKIP_SLOW_TESTS=yes
+ shift;
+ ;;
esac
case "$1" in
@@ -49,6 +53,11 @@ else
test_description=
fi
+if [ -n "$SKIP_SLOW_TESTS" -a -f $test_dir/is_slow_test ]; then
+ echo "$test_name: $test_description: skipped (slow test)"
+ exit 0
+fi
+
rm -f $test_name.ok $test_name.failed
#echo -e -n "$test_name: $test_description:\r"