]> git.eshelyaron.com Git - emacs.git/commitdiff
Speed up parallel make check by testing slower files first
authorGlenn Morris <rgm@gnu.org>
Thu, 22 Feb 2018 01:49:40 +0000 (20:49 -0500)
committerGlenn Morris <rgm@gnu.org>
Thu, 22 Feb 2018 01:49:40 +0000 (20:49 -0500)
* test/Makefile.in (SLOW_TESTS): New variable.
(ELFILES): Move slow tests to the front.

test/Makefile.in

index a85d491d2d3caf12ad9f09c3415676344a9b1847..1653263e7a41b8dbe96705f3602415238166bc68 100644 (file)
@@ -96,6 +96,7 @@ TEST_LOCALE = C
 
 # Whether to run tests from .el files in preference to .elc, we do
 # this by default since it gives nicer stacktraces.
+# If you just want a pass/fail, setting this to no is much faster.
 TEST_LOAD_EL ?= yes
 
 # Maximum length of lines in ert backtraces; nil for no limit.
@@ -174,11 +175,18 @@ else
 maybe_exclude_module_tests := -name emacs-module-tests.el -prune -o
 endif
 
+## To speed up parallel builds, put these slow test files (which can
+## take longer than all the rest combined) at the start of the list.
+SLOW_TESTS = ${srcdir}/lisp/net/tramp-tests.el
+
 ELFILES := $(sort $(shell find ${srcdir} -path "${srcdir}/manual" -prune -o \
                -path "${srcdir}/data" -prune -o \
                -name "*resources" -prune -o \
                ${maybe_exclude_module_tests} \
                -name "*.el" ! -name ".*" -print))
+
+$(foreach slow,${SLOW_TESTS},$(eval ELFILES:= ${slow} $(filter-out ${slow},${ELFILES})))
+
 ## .log files may be in a different directory for out of source builds
 LOGFILES := $(patsubst %.el,%.log, \
                $(patsubst $(srcdir)/%,%,$(ELFILES)))