* test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test.

(tramp-test42-unload): Rename.
This commit is contained in:
Michael Albinus 2017-10-24 11:55:20 +02:00
parent b51009d7f0
commit 46f2ee0d4c

View file

@ -4333,7 +4333,29 @@ process sentinels. They shall not disturb each other."
(mapconcat 'shell-quote-argument load-path " -L ") (mapconcat 'shell-quote-argument load-path " -L ")
(shell-quote-argument code))))))) (shell-quote-argument code)))))))
(ert-deftest tramp-test41-unload () (ert-deftest tramp-test41-delay-load ()
"Check that Tramp is loaded lazily, only when needed."
;; Tramp is neither loaded at Emacs startup, nor when completing a
;; non-Tramp file name like "/foo". Completing a Tramp-alike file
;; name like "/foo:" autoloads Tramp.
(let ((code
"(progn \
(message \"Tramp loaded: %s\" (featurep 'tramp)) \
(file-name-all-completions \"/foo\" \"/\") \
(message \"Tramp loaded: %s\" (featurep 'tramp)) \
(file-name-all-completions \"/foo:\" \"/\") \
(message \"Tramp loaded: %s\" (featurep 'tramp)))"))
(should
(string-match
"Tramp loaded: nil[\n\r]+Tramp loaded: nil[\n\r]+Tramp loaded: t[\n\r]+"
(shell-command-to-string
(format
"%s -batch -Q -L %s --eval %s"
(expand-file-name invocation-name invocation-directory)
(mapconcat 'shell-quote-argument load-path " -L ")
(shell-quote-argument code)))))))
(ert-deftest tramp-test42-unload ()
"Check that Tramp and its subpackages unload completely. "Check that Tramp and its subpackages unload completely.
Since it unloads Tramp, it shall be the last test to run." Since it unloads Tramp, it shall be the last test to run."
:tags '(:expensive-test) :tags '(:expensive-test)