diff options
| author | F. Jason Park | 2024-11-29 15:56:47 -0800 |
|---|---|---|
| committer | F. Jason Park | 2024-12-20 18:18:02 -0800 |
| commit | 1c960bda91237c92f9f602bcb8538ad500c0bc49 (patch) | |
| tree | e84e32174dfb1653b852de397f7f3854d60c21ea /test | |
| parent | e9591fae5e7ba772b63c6cc548bb5ebe68f583e6 (diff) | |
| download | emacs-1c960bda91237c92f9f602bcb8538ad500c0bc49.tar.gz emacs-1c960bda91237c92f9f602bcb8538ad500c0bc49.zip | |
Use smarter default for erc-server-reconnect-function
* doc/misc/erc.texi (Sample Configuration): Remove customization in
`use-package' declaration for `erc-server-reconnect-function' as well as
related language in the customization walk-through. Do this because the
new default incorporates `erc-server-delayed-check-reconnect' behavior
for compatible connect functions.
* etc/ERC-NEWS: Announce new default for `erc-server-reconnect-function'.
* lisp/erc/erc-backend.el (erc-server-reconnect-function): Change
default to `erc-server-prefer-check-reconnect'.
(erc-server-delayed-check-reconnect): Use `process-send-string' instead
of `send-string'.
(erc--server-delayed-check-connectors): New variable.
(erc-server-prefer-check-reconnect): New function.
* test/lisp/erc/erc-scenarios-base-auto-recon.el
(erc-scenarios-base-auto-recon-unavailable)
(erc-scenarios-base-auto-recon-no-proto): Remove unnecessary
`erc-server-reconnect-function' binding because the new default
incorporates the behavior being tested for.
* test/lisp/erc/erc-scenarios-base-buffer-display.el
(erc-scenarios-base-buffer-display--reconnect-common):
* test/lisp/erc/erc-scenarios-base-compat-rename-bouncer.el
(erc-scenarios-common--base-compat-no-rename-bouncer):
* test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-base.el
(erc-scenarios-base-netid-bouncer--recon-base):
* test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-both.el
(erc-scenarios-base-netid-bouncer--recon-both):
* test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-id.el
(erc-scenarios-base-netid-bouncer--reconnect-id-foo)
(erc-scenarios-base-netid-bouncer--reconnect-id-bar):
* test/lisp/erc/erc-scenarios-base-reconnect.el
(erc-scenarios-base-reconnect-timer)
(erc-scenarios-base-cancel-reconnect):
* test/lisp/erc/erc-scenarios-services-misc.el
(erc-scenarios-services-misc--reconnect-retry-nick):
* test/lisp/erc/erc-scenarios-stamp.el
(erc-scenarios-stamp--date-mode/reconnect): Explicitly bind
`erc-server-reconnect-function' to `erc-server-delayed-reconnect', the
former default, which does not do any probing. (Bug#62044)
Diffstat (limited to 'test')
9 files changed, 20 insertions, 7 deletions
diff --git a/test/lisp/erc/erc-scenarios-base-auto-recon.el b/test/lisp/erc/erc-scenarios-base-auto-recon.el index 808b1d8c4d4..d6a114147b3 100644 --- a/test/lisp/erc/erc-scenarios-base-auto-recon.el +++ b/test/lisp/erc/erc-scenarios-base-auto-recon.el | |||
| @@ -24,6 +24,10 @@ | |||
| 24 | (let ((load-path (cons (ert-resource-directory) load-path))) | 24 | (let ((load-path (cons (ert-resource-directory) load-path))) |
| 25 | (require 'erc-scenarios-common))) | 25 | (require 'erc-scenarios-common))) |
| 26 | 26 | ||
| 27 | ;; This tests `erc-server-delayed-check-reconnect', which is called by | ||
| 28 | ;; `erc-server-prefer-check-reconnect' (the default value of | ||
| 29 | ;; `erc-server-reconnect-function' as of ERC 5.6.1). | ||
| 30 | |||
| 27 | (defun erc-scenarios-base-auto-recon--get-unused-port () | 31 | (defun erc-scenarios-base-auto-recon--get-unused-port () |
| 28 | (let ((server (make-network-process :name "*erc-scenarios-base-auto-recon*" | 32 | (let ((server (make-network-process :name "*erc-scenarios-base-auto-recon*" |
| 29 | :host "localhost" | 33 | :host "localhost" |
| @@ -42,7 +46,6 @@ | |||
| 42 | (port (erc-scenarios-base-auto-recon--get-unused-port)) | 46 | (port (erc-scenarios-base-auto-recon--get-unused-port)) |
| 43 | (erc--server-reconnect-timeout-scale-function (lambda (_) 1)) | 47 | (erc--server-reconnect-timeout-scale-function (lambda (_) 1)) |
| 44 | (erc-server-auto-reconnect t) | 48 | (erc-server-auto-reconnect t) |
| 45 | (erc-server-reconnect-function #'erc-server-delayed-check-reconnect) | ||
| 46 | (expect (erc-d-t-make-expecter)) | 49 | (expect (erc-d-t-make-expecter)) |
| 47 | (erc-scenarios-common-dialog "base/reconnect") | 50 | (erc-scenarios-common-dialog "base/reconnect") |
| 48 | (dumb-server nil)) | 51 | (dumb-server nil)) |
| @@ -89,7 +92,7 @@ | |||
| 89 | (erc-cmd-RECONNECT "cancel") | 92 | (erc-cmd-RECONNECT "cancel") |
| 90 | (funcall expect 10 "canceled"))))) | 93 | (funcall expect 10 "canceled"))))) |
| 91 | 94 | ||
| 92 | ;; In this test, a listener accepts but doesn't respond to any messages. | 95 | ;; Here, a listener accepts but doesn't respond to any messages. |
| 93 | 96 | ||
| 94 | (ert-deftest erc-scenarios-base-auto-recon-no-proto () | 97 | (ert-deftest erc-scenarios-base-auto-recon-no-proto () |
| 95 | :tags '(:expensive-test) | 98 | :tags '(:expensive-test) |
| @@ -102,7 +105,6 @@ | |||
| 102 | (erc--server-reconnect-timeout-scale-function (lambda (_) 1)) | 105 | (erc--server-reconnect-timeout-scale-function (lambda (_) 1)) |
| 103 | (erc--server-reconnect-timeout-check 0.5) | 106 | (erc--server-reconnect-timeout-check 0.5) |
| 104 | (erc-server-auto-reconnect t) | 107 | (erc-server-auto-reconnect t) |
| 105 | (erc-server-reconnect-function #'erc-server-delayed-check-reconnect) | ||
| 106 | (expect (erc-d-t-make-expecter))) | 108 | (expect (erc-d-t-make-expecter))) |
| 107 | 109 | ||
| 108 | (ert-info ("Session succeeds but cut short") | 110 | (ert-info ("Session succeeds but cut short") |
diff --git a/test/lisp/erc/erc-scenarios-base-buffer-display.el b/test/lisp/erc/erc-scenarios-base-buffer-display.el index 5c3c526f86d..137db955db5 100644 --- a/test/lisp/erc/erc-scenarios-base-buffer-display.el +++ b/test/lisp/erc/erc-scenarios-base-buffer-display.el | |||
| @@ -40,6 +40,7 @@ | |||
| 40 | (port (process-contact dumb-server :service)) | 40 | (port (process-contact dumb-server :service)) |
| 41 | (expect (erc-d-t-make-expecter)) | 41 | (expect (erc-d-t-make-expecter)) |
| 42 | (erc-server-flood-penalty 0.1) | 42 | (erc-server-flood-penalty 0.1) |
| 43 | (erc-server-reconnect-function #'erc-server-delayed-reconnect) | ||
| 43 | (erc-server-auto-reconnect t) | 44 | (erc-server-auto-reconnect t) |
| 44 | erc-autojoin-channels-alist) | 45 | erc-autojoin-channels-alist) |
| 45 | 46 | ||
diff --git a/test/lisp/erc/erc-scenarios-base-compat-rename-bouncer.el b/test/lisp/erc/erc-scenarios-base-compat-rename-bouncer.el index d1124269e0a..0bba0446ce6 100644 --- a/test/lisp/erc/erc-scenarios-base-compat-rename-bouncer.el +++ b/test/lisp/erc/erc-scenarios-base-compat-rename-bouncer.el | |||
| @@ -43,6 +43,7 @@ | |||
| 43 | (chan-buf-foo (format "#chan@127.0.0.1:%d" port)) | 43 | (chan-buf-foo (format "#chan@127.0.0.1:%d" port)) |
| 44 | (chan-buf-bar (format "#chan@127.0.0.1:%d<2>" port)) | 44 | (chan-buf-bar (format "#chan@127.0.0.1:%d<2>" port)) |
| 45 | (expect (erc-d-t-make-expecter)) | 45 | (expect (erc-d-t-make-expecter)) |
| 46 | (erc-server-reconnect-function #'erc-server-delayed-reconnect) | ||
| 46 | (erc-server-auto-reconnect auto) | 47 | (erc-server-auto-reconnect auto) |
| 47 | erc-server-buffer-foo erc-server-process-foo | 48 | erc-server-buffer-foo erc-server-process-foo |
| 48 | erc-server-buffer-bar erc-server-process-bar) | 49 | erc-server-buffer-bar erc-server-process-bar) |
diff --git a/test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-base.el b/test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-base.el index e5453c40e56..04ccb86643b 100644 --- a/test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-base.el +++ b/test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-base.el | |||
| @@ -26,6 +26,7 @@ | |||
| 26 | 26 | ||
| 27 | (ert-deftest erc-scenarios-base-netid-bouncer--recon-base () | 27 | (ert-deftest erc-scenarios-base-netid-bouncer--recon-base () |
| 28 | :tags '(:expensive-test) | 28 | :tags '(:expensive-test) |
| 29 | (erc-scenarios-common--base-network-id-bouncer--reconnect nil nil)) | 29 | (let ((erc-server-reconnect-function #'erc-server-delayed-reconnect)) |
| 30 | (erc-scenarios-common--base-network-id-bouncer--reconnect nil nil))) | ||
| 30 | 31 | ||
| 31 | ;;; erc-scenarios-base-netid-bouncer-recon-base.el ends here | 32 | ;;; erc-scenarios-base-netid-bouncer-recon-base.el ends here |
diff --git a/test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-both.el b/test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-both.el index 09ddcef5fa3..f0939d6204a 100644 --- a/test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-both.el +++ b/test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-both.el | |||
| @@ -27,6 +27,8 @@ | |||
| 27 | 27 | ||
| 28 | (ert-deftest erc-scenarios-base-netid-bouncer--recon-both () | 28 | (ert-deftest erc-scenarios-base-netid-bouncer--recon-both () |
| 29 | :tags '(:expensive-test) | 29 | :tags '(:expensive-test) |
| 30 | (erc-scenarios-common--base-network-id-bouncer--reconnect 'foo-id 'bar-id)) | 30 | (let ((erc-server-reconnect-function #'erc-server-delayed-reconnect)) |
| 31 | (erc-scenarios-common--base-network-id-bouncer--reconnect 'foo-id | ||
| 32 | 'bar-id))) | ||
| 31 | 33 | ||
| 32 | ;;; erc-scenarios-base-netid-bouncer-recon-both.el ends here | 34 | ;;; erc-scenarios-base-netid-bouncer-recon-both.el ends here |
diff --git a/test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-id.el b/test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-id.el index 253ab4f72c9..d77a4287976 100644 --- a/test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-id.el +++ b/test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-id.el | |||
| @@ -26,11 +26,13 @@ | |||
| 26 | 26 | ||
| 27 | (ert-deftest erc-scenarios-base-netid-bouncer--reconnect-id-foo () | 27 | (ert-deftest erc-scenarios-base-netid-bouncer--reconnect-id-foo () |
| 28 | :tags '(:expensive-test) | 28 | :tags '(:expensive-test) |
| 29 | (erc-scenarios-common--base-network-id-bouncer--reconnect 'foo-id nil)) | 29 | (let ((erc-server-reconnect-function #'erc-server-delayed-reconnect)) |
| 30 | (erc-scenarios-common--base-network-id-bouncer--reconnect 'foo-id nil))) | ||
| 30 | 31 | ||
| 31 | (ert-deftest erc-scenarios-base-netid-bouncer--reconnect-id-bar () | 32 | (ert-deftest erc-scenarios-base-netid-bouncer--reconnect-id-bar () |
| 32 | :tags '(:expensive-test) | 33 | :tags '(:expensive-test) |
| 33 | (erc-scenarios-common--base-network-id-bouncer--reconnect nil 'bar-id)) | 34 | (let ((erc-server-reconnect-function #'erc-server-delayed-reconnect)) |
| 35 | (erc-scenarios-common--base-network-id-bouncer--reconnect nil 'bar-id))) | ||
| 34 | 36 | ||
| 35 | 37 | ||
| 36 | ;;; erc-scenarios-base-netid-bouncer-recon-id.el ends here | 38 | ;;; erc-scenarios-base-netid-bouncer-recon-id.el ends here |
diff --git a/test/lisp/erc/erc-scenarios-base-reconnect.el b/test/lisp/erc/erc-scenarios-base-reconnect.el index 6f968b9fcbc..2dc34362fbf 100644 --- a/test/lisp/erc/erc-scenarios-base-reconnect.el +++ b/test/lisp/erc/erc-scenarios-base-reconnect.el | |||
| @@ -37,6 +37,7 @@ | |||
| 37 | (dumb-server (erc-d-run "localhost" t 'timer 'timer 'timer-last)) | 37 | (dumb-server (erc-d-run "localhost" t 'timer 'timer 'timer-last)) |
| 38 | (port (process-contact dumb-server :service)) | 38 | (port (process-contact dumb-server :service)) |
| 39 | (expect (erc-d-t-make-expecter)) | 39 | (expect (erc-d-t-make-expecter)) |
| 40 | (erc-server-reconnect-function #'erc-server-delayed-reconnect) | ||
| 40 | (erc-server-auto-reconnect t) | 41 | (erc-server-auto-reconnect t) |
| 41 | erc-autojoin-channels-alist | 42 | erc-autojoin-channels-alist |
| 42 | erc-server-buffer) | 43 | erc-server-buffer) |
| @@ -144,6 +145,7 @@ | |||
| 144 | (dumb-server (erc-d-run "localhost" t 'timer 'timer 'timer-last)) | 145 | (dumb-server (erc-d-run "localhost" t 'timer 'timer 'timer-last)) |
| 145 | (port (process-contact dumb-server :service)) | 146 | (port (process-contact dumb-server :service)) |
| 146 | (expect (erc-d-t-make-expecter)) | 147 | (expect (erc-d-t-make-expecter)) |
| 148 | (erc-server-reconnect-function #'erc-server-delayed-reconnect) | ||
| 147 | (erc-server-auto-reconnect t) | 149 | (erc-server-auto-reconnect t) |
| 148 | erc-autojoin-channels-alist | 150 | erc-autojoin-channels-alist |
| 149 | erc-server-buffer) | 151 | erc-server-buffer) |
diff --git a/test/lisp/erc/erc-scenarios-services-misc.el b/test/lisp/erc/erc-scenarios-services-misc.el index 47d0bcff41a..ee35e8b93db 100644 --- a/test/lisp/erc/erc-scenarios-services-misc.el +++ b/test/lisp/erc/erc-scenarios-services-misc.el | |||
| @@ -155,6 +155,7 @@ | |||
| 155 | (dumb-server (erc-d-run "localhost" t 'reconnect-retry | 155 | (dumb-server (erc-d-run "localhost" t 'reconnect-retry |
| 156 | 'reconnect-retry-again)) | 156 | 'reconnect-retry-again)) |
| 157 | (port (process-contact dumb-server :service)) | 157 | (port (process-contact dumb-server :service)) |
| 158 | (erc-server-reconnect-function #'erc-server-delayed-reconnect) | ||
| 158 | (erc-server-auto-reconnect t) | 159 | (erc-server-auto-reconnect t) |
| 159 | (erc-modules `(services-regain sasl ,@erc-modules)) | 160 | (erc-modules `(services-regain sasl ,@erc-modules)) |
| 160 | (erc-services-regain-alist | 161 | (erc-services-regain-alist |
diff --git a/test/lisp/erc/erc-scenarios-stamp.el b/test/lisp/erc/erc-scenarios-stamp.el index 8aea091333b..86074a9c35a 100644 --- a/test/lisp/erc/erc-scenarios-stamp.el +++ b/test/lisp/erc/erc-scenarios-stamp.el | |||
| @@ -188,6 +188,7 @@ | |||
| 188 | ((erc-scenarios-common-dialog "base/reconnect") | 188 | ((erc-scenarios-common-dialog "base/reconnect") |
| 189 | (erc-server-flood-penalty 0.1) | 189 | (erc-server-flood-penalty 0.1) |
| 190 | (erc-stamp--tz t) | 190 | (erc-stamp--tz t) |
| 191 | (erc-server-reconnect-function #'erc-server-delayed-reconnect) | ||
| 191 | (erc-server-auto-reconnect t) | 192 | (erc-server-auto-reconnect t) |
| 192 | ;; Start close to midnight: 2024-06-02T23:58:11.055Z | 193 | ;; Start close to midnight: 2024-06-02T23:58:11.055Z |
| 193 | (erc-stamp--current-time (if (< emacs-major-version 29) | 194 | (erc-stamp--current-time (if (< emacs-major-version 29) |