From: Michael Albinus Date: Tue, 24 Oct 2017 09:55:20 +0000 (+0200) Subject: * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test. X-Git-Tag: emacs-26.0.91~482 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=46f2ee0d4c;p=emacs.git * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test. (tramp-test42-unload): Rename. --- diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el index fdd816dae2e..7e644e6a2bb 100644 --- a/test/lisp/net/tramp-tests.el +++ b/test/lisp/net/tramp-tests.el @@ -4333,7 +4333,29 @@ process sentinels. They shall not disturb each other." (mapconcat 'shell-quote-argument load-path " -L ") (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. Since it unloads Tramp, it shall be the last test to run." :tags '(:expensive-test)