From: Glenn Morris Date: Thu, 22 Feb 2018 01:49:40 +0000 (-0500) Subject: Speed up parallel make check by testing slower files first X-Git-Tag: emacs-27.0.90~5647 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3267763e6ba1787c702a42a131d6e466b1aa42d7;p=emacs.git Speed up parallel make check by testing slower files first * test/Makefile.in (SLOW_TESTS): New variable. (ELFILES): Move slow tests to the front. --- diff --git a/test/Makefile.in b/test/Makefile.in index a85d491d2d3..1653263e7a4 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -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)))