Fix issues in Charybdis' controller.

* Change pid file across start (so it does not complain if not properly terminated)
* Don't limit number of users (it someone remembers number of connects across restarts, but I can't figure out how).
This commit is contained in:
Valentin Lorentz 2015-12-21 20:12:22 +01:00
parent 17e0216b88
commit d7df7b7f90

View File

@ -4,6 +4,7 @@ import shutil
import tempfile import tempfile
import subprocess import subprocess
from irctest import client_mock
from irctest import authentication from irctest import authentication
from irctest.basecontrollers import BaseServerController, DirectoryBasedController from irctest.basecontrollers import BaseServerController, DirectoryBasedController
@ -21,6 +22,7 @@ listen {{
}}; }};
auth {{ auth {{
user = "*"; user = "*";
flags = exceed_limit;
{password_field} {password_field}
}}; }};
channel {{ channel {{
@ -30,7 +32,7 @@ channel {{
}}; }};
""" """
class CharybdisController(BaseServerController, DirectoryBasedController): class CharybdisController(BaseServerController, DirectoryBasedController):
supported_sasl_mechanisms = {} supported_sasl_mechanisms = set()
def create_config(self): def create_config(self):
super().create_config() super().create_config()
with self.open_file('server.conf'): with self.open_file('server.conf'):
@ -46,10 +48,14 @@ class CharybdisController(BaseServerController, DirectoryBasedController):
port=port, port=port,
password_field=password_field password_field=password_field
)) ))
self.proc = subprocess.Popen(['ircd', '-foreground', '-configfile', self.proc = subprocess.Popen(['ircd', '-foreground',
os.path.join(self.directory, 'server.conf')], '-configfile', os.path.join(self.directory, 'server.conf'),
stderr=subprocess.DEVNULL) '-pidfile', os.path.join(self.directory, 'server.pid'),
],
stderr=subprocess.DEVNULL
)
self.wait_for_port(self.proc, port) self.wait_for_port(self.proc, port)
def get_irctest_controller_class(): def get_irctest_controller_class():
return CharybdisController return CharybdisController