Subject: bug#30807: Tramp tests take waaayyy too long and refuse to exit

From: Paul Eggert <[email-masked]>
Date: Wed, 14 Mar 2018 17:17:24 -0700

On 03/14/2018 08:36 AM, Michael Albinus wrote:
> As a first step, I have extended ert to print the duration time of single
> tests in batch mode. This is disabled by default, you can enable it via
>
>      make TEST_PRINT_TEST_DURATION=1 ...

tramp-archive-test42-auto-load still takes so long that I kill it. 
Here's the relevant part of the output of "make 
TEST_PRINT_TEST_DURATION=1 check" at the top level. I manually killed 
the seemingly-runaway Emacs test process.

    passed  19/22  tramp-archive-test37-make-nearby-temp-file (0.005722 sec)
    passed  20/22  tramp-archive-test40-file-system-info (0.000921 sec)
Test tramp-archive-test42-auto-load backtrace:
   signal(ert-test-failed (((should (string-match (format "tramp-archiv
   ert-fail(((should (string-match (format "tramp-archive loaded: nil n
   (if (unwind-protect (setq value-886 (apply fn-884 args-885)) (setq f
   (let (form-description-888) (if (unwind-protect (setq value-886 (app
   (let ((value-886 'ert-form-evaluation-aborted-887)) (let (form-descr
   (let* ((fn-884 (function string-match)) (args-885 (condition-case er
   (let ((file (car --dolist-tail--))) (let* ((fn-884 (function string-
   (while --dolist-tail-- (let ((file (car --dolist-tail--))) (let* ((f
   (let ((--dolist-tail-- (list "/ssh::foo" (concat tramp-archive-test-
   (let ((default-directory (expand-file-name temporary-file-directory)
   (closure (t) nil (let ((value-877 (gensym "ert-form-evaluation-abort
   ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
   ert-run-test(#s(ert-test :name tramp-archive-test42-auto-load :docum
   ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
   ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
   ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
   ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
   eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
   command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq ert-batch-print
   command-line()
   normal-top-level()
Test tramp-archive-test42-auto-load condition:
     (ert-test-failed
      ((should
        (string-match
     (format "tramp-archive loaded: nil nil[[:ascii:]]+tramp-archive 
loaded: t %s" ...)
     (shell-command-to-string ...)))
       :form
       (string-match "tramp-archive loaded: nil 
nil[[:ascii:]]+tramp-archive loaded: t nil" "tramp-archive loaded: nil nil
Are you sure you want to continue connecting (yes/no)? (yes or no) ")
       :value nil))
    FAILED  21/22  tramp-archive-test42-auto-load (2307.384644 sec)
    passed  22/22  tramp-archive-test42-delay-load (1.367596 sec)

Ran 22 tests, 21 results as expected, 1 unexpected (2018-03-14 
17:10:25-0700)

1 unexpected results:
    FAILED  tramp-archive-test42-auto-load

make[3]: *** [Makefile:173: lisp/net/tramp-archive-tests.log] Error 1