From 79223d35f19d6d6d20acae99f469387eb4349213 Mon Sep 17 00:00:00 2001 From: Val Lorentz Date: Sat, 4 May 2024 13:33:50 +0200 Subject: [PATCH] Enable WHO mask tests on Sable (#272) * Sable: Hide NickServ/ChanServ when running without services They interfere with 'WHO *' as they are returned as matches * Enable WHO mask tests on Sable * Bump Sable --- .github/workflows/test-stable.yml | 2 +- irctest/controllers/sable.py | 33 ++++++++++++++++++------------- irctest/server_tests/who.py | 16 +++++++-------- workflows.yml | 2 +- 4 files changed, 29 insertions(+), 24 deletions(-) diff --git a/.github/workflows/test-stable.yml b/.github/workflows/test-stable.yml index 837eb69c..7a9e8da8 100644 --- a/.github/workflows/test-stable.yml +++ b/.github/workflows/test-stable.yml @@ -1106,7 +1106,7 @@ jobs: uses: actions/checkout@v3 with: path: sable - ref: fe337a036c3ab5f8548e2578b65568e628f4c32f + ref: b9deaa930c49f2939d9a584bedbfc3236da0d707 repository: Libera-Chat/sable - name: Install rust toolchain uses: actions-rs/toolchain@v1 diff --git a/irctest/controllers/sable.py b/irctest/controllers/sable.py index fa624826..1bc27180 100644 --- a/irctest/controllers/sable.py +++ b/irctest/controllers/sable.py @@ -116,20 +116,7 @@ def certs_dir() -> Path: ], "alias_users": [ - { - "nick": "ChanServ", - "user": "ChanServ", - "host": "services.", - "realname": "Channel services compatibility layer", - "command_alias": "CS" - }, - { - "nick": "NickServ", - "user": "NickServ", - "host": "services.", - "realname": "Account services compatibility layer", - "command_alias": "NS" - } + %(services_alias_users)s ], "default_roles": { @@ -160,6 +147,23 @@ def certs_dir() -> Path: } """ +SERVICES_ALIAS_USERS = """ + { + "nick": "ChanServ", + "user": "ChanServ", + "host": "services.", + "realname": "Channel services compatibility layer", + "command_alias": "CS" + }, + { + "nick": "NickServ", + "user": "NickServ", + "host": "services.", + "realname": "Account services compatibility layer", + "command_alias": "NS" + } +""" + SERVER_CONFIG = """ { "server_id": 1, @@ -374,6 +378,7 @@ def run( .strip(), services_management_hostname=services_management_hostname, services_management_port=services_management_port, + services_alias_users=SERVICES_ALIAS_USERS if run_services else "", ) with self.open_file("configs/network.conf") as fd: diff --git a/irctest/server_tests/who.py b/irctest/server_tests/who.py index 5ee4ac34..8d96933a 100644 --- a/irctest/server_tests/who.py +++ b/irctest/server_tests/who.py @@ -87,7 +87,7 @@ def _checkReply(self, reply, flags): class WhoTestCase(BaseWhoTestCase, cases.BaseServerTestCase): @cases.mark_specifications("Modern") def testWhoStar(self): - if self.controller.software_name in ("Bahamut", "Sable"): + if self.controller.software_name in ("Bahamut",): raise runner.OptionalExtensionNotSupported("WHO mask") self._init() @@ -118,7 +118,7 @@ def testWhoStar(self): ) @cases.mark_specifications("Modern") def testWhoNick(self, mask): - if "*" in mask and self.controller.software_name in ("Bahamut", "Sable"): + if "*" in mask and self.controller.software_name in ("Bahamut",): raise runner.OptionalExtensionNotSupported("WHO mask") self._init() @@ -148,7 +148,7 @@ def testWhoNick(self, mask): ids=["username", "realname-mask", "hostname"], ) def testWhoUsernameRealName(self, mask): - if "*" in mask and self.controller.software_name in ("Bahamut", "Sable"): + if "*" in mask and self.controller.software_name in ("Bahamut",): raise runner.OptionalExtensionNotSupported("WHO mask") self._init() @@ -201,7 +201,7 @@ def testWhoRealNameSpaces(self): ) @cases.mark_specifications("Modern") def testWhoNickAway(self, mask): - if "*" in mask and self.controller.software_name in ("Bahamut", "Sable"): + if "*" in mask and self.controller.software_name in ("Bahamut",): raise runner.OptionalExtensionNotSupported("WHO mask") self._init() @@ -235,7 +235,7 @@ def testWhoNickAway(self, mask): ) @cases.mark_specifications("Modern") def testWhoNickOper(self, mask): - if "*" in mask and self.controller.software_name in ("Bahamut", "Sable"): + if "*" in mask and self.controller.software_name in ("Bahamut",): raise runner.OptionalExtensionNotSupported("WHO mask") self._init() @@ -274,7 +274,7 @@ def testWhoNickOper(self, mask): ) @cases.mark_specifications("Modern") def testWhoNickAwayAndOper(self, mask): - if "*" in mask and self.controller.software_name in ("Bahamut", "Sable"): + if "*" in mask and self.controller.software_name in ("Bahamut",): raise runner.OptionalExtensionNotSupported("WHO mask") self._init() @@ -308,7 +308,7 @@ def testWhoNickAwayAndOper(self, mask): @pytest.mark.parametrize("mask", ["#chan", "#CHAN"], ids=["exact", "casefolded"]) @cases.mark_specifications("Modern") def testWhoChan(self, mask): - if "*" in mask and self.controller.software_name in ("Bahamut", "Sable"): + if "*" in mask and self.controller.software_name in ("Bahamut",): raise runner.OptionalExtensionNotSupported("WHO mask") self._init() @@ -632,7 +632,7 @@ def testWhoxNoAccount(self): class WhoInvisibleTestCase(cases.BaseServerTestCase): @cases.mark_specifications("Modern") def testWhoInvisible(self): - if self.controller.software_name in ("Bahamut", "Sable"): + if self.controller.software_name in ("Bahamut",): raise runner.OptionalExtensionNotSupported("WHO mask") self.connectClient("evan", name="evan") diff --git a/workflows.yml b/workflows.yml index aa3e1417..1df9e939 100644 --- a/workflows.yml +++ b/workflows.yml @@ -249,7 +249,7 @@ software: name: Sable repository: Libera-Chat/sable refs: - stable: fe337a036c3ab5f8548e2578b65568e628f4c32f + stable: b9deaa930c49f2939d9a584bedbfc3236da0d707 release: null devel: master devel_release: null