mirror of
https://github.com/progval/irctest.git
synced 2025-04-05 06:49:47 +00:00
Add top-level docstrings to all modules
Will be used on the dashboard index in a future commit
This commit is contained in:
@ -1,3 +1,5 @@
|
||||
"""Format of ``CAP LS`` sent by IRCv3 clients."""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.irc_utils.message_parser import Message
|
||||
|
||||
|
@ -1,3 +1,8 @@
|
||||
"""SASL authentication from clients, for all known mechanisms.
|
||||
|
||||
For now, only `SASLv3.1 <https://ircv3.net/specs/extensions/sasl-3.1>`_
|
||||
is tested, not `SASLv3.2 <https://ircv3.net/specs/extensions/sasl-3.2>`_."""
|
||||
|
||||
import base64
|
||||
|
||||
import pytest
|
||||
|
@ -1,3 +1,5 @@
|
||||
"""Clients should validate certificates; either with a CA or fingerprints."""
|
||||
|
||||
import socket
|
||||
import ssl
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
"""Internal checks of assertion implementations."""
|
||||
|
||||
from typing import Dict, List, Tuple
|
||||
|
||||
import pytest
|
||||
|
@ -1,3 +1,8 @@
|
||||
"""
|
||||
`Draft IRCv3 account-registration
|
||||
<https://ircv3.net/specs/extensions/account-registration>`_
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.patma import ANYSTR
|
||||
|
@ -1,5 +1,5 @@
|
||||
"""
|
||||
<http://ircv3.net/specs/extensions/account-tag-3.2.html>
|
||||
`IRCv3 account-tag <https://ircv3.net/specs/extensions/account-tag>`_
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
|
@ -1,3 +1,8 @@
|
||||
"""
|
||||
AWAY command (`RFC 2812 <https://datatracker.ietf.org/doc/html/rfc2812#section-4.1>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#away-message>`__)
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.numerics import RPL_AWAY, RPL_NOWAWAY, RPL_UNAWAY, RPL_USERHOST
|
||||
from irctest.patma import StrRe
|
||||
@ -32,7 +37,7 @@ class AwayTestCase(cases.BaseServerTestCase):
|
||||
"""
|
||||
"The server acknowledges the change in away status by returning the
|
||||
`RPL_NOWAWAY` and `RPL_UNAWAY` numerics."
|
||||
-- https://github.com/ircdocs/modern-irc/pull/100
|
||||
-- https://modern.ircdocs.horse/#away-message
|
||||
"""
|
||||
self.connectClient("bar")
|
||||
self.sendLine(1, "AWAY :I'm not here right now")
|
||||
@ -48,7 +53,7 @@ class AwayTestCase(cases.BaseServerTestCase):
|
||||
"""
|
||||
"Servers SHOULD notify clients when a user they're interacting with
|
||||
is away when relevant"
|
||||
-- https://github.com/ircdocs/modern-irc/pull/100
|
||||
-- https://modern.ircdocs.horse/#away-message
|
||||
|
||||
"<client> <nick> :<message>"
|
||||
-- https://modern.ircdocs.horse/#rplaway-301
|
||||
@ -75,7 +80,7 @@ class AwayTestCase(cases.BaseServerTestCase):
|
||||
"""
|
||||
"Servers SHOULD notify clients when a user they're interacting with
|
||||
is away when relevant"
|
||||
-- https://github.com/ircdocs/modern-irc/pull/100
|
||||
-- https://modern.ircdocs.horse/#away-message
|
||||
|
||||
"<client> <nick> :<message>"
|
||||
-- https://modern.ircdocs.horse/#rplaway-301
|
||||
@ -113,7 +118,7 @@ class AwayTestCase(cases.BaseServerTestCase):
|
||||
"""
|
||||
"Servers SHOULD notify clients when a user they're interacting with
|
||||
is away when relevant"
|
||||
-- https://github.com/ircdocs/modern-irc/pull/100
|
||||
-- https://modern.ircdocs.horse/#away-message
|
||||
|
||||
"<client> <nick> :<message>"
|
||||
-- https://modern.ircdocs.horse/#rplaway-301
|
||||
|
@ -1,5 +1,5 @@
|
||||
"""
|
||||
<https://ircv3.net/specs/extensions/away-notify-3.1>
|
||||
`IRCv3 away-notify <https://ircv3.net/specs/extensions/away-notify>`_
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
|
@ -1,6 +1,5 @@
|
||||
"""
|
||||
Draft bot mode specification, as defined in
|
||||
<https://ircv3.net/specs/extensions/bot-mode>
|
||||
`IRCv3 draft bot mode <https://ircv3.net/specs/extensions/bot-mode>`_
|
||||
"""
|
||||
|
||||
from irctest import cases, runner
|
||||
|
@ -1,3 +1,9 @@
|
||||
"""
|
||||
`Ergo <https://ergo.chat/>`_-specific tests of
|
||||
`multiclient features
|
||||
<https://github.com/ergochat/ergo/blob/master/docs/MANUAL.md#multiclient-bouncer>`_
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.irc_utils.sasl import sasl_plain_blob
|
||||
from irctest.numerics import ERR_NICKNAMEINUSE, RPL_WELCOME
|
||||
|
@ -1,5 +1,7 @@
|
||||
"""Sends packets with various length to check the server reassembles them
|
||||
correctly. Also checks truncation"""
|
||||
"""
|
||||
Sends packets with various length to check the server reassembles them
|
||||
correctly. Also checks truncation.
|
||||
"""
|
||||
|
||||
import socket
|
||||
import time
|
||||
|
@ -1,3 +1,8 @@
|
||||
"""
|
||||
`IRCv3 Capability negotiation
|
||||
<https://ircv3.net/specs/extensions/capability-negotiation>`_
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.patma import ANYSTR
|
||||
from irctest.runner import CapabilityNotSupported, ImplementationChoice
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
Channel casemapping
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
||||
from irctest import cases, client_mock, runner
|
||||
|
@ -1,3 +1,9 @@
|
||||
"""
|
||||
`Ergo <https://ergo.chat/>`_-specific tests of channel forwarding
|
||||
|
||||
TODO: Should be extended to other servers, once a specification is written.
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.numerics import ERR_CHANOPRIVSNEEDED, ERR_INVALIDMODEPARAM, ERR_LINKCHANNEL
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
`Draft IRCv3 channel-rename <https://ircv3.net/specs/extensions/channel-rename>`_
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.numerics import ERR_CHANOPRIVSNEEDED
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
`IRCv3 draft chathistory <https://ircv3.net/specs/extensions/chathistory>`_
|
||||
"""
|
||||
|
||||
import secrets
|
||||
import time
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
"""
|
||||
`Ergo <https://ergo.chat/>`_-specific tests of auditorium mode
|
||||
|
||||
TODO: Should be extended to other servers, once a specification is written.
|
||||
"""
|
||||
|
||||
import math
|
||||
import time
|
||||
|
||||
|
@ -1,3 +1,10 @@
|
||||
"""
|
||||
Channel ban (`RFC 1459
|
||||
<https://datatracker.ietf.org/doc/html/rfc1459#section-4.2.3.1>`__,
|
||||
`RFC 2812 <https://datatracker.ietf.org/doc/html/rfc2812#section-3.2.3>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#ban-channel-mode>`__)
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.numerics import ERR_BANNEDFROMCHAN, RPL_BANLIST, RPL_ENDOFBANLIST
|
||||
from irctest.patma import ANYSTR, StrRe
|
||||
@ -26,7 +33,7 @@ class BanModeTestCase(cases.BaseServerTestCase):
|
||||
|
||||
@cases.mark_specifications("Modern")
|
||||
def testBanList(self):
|
||||
"""https://github.com/ircdocs/modern-irc/pull/125"""
|
||||
"""`RPL_BANLIST <https://modern.ircdocs.horse/#rplbanlist-367>`"""
|
||||
self.connectClient("chanop")
|
||||
self.joinChannel(1, "#chan")
|
||||
self.getMessages(1)
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
Various Ergo-specific channel modes
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.numerics import ERR_CANNOTSENDTOCHAN, ERR_CHANOPRIVSNEEDED
|
||||
|
||||
|
@ -1,3 +1,10 @@
|
||||
"""
|
||||
Channel key (`RFC 1459
|
||||
<https://datatracker.ietf.org/doc/html/rfc1459#section-4.2.3.1>`__,
|
||||
`RFC 2812 <https://datatracker.ietf.org/doc/html/rfc2812#section-3.2.3>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#key-channel-mode>`__)
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
||||
from irctest import cases
|
||||
|
@ -1,3 +1,9 @@
|
||||
"""
|
||||
Channel moderation mode (`RFC 2812
|
||||
<https://datatracker.ietf.org/doc/html/rfc2812#section-3.2.3>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#ban-channel-mode>`__)
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.numerics import ERR_CANNOTSENDTOCHAN
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
Mute extban, currently no specifications or ways to discover it.
|
||||
"""
|
||||
|
||||
from irctest import cases, runner
|
||||
from irctest.numerics import ERR_CANNOTSENDTOCHAN, ERR_CHANOPRIVSNEEDED
|
||||
from irctest.patma import ANYLIST, StrRe
|
||||
|
@ -1,3 +1,10 @@
|
||||
"""
|
||||
Channel secrecy mode (`RFC 1459
|
||||
<https://datatracker.ietf.org/doc/html/rfc1459#section-4.2.3.1>`__,
|
||||
`RFC 2812 <https://datatracker.ietf.org/doc/html/rfc2812#section-3.2.3>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#secret-channel-mode>`__)
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.numerics import RPL_LIST
|
||||
|
||||
|
@ -1,3 +1,8 @@
|
||||
"""
|
||||
`Ergo <https://ergo.chat/>`_-specific tests for nick collisions based on Unicode
|
||||
confusable characters
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.numerics import ERR_NICKNAMEINUSE, RPL_WELCOME
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
"""
|
||||
Tests section 4.1 of RFC 1459.
|
||||
<https://tools.ietf.org/html/rfc1459#section-4.1>
|
||||
|
||||
TODO: cross-reference Modern and RFC 2812 too
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
|
@ -1,5 +1,5 @@
|
||||
"""
|
||||
<http://ircv3.net/specs/extensions/echo-message-3.2.html>
|
||||
`IRCv3 echo-message <https://ircv3.net/specs/extensions/echo-message>`_
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
`Ergo <https://ergo.chat/>`-specific tests of NickServ.
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.numerics import RPL_YOUREOPER
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
"""
|
||||
<http://ircv3.net/specs/extensions/extended-join-3.1.html>
|
||||
`IRCv3 extended-join <https://ircv3.net/specs/extensions/extended-join>`_
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
|
@ -1,5 +1,5 @@
|
||||
"""
|
||||
The HELP and HELPOP command.
|
||||
The HELP and HELPOP command (`Modern <https://modern.ircdocs.horse/#help-message>`__)
|
||||
"""
|
||||
|
||||
import re
|
||||
|
@ -1,5 +1,8 @@
|
||||
"""
|
||||
The INFO command.
|
||||
The INFO command (`RFC 1459
|
||||
<https://datatracker.ietf.org/doc/html/rfc1459#section-4.3.8>`__,
|
||||
`RFC 2812 <https://datatracker.ietf.org/doc/html/rfc2812#section-3.4.10>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#info-message>`__)
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
@ -1,3 +1,10 @@
|
||||
"""
|
||||
The INVITE command (`RFC 1459
|
||||
<https://datatracker.ietf.org/doc/html/rfc1459#section-4.2.7>`__,
|
||||
`RFC 2812 <https://datatracker.ietf.org/doc/html/rfc2812#section-3.2.7>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#invite-message>`__)
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
||||
from irctest import cases
|
||||
|
@ -1,3 +1,8 @@
|
||||
"""
|
||||
RPL_ISUPPORT: `format <https://modern.ircdocs.horse/#rplisupport-005>`__
|
||||
and various `tokens <https://modern.ircdocs.horse/#rplisupport-parameters>`__
|
||||
"""
|
||||
|
||||
import re
|
||||
|
||||
from irctest import cases, runner
|
||||
|
@ -1,3 +1,10 @@
|
||||
"""
|
||||
The JOIN command (`RFC 1459
|
||||
<https://datatracker.ietf.org/doc/html/rfc1459#section-4.2.1>`__,
|
||||
`RFC 2812 <https://datatracker.ietf.org/doc/html/rfc2812#section-3.2.1>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#join-message>`__)
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.irc_utils import ambiguities
|
||||
|
||||
|
@ -1,3 +1,10 @@
|
||||
"""
|
||||
The INFO command (`RFC 1459
|
||||
<https://datatracker.ietf.org/doc/html/rfc1459#section-4.2.1>`__,
|
||||
`RFC 2812 <https://datatracker.ietf.org/doc/html/rfc2812#section-3.2.>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#kick-message>`__)
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
||||
from irctest import cases, client_mock, runner
|
||||
|
@ -1,8 +1,8 @@
|
||||
"""
|
||||
`IRCv3 labeled-response <https://ircv3.net/specs/extensions/labeled-response>`_
|
||||
|
||||
This specification is a little hard to test because all labels are optional;
|
||||
so there may be many false positives.
|
||||
|
||||
<https://ircv3.net/specs/extensions/labeled-response.html>
|
||||
"""
|
||||
|
||||
import re
|
||||
|
@ -1,3 +1,12 @@
|
||||
"""
|
||||
The LIST command (`RFC 1459
|
||||
<https://datatracker.ietf.org/doc/html/rfc1459#section-4.2.6>`__,
|
||||
`RFC 2812 <https://datatracker.ietf.org/doc/html/rfc2812#section-3.2.6>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#list-message>`__)
|
||||
|
||||
TODO: check with Modern
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
|
||||
|
||||
|
@ -1,3 +1,11 @@
|
||||
"""
|
||||
The LUSERS command (`RFC 2812
|
||||
<https://datatracker.ietf.org/doc/html/rfc2812#section-3.4.2>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#lusers-message>`__),
|
||||
which provides statistics on user counts.
|
||||
"""
|
||||
|
||||
|
||||
from dataclasses import dataclass
|
||||
import re
|
||||
from typing import Optional
|
||||
|
@ -1,5 +1,5 @@
|
||||
"""
|
||||
https://ircv3.net/specs/extensions/message-tags.html
|
||||
`IRCv3 message-tags <https://ircv3.net/specs/extensions/message-tags>`_
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
@ -1,6 +1,5 @@
|
||||
"""
|
||||
Section 3.2 of RFC 2812
|
||||
<https://tools.ietf.org/html/rfc2812#section-3.3>
|
||||
The PRIVMSG and NOTICE commands.
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
|
@ -1,6 +1,5 @@
|
||||
"""
|
||||
Tests METADATA features.
|
||||
<http://ircv3.net/specs/core/metadata-3.2.html>
|
||||
`Deprecated IRCv3 Metadata <https://ircv3.net/specs/core/metadata-3.2>`_
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
|
@ -1,5 +1,5 @@
|
||||
"""
|
||||
<http://ircv3.net/specs/core/monitor-3.2.html>
|
||||
`IRCv3 MONITOR <https://ircv3.net/specs/extensions/monitor>`_
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
|
@ -1,6 +1,5 @@
|
||||
"""
|
||||
Tests multi-prefix.
|
||||
<http://ircv3.net/specs/extensions/multi-prefix-3.1.html>
|
||||
`IRCv3 multi-prefix <https://ircv3.net/specs/extensions/multi-prefix>`_
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
|
@ -1,5 +1,5 @@
|
||||
"""
|
||||
draft/multiline
|
||||
`Draft IRCv3 multiline <https://ircv3.net/specs/extensions/multiline>`_
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
|
@ -1,3 +1,10 @@
|
||||
"""
|
||||
The NAMES command (`RFC 1459
|
||||
<https://datatracker.ietf.org/doc/html/rfc1459#section-4.2.5>`__,
|
||||
`RFC 2812 <https://datatracker.ietf.org/doc/html/rfc2812#section-3.2.5>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#names-message>`__)
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.numerics import RPL_ENDOFNAMES
|
||||
from irctest.patma import ANYSTR
|
||||
|
@ -1,3 +1,12 @@
|
||||
"""
|
||||
The PART command (`RFC 1459
|
||||
<https://datatracker.ietf.org/doc/html/rfc1459#section-6.1>`__,
|
||||
`RFC 2812 <https://datatracker.ietf.org/doc/html/rfc2812#section-5.2>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#part-message>`__)
|
||||
|
||||
TODO: cross-reference Modern
|
||||
"""
|
||||
|
||||
import time
|
||||
|
||||
from irctest import cases
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
The PING and PONG commands
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.numerics import ERR_NEEDMOREPARAMS, ERR_NOORIGIN
|
||||
from irctest.patma import ANYSTR
|
||||
|
@ -1,3 +1,12 @@
|
||||
"""
|
||||
The QUITcommand (`RFC 1459
|
||||
<https://datatracker.ietf.org/doc/html/rfc1459#section-4.1.6>`__,
|
||||
`RFC 2812 <https://datatracker.ietf.org/doc/html/rfc2812#section-3.2.1>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#quit-message>`__)
|
||||
|
||||
TODO: cross-reference RFC 1459 and Modern
|
||||
"""
|
||||
|
||||
import time
|
||||
|
||||
from irctest import cases
|
||||
|
@ -1,9 +1,12 @@
|
||||
"""
|
||||
`Ergo <https://ergo.chat/>`_-specific tests of responses to DoS attacks
|
||||
using long lines.
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
|
||||
|
||||
class ReadqTestCase(cases.BaseServerTestCase):
|
||||
"""Test responses to DoS attacks using long lines."""
|
||||
|
||||
@cases.mark_specifications("Ergo")
|
||||
@cases.mark_capabilities("message-tags")
|
||||
def testReadqTags(self):
|
||||
|
@ -1,5 +1,5 @@
|
||||
"""
|
||||
Regression tests for bugs in oragono.
|
||||
Regression tests for bugs in `Ergo <https://ergo.chat/>`_.
|
||||
"""
|
||||
|
||||
import time
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
RELAYMSG command of `Ergo <https://ergo.chat/>`_
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.irc_utils.junkdrawer import random_name
|
||||
from irctest.patma import ANYSTR
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
Roleplay features of `Ergo <https://ergo.chat/>`_
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.irc_utils.junkdrawer import random_name
|
||||
from irctest.numerics import ERR_CANNOTSENDRP
|
||||
|
@ -1,3 +1,10 @@
|
||||
"""
|
||||
STATUSMSG ISUPPORT token and related PRIVMSG (`Modern
|
||||
<https://modern.ircdocs.horse/#statusmsg-parameter>`__)
|
||||
|
||||
TODO: cross-reference Modern
|
||||
"""
|
||||
|
||||
from irctest import cases, runner
|
||||
from irctest.numerics import RPL_NAMREPLY
|
||||
|
||||
|
@ -1,3 +1,10 @@
|
||||
"""
|
||||
The TOPIC command (`RFC 1459
|
||||
<https://datatracker.ietf.org/doc/html/rfc1459#section-4.2.1>`__,
|
||||
`RFC 2812 <https://datatracker.ietf.org/doc/html/rfc2812#section-3.2.1>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#topic-message>`__)
|
||||
"""
|
||||
|
||||
from irctest import cases, client_mock, runner
|
||||
from irctest.numerics import ERR_CHANOPRIVSNEEDED, RPL_NOTOPIC, RPL_TOPIC, RPL_TOPICTIME
|
||||
|
||||
|
@ -1,3 +1,10 @@
|
||||
"""
|
||||
`Ergo <https://ergo.chat/>`_-specific tests of non-Unicode filtering
|
||||
|
||||
TODO: turn this into a test of `IRCv3 UTF8ONLY
|
||||
<https://ircv3.net/specs/extensions/utf8-only>`_
|
||||
"""
|
||||
|
||||
from irctest import cases
|
||||
from irctest.patma import ANYSTR
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
"""
|
||||
The WALLOPS command (`RFC 2812
|
||||
<https://datatracker.ietf.org/doc/html/rfc2812#section-3.7>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#wallops-message>`__)
|
||||
"""
|
||||
|
||||
from irctest import cases, runner
|
||||
from irctest.numerics import ERR_NOPRIVILEGES, ERR_UNKNOWNCOMMAND, RPL_YOUREOPER
|
||||
from irctest.patma import ANYSTR, StrRe
|
||||
|
@ -1,3 +1,10 @@
|
||||
"""
|
||||
The WHO command (`Modern <https://modern.ircdocs.horse/#who-message>`__)
|
||||
and `IRCv3 WHOX <https://ircv3.net/specs/extensions/whox>`_
|
||||
|
||||
TODO: cross-reference RFC 1459 and RFC 2812
|
||||
"""
|
||||
|
||||
import re
|
||||
|
||||
import pytest
|
||||
|
@ -1,3 +1,9 @@
|
||||
"""
|
||||
The WHOIS command (`Modern <https://modern.ircdocs.horse/#whois-message>`__)
|
||||
|
||||
TODO: cross-reference RFC 1459 and RFC 2812
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
||||
from irctest import cases
|
||||
|
@ -1,3 +1,13 @@
|
||||
"""
|
||||
The WHOSWAS command (`RFC 1459
|
||||
<https://datatracker.ietf.org/doc/html/rfc1459#section-4.5.3>`__,
|
||||
`RFC 2812 <https://datatracker.ietf.org/doc/html/rfc2812#section-3.6.3>`__,
|
||||
`Modern <https://modern.ircdocs.horse/#whowas-message>`__)
|
||||
|
||||
TODO: cross-reference Modern
|
||||
"""
|
||||
|
||||
|
||||
import pytest
|
||||
|
||||
from irctest import cases, runner
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
`Ergo <https://ergo.chat/>`_-specific tests of ZNC-like message playback
|
||||
"""
|
||||
|
||||
import time
|
||||
|
||||
from irctest import cases
|
||||
|
Reference in New Issue
Block a user