summaryrefslogtreecommitdiff
path: root/test/lisp/erc/resources/base
Commit message (Collapse)AuthorAgeFilesLines
* ; Relax timeouts for failing ERC testF. Jason Park2023-01-172-10/+10
| | | | | | | * test/lisp/erc/resources/base/netid/bouncer/barnet-again.eld: Bump timeouts to 10 seconds. * test/lisp/erc/resources/base/netid/bouncer/foonet-again.eld: Bump timeouts to 10 seconds.
* Fix some naming issues involving query buffers in ERCF. Jason Park2022-12-162-0/+75
| | | | | | | | | | | | | | | | | | | * lisp/erc/erc-networks.el (erc-networks-rename-surviving-target-buffer): Don't kill a surviving target buffer when another, non-target buffer, possibly not even belonging to ERC, already exists and sports the target's name. (erc-networks--reconcile-buffer-names): Always append a network-ID suffix to a target buffer's name if another buffer of that name already exists. (Bug#59976.) * lisp/erc/erc.el (erc, erc-tls): Revise `:id' portion of doc strings. Thanks to Mike Kazantsev for the suggestion and for filing this bug and helping solve it. * test/lisp/erc/erc-networks-tests.el: (erc-networks-rename-surviving-target-buffer--query-non-target): Add new test. * test/lisp/erc/erc-scenarios-base-association-query.el: New file. * test/lisp/erc/resources/base/assoc/queries/netnick.eld: New file. * test/lisp/erc/resources/base/assoc/queries/non-erc.eld: New file.
* Don't send erc-sasl-user as USER command argumentF. Jason Park2022-12-141-1/+1
| | | | | | | | | | | | | | | | * lisp/erc/erc-sasl.el (erc-sasl--send-cap-ls): Add internal switch for sending an opening "CAP LS". The rationale for not enabling this by default is twofold: one, it more strongly implies that ERC supports IRCv3 client capability negotiation, which is somewhat disingenuous; and, two, We'd still be "faking it" by firing and forgetting, and more balls in the air makes things less predictable. (erc--register-connection): Possibly send a "CAP LS" before anything depending on the value of `erc-sasl--send-cap-ls'. Also, don't attempt to send `erc-session-username' when it holds an SASL username because the latter may contain protocol-defying characters. * test/lisp/erc/resources/base/local-modules/fourth.eld: change user parameter of "USER" command to reflect nick when `erc-sasl-user' is set to `:user'. (Bug#59976.)
* ; Fix typosStefan Kangas2022-11-261-1/+1
|
* Add test scenarios for local ERC modulesF. Jason Park2022-11-234-0/+196
| | | | | | | | | * test/lisp/erc/erc-scenarios-base-local-modules.el: New file. * test/lisp/erc/resources/base/local-modules/first.eld: New file. * test/lisp/erc/resources/base/local-modules/fourth.eld: New file * test/lisp/erc/resources/base/local-modules/second.eld: New file. * test/lisp/erc/resources/base/local-modules/third.eld: New file. (Bug#57955.)
* ; Fix typosStefan Kangas2022-11-232-2/+2
|
* ; Tag some ERC test-server tests as being :unstableF. Jason Park2022-09-195-5/+5
| | | | | | | | | | | * test/lisp/erc/resources/base/assoc/samenet/chester.eld: Relax timeout. * test/lisp/erc/resources/base/assoc/samenet/tester.eld: Relax timeout. * test/lisp/erc/resources/base/assoc/samenet/tester2.eld: Relax timeout. * test/lisp/erc/resources/base/netid/samenet/chester.eld: Relax timeout. * test/lisp/erc/resources/base/netid/samenet/tester.eld: Relax timeout. * test/lisp/erc/resources/erc-d/erc-d-tests.el (erc-d-run-linger, erc-d-run-linger-fail, erc-d-run-linger-direct): Mark some tests as being unstable.
* ; Fix typos: prefer American spellingStefan Kangas2022-07-148-9/+9
|
* Standardize auth-source queries in ERCF. Jason Park2022-06-304-0/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/erc/erc.el (erc-password): Deprecate variable only used by `erc-select-read-args'. Server passwords are primarily used as surrogates for other forms of authentication. Such use is common but nonstandard and often discouraged in favor of the de facto standard, SASL. Folks in the habit of invoking `erc(-tls)' interactively should be encouraged to use auth-source instead. (erc-select-read-args): Before this change, `erc-select-read-args' offered to use the value of a non-nil `erc-password' as the :password argument for `erc' and `erc-tls', referring to it as the "default" password. And when `erc-prompt-for-password' was nil and `erc-password' wasn't, the latter was passed along unconditionally. This only further complicated an already confusing situation for new users, who in most cases shouldn't be worried about sending a PASS command at all. Until SASL arrives, they should provide server passwords manually or learn to use auth-source. (erc-auth-source-server-function, erc-auth-source-join-function): New user options for retrieving a password externally, ostensibly by calling `auth-source-search'. (erc--auth-source-determine-params-defaults): New helper for `erc--auth-source-search' with potential for exporting publicly in the future. Favors :host and :port fields above others. Prioritizes network IDs over announced servers and dialed endpoints. (erc--auth-source-determine-params-merge): Add new function for merging contextual and default parameters. This is another contender for possible exporting. (erc--auth-source-search): New function for consulting auth-source and sorting the result as filtered and prioritized by the previously mentioned helpers. (erc-auth-source-search): New function to serve as default value for auth-source query-function options. (erc-server-join-channel): Use user option for consulting auth-source facility. Also accept nil for first argument (instead of server). (erc-cmd-JOIN): Use above-mentioned facilities when joining new channel. Omit server when calling `erc-server-join-channel'. Don't filter target buffers twice. Don't call `switch-to-buffer', which would create phantom buffers with names like target/server that were never used. IOW, only switch to existing target buffers. (erc--compute-server-password): Add new helper function for determining password. (erc-open, erc-determine-parameters): Move password figuring from the first to the latter. * lisp/erc/erc-services.el (erc-auth-source-services-function): Add new option for consulting auth-source in a NickServ context. (erc-nickserv-get-password): Pass network-context ID, when looking up password in `erc-nickserv-passwords' and when formatting prompt for user input. (erc-nickserv-passwords): Add comment to custom option definition type tag. * test/lisp/erc/erc-services-tests.el: Add new test file for above changes. For now, stash auth-source-related tests here until a suitable home can be found. * lisp/erc/erc-join.el (erc-autojoin--join): Don't pass session-like entity from `erc-autojoin-channels-alist' match to `erc-server-join-channel'. Allow that function to decide for itself which host to look up if necessary. * test/lisp/erc/resources/base/auth-source/foonet.eld: New file. * test/lisp/erc/resources/base/auth-source/nopass.eld: New file. * test/lisp/erc/resources/erc-scenarios-common.el: New file. * test/lisp/erc/resources/services/auth-source/libera.eld: New file. * test/lisp/erc/erc-scenarios-auth-source.el: New file. * test/lisp/erc/erc-scenarios-base-reuse-buffers.el: New file. * test/lisp/erc/erc-scenarios-join-auth-source.el: New file. * test/lisp/erc/resources/base/reuse-buffers/channel/barnet.eld: New file. * test/lisp/erc/resources/base/reuse-buffers/channel/foonet.eld: New file. * test/lisp/erc/resources/join/auth-source/foonet.eld: New file. (Bug#48598)
* Don't call erc-auto-query twice on PRIVMSGF. Jason Park2022-06-301-0/+45
| | | | | | | | | | | | | | | | | | | | | | | * lisp/erc/erc-backend.el (erc-server-JOIN): Use `erc--open-target' instead of `erc-join'. (erc-server-PRIVMSG): Don't call `erc-auto-query' at all, and instead borrow the portion of its logic that detects when a query buffer should be created instead of a channel buffer. * lisp/erc/erc.el (erc-cmd-QUERY): Update the mode line explicitly after calling `erc-query' in case it's needed after `erc-setup-buffer' runs. Simplify. (erc-query, erc--open-target): Replace uses of `erc-query' with `erc--open-target' and make the former obsolete. Don't call `erc-update-mode-line' because `erc-open' already does that. (erc-auto-query): Make this function obsolete. It was previously only used in erc-backend.el and only sewed confusion. (erc-query-on-unjoined-chan-privmsg): Add note questioning its role. It was previously only used by the now deprecated `erc-auto-query'. * test/lisp/erc/erc-scenarios-misc.el (erc-scenarios-base-mask-target-routing): Add test for server masks. * test/lisp/erc/resources/base/mask-target-routing/foonet.eld: New file.
* Add user-oriented test scenarios for ERCF. Jason Park2022-06-3046-0/+1981
* test/lisp/erc/erc-scenarios-base-association-nick.el: New file. * test/lisp/erc/erc-scenarios-base-association-samenet.el: New file. * test/lisp/erc/erc-scenarios-base-association.el: New file. * test/lisp/erc/erc-scenarios-base-compat-rename-bouncer.el: New file. * test/lisp/erc/erc-scenarios-base-misc-regressions.el: New file. * test/lisp/erc/erc-scenarios-base-netid-bouncer-id.el: New file. * test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-base.el: New file. * test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-both.el: New file. * test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-id.el: New file. * test/lisp/erc/erc-scenarios-base-netid-bouncer.el: New file. * test/lisp/erc/erc-scenarios-base-netid-samenet.el: New file. * test/lisp/erc/erc-scenarios-base-reconnect.el: New file. * test/lisp/erc/erc-scenarios-base-renick.el: New file. * test/lisp/erc/erc-scenarios-base-reuse-buffers.el: New file. * test/lisp/erc/erc-scenarios-base-unstable.el: New file. * test/lisp/erc/erc-scenarios-base-upstream-recon-soju.el: New file. * test/lisp/erc/erc-scenarios-base-upstream-recon-znc.el: New file. * test/lisp/erc/erc-scenarios-misc.el: New file. * test/lisp/erc/erc-scenarios-services-misc.el: New file. * test/lisp/erc/resources/base/assoc/bouncer-history/barnet.eld: New file. * test/lisp/erc/resources/base/assoc/bouncer-history/foonet.eld: New file. * test/lisp/erc/resources/base/assoc/bumped/again.eld: New file. * test/lisp/erc/resources/base/assoc/bumped/foisted.eld: New file. * test/lisp/erc/resources/base/assoc/bumped/refoisted.eld: New file. * test/lisp/erc/resources/base/assoc/bumped/renicked.eld: New file. * test/lisp/erc/resources/base/assoc/multi-net/barnet.eld: New file. * test/lisp/erc/resources/base/assoc/multi-net/foonet.eld: New file. * test/lisp/erc/resources/base/assoc/reconplay/again.eld: New file. * test/lisp/erc/resources/base/assoc/reconplay/foonet.eld: New file. * test/lisp/erc/resources/base/assoc/samenet/chester.eld: New file. * test/lisp/erc/resources/base/assoc/samenet/tester.eld: New file. * test/lisp/erc/resources/base/assoc/samenet/tester2.eld: New file. * test/lisp/erc/resources/base/channel-buffer-revival/foonet.eld: New file. * test/lisp/erc/resources/base/flood/soju.eld: New file. * test/lisp/erc/resources/base/gapless-connect/barnet.eld: New file. * test/lisp/erc/resources/base/gapless-connect/foonet.eld: New file. * test/lisp/erc/resources/base/gapless-connect/pass-stub.eld: New file. * test/lisp/erc/resources/base/netid/bouncer/barnet-again.eld: New file. * test/lisp/erc/resources/base/netid/bouncer/barnet-drop.eld: New file. * test/lisp/erc/resources/base/netid/bouncer/barnet.eld: New file. * test/lisp/erc/resources/base/netid/bouncer/foonet-again.eld: New file. * test/lisp/erc/resources/base/netid/bouncer/foonet-drop.eld: New file. * test/lisp/erc/resources/base/netid/bouncer/foonet.eld: New file. * test/lisp/erc/resources/base/netid/bouncer/stub-again.eld: New file. * test/lisp/erc/resources/base/netid/samenet/chester.eld: New file. * test/lisp/erc/resources/base/netid/samenet/tester.eld: New file. * test/lisp/erc/resources/base/reconnect/aborted-dupe.eld: New file. * test/lisp/erc/resources/base/reconnect/aborted.eld: New file. * test/lisp/erc/resources/base/reconnect/options-again.eld: New file. * test/lisp/erc/resources/base/reconnect/options.eld: New file. * test/lisp/erc/resources/base/reconnect/timer-last.eld: New file. * test/lisp/erc/resources/base/reconnect/timer.eld: New file. * test/lisp/erc/resources/base/renick/queries/bouncer-barnet.eld: New file. * test/lisp/erc/resources/base/renick/queries/bouncer-foonet.eld: New file. * test/lisp/erc/resources/base/renick/queries/solo.eld: New file. * test/lisp/erc/resources/base/renick/self/auto.eld: New file. * test/lisp/erc/resources/base/renick/self/manual.eld: New file. * test/lisp/erc/resources/base/renick/self/qual-chester.eld: New file. * test/lisp/erc/resources/base/renick/self/qual-tester.eld: New file. * test/lisp/erc/resources/base/reuse-buffers/server/barnet.eld: New file. * test/lisp/erc/resources/base/reuse-buffers/server/foonet.eld: New file. * test/lisp/erc/resources/base/upstream-reconnect/soju-barnet.eld: New file. * test/lisp/erc/resources/base/upstream-reconnect/soju-foonet.eld: New file. * test/lisp/erc/resources/base/upstream-reconnect/znc-barnet.eld: New file. * test/lisp/erc/resources/base/upstream-reconnect/znc-foonet.eld: New file. * test/lisp/erc/resources/erc-scenarios-common.el: New file. * test/lisp/erc/resources/networks/announced-missing/foonet.eld: New file. * test/lisp/erc/resources/services/password/libera.eld: New file. Add test cases for locking down fundamental client behavior, much of it involving the relationship between buffers and connections. Also add accompanying resources subdir containing canned dialog scripts and common code needed by various tests. For test cases demoing the problematic behavior originally described in the initial report, see update #4 on the bug tracker thread for bug#48598. Most reside in a file named test/lisp/erc/erc-scenarios-48598.el introduced by the patch "Add user-oriented test scenarios for ERC".