]> git.eshelyaron.com Git - emacs.git/commitdiff
ntlm-tests: Skip tests if dependencies are too old
authorThomas Fitzsimmons <fitzsim@fitzsim.org>
Fri, 19 Feb 2021 22:07:52 +0000 (17:07 -0500)
committerThomas Fitzsimmons <fitzsim@fitzsim.org>
Fri, 19 Feb 2021 22:11:42 +0000 (17:11 -0500)
* test/lisp/net/ntlm-tests.el (ntlm-tests--dependencies-present):
Add version and functionality checks.

Co-authored-by: Michael Albinus <michael.albinus@gmx.de>
test/lisp/net/ntlm-tests.el

index 0ed430afe684966043a33e6a1047a75fbb3e296b..c31ab83226c7efc5846444d8b072ab5d0b476720 100644 (file)
@@ -382,8 +382,25 @@ ARGUMENTS are passed to it."
   (concat "HTTP/1.1 200 OK\n\nAuthenticated." (unibyte-string 13) "\n")
   "Expected result of successful NTLM authentication.")
 
+(require 'find-func)
+(defun ntlm-tests--ensure-ws-parse-ntlm-support ()
+  "Ensure NTLM special-case in `ws-parse'."
+  (let* ((hit (find-function-search-for-symbol
+              'ws-parse nil (locate-file "web-server.el" load-path)))
+        (buffer (car hit))
+        (position (cdr hit)))
+    (with-current-buffer buffer
+      (goto-char position)
+      (search-forward-regexp
+       ":NTLM" (save-excursion (forward-sexp) (point)) t))))
+
+(require 'lisp-mnt)
 (defvar ntlm-tests--dependencies-present
-  (and (featurep 'url-http-ntlm) (featurep 'web-server))
+  (and (featurep 'url-http-ntlm)
+       (version<= "2.0.4"
+                 (lm-version (locate-file "url-http-ntlm.el" load-path)))
+       (featurep 'web-server)
+       (ntlm-tests--ensure-ws-parse-ntlm-support))
   "Non-nil if GNU ELPA test dependencies were loaded.")
 
 (when (not ntlm-tests--dependencies-present)