mirror of
https://github.com/progval/irctest.git
synced 2025-04-04 14:29:46 +00:00
Add support for Nefarious (#151)
This commit is contained in:
38
.github/workflows/test-devel.yml
vendored
38
.github/workflows/test-devel.yml
vendored
@ -380,6 +380,7 @@ jobs:
|
||||
- test-inspircd-anope
|
||||
- test-ircu2
|
||||
- test-limnoria
|
||||
- test-nefarious
|
||||
- test-ngircd
|
||||
- test-ngircd-anope
|
||||
- test-ngircd-atheme
|
||||
@ -728,6 +729,43 @@ jobs:
|
||||
with:
|
||||
name: pytest-results_limnoria_devel
|
||||
path: pytest.xml
|
||||
test-nefarious:
|
||||
needs: []
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python 3.7
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.7
|
||||
- name: Checkout nefarious
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: nefarious
|
||||
ref: master
|
||||
repository: evilnet/nefarious2
|
||||
- name: Build nefarious
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE/nefarious
|
||||
./configure --prefix=$HOME/.local/ --enable-debug
|
||||
make -j 4
|
||||
make install
|
||||
cp $GITHUB_WORKSPACE/data/nefarious/* $HOME/.local/lib
|
||||
- name: Install Atheme
|
||||
run: sudo apt-get install atheme-services
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
nefarious
|
||||
- if: always()
|
||||
name: Publish results
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: pytest-results_nefarious_devel
|
||||
path: pytest.xml
|
||||
test-ngircd:
|
||||
needs:
|
||||
- build-ngircd
|
||||
|
38
.github/workflows/test-stable.yml
vendored
38
.github/workflows/test-stable.yml
vendored
@ -423,6 +423,7 @@ jobs:
|
||||
- test-irc2
|
||||
- test-ircu2
|
||||
- test-limnoria
|
||||
- test-nefarious
|
||||
- test-ngircd
|
||||
- test-ngircd-anope
|
||||
- test-ngircd-atheme
|
||||
@ -888,6 +889,43 @@ jobs:
|
||||
with:
|
||||
name: pytest-results_limnoria_stable
|
||||
path: pytest.xml
|
||||
test-nefarious:
|
||||
needs: []
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python 3.7
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.7
|
||||
- name: Checkout nefarious
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: nefarious
|
||||
ref: 985704168ecada12d9e53b46df6087ef9d9fb40b
|
||||
repository: evilnet/nefarious2
|
||||
- name: Build nefarious
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE/nefarious
|
||||
./configure --prefix=$HOME/.local/ --enable-debug
|
||||
make -j 4
|
||||
make install
|
||||
cp $GITHUB_WORKSPACE/data/nefarious/* $HOME/.local/lib
|
||||
- name: Install Atheme
|
||||
run: sudo apt-get install atheme-services
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
nefarious
|
||||
- if: always()
|
||||
name: Publish results
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: pytest-results_nefarious_stable
|
||||
path: pytest.xml
|
||||
test-ngircd:
|
||||
needs:
|
||||
- build-ngircd
|
||||
|
25
Makefile
25
Makefile
@ -91,6 +91,20 @@ IRCU2_SELECTORS := \
|
||||
and not testWhowasCountZero \
|
||||
$(EXTRA_SELECTORS)
|
||||
|
||||
# same justification as ircu2
|
||||
# lusers "unregistered" tests fail because Nefarious doesn't seem to distinguish unregistered users from normal ones
|
||||
NEFARIOUS_SELECTORS := \
|
||||
not Ergo \
|
||||
and not deprecated \
|
||||
and not strict \
|
||||
and not buffering \
|
||||
and not testQuit \
|
||||
and not (lusers and unregistered) \
|
||||
and not statusmsg \
|
||||
and not (testKeyValidation and empty) \
|
||||
and not testEmptyRealname \
|
||||
$(EXTRA_SELECTORS)
|
||||
|
||||
# same justification as ircu2
|
||||
SNIRCD_SELECTORS := \
|
||||
not Ergo \
|
||||
@ -196,9 +210,9 @@ UNREALIRCD_SELECTORS := \
|
||||
and not HelpTestCase \
|
||||
$(EXTRA_SELECTORS)
|
||||
|
||||
.PHONY: all flakes bahamut charybdis ergo inspircd ircu2 snircd irc2 mammon limnoria sopel solanum unrealircd
|
||||
.PHONY: all flakes bahamut charybdis ergo inspircd ircu2 snircd irc2 mammon nefarious limnoria sopel solanum unrealircd
|
||||
|
||||
all: flakes bahamut charybdis ergo inspircd ircu2 snircd irc2 mammon limnoria sopel solanum unrealircd
|
||||
all: flakes bahamut charybdis ergo inspircd ircu2 snircd irc2 mammon nefarious limnoria sopel solanum unrealircd
|
||||
|
||||
flakes:
|
||||
find irctest/ -name "*.py" -not -path "irctest/scram/*" -print0 | xargs -0 pyflakes3
|
||||
@ -270,6 +284,13 @@ ircu2:
|
||||
-n 10 \
|
||||
-k '$(IRCU2_SELECTORS)'
|
||||
|
||||
nefarious:
|
||||
$(PYTEST) $(PYTEST_ARGS) \
|
||||
--controller=irctest.controllers.nefarious \
|
||||
-m 'not services' \
|
||||
-n 10 \
|
||||
-k '$(NEFARIOUS_SELECTORS)'
|
||||
|
||||
snircd:
|
||||
$(PYTEST) $(PYTEST_ARGS) \
|
||||
--controller=irctest.controllers.snircd \
|
||||
|
83
data/nefarious/ircd.pem
Normal file
83
data/nefarious/ircd.pem
Normal file
@ -0,0 +1,83 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
FnMesy4thDMH/MhUfRtbylZTq45gtvCA
|
||||
-----END PRIVATE KEY-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
-----END CERTIFICATE-----
|
@ -51,6 +51,7 @@ features {{
|
||||
|
||||
|
||||
class Ircu2Controller(BaseServerController, DirectoryBasedController):
|
||||
software_name = "Ircu2"
|
||||
supports_sts = False
|
||||
extban_mute_char = None
|
||||
|
||||
|
11
irctest/controllers/nefarious.py
Normal file
11
irctest/controllers/nefarious.py
Normal file
@ -0,0 +1,11 @@
|
||||
from typing import Type
|
||||
|
||||
from .ircu2 import Ircu2Controller
|
||||
|
||||
|
||||
class NefariousController(Ircu2Controller):
|
||||
software_name = "Nefarious"
|
||||
|
||||
|
||||
def get_irctest_controller_class() -> Type[NefariousController]:
|
||||
return NefariousController
|
@ -204,6 +204,23 @@ software:
|
||||
make -j 4
|
||||
make install
|
||||
|
||||
nefarious:
|
||||
name: nefarious
|
||||
repository: evilnet/nefarious2
|
||||
refs:
|
||||
stable: "985704168ecada12d9e53b46df6087ef9d9fb40b"
|
||||
release: null
|
||||
devel: "master"
|
||||
devel_release: null
|
||||
path: nefarious
|
||||
separate_build_job: false
|
||||
build_script: |
|
||||
cd $GITHUB_WORKSPACE/nefarious
|
||||
./configure --prefix=$HOME/.local/ --enable-debug
|
||||
make -j 4
|
||||
make install
|
||||
cp $GITHUB_WORKSPACE/data/nefarious/* $HOME/.local/lib
|
||||
|
||||
ngircd:
|
||||
name: ngircd
|
||||
repository: ngircd/ngircd
|
||||
@ -358,16 +375,19 @@ tests:
|
||||
plexus4:
|
||||
software: [plexus4, anope]
|
||||
|
||||
# doesn't build because it can't find liblex for some reason
|
||||
#snircd:
|
||||
# software: [snircd]
|
||||
|
||||
irc2:
|
||||
software: [irc2]
|
||||
|
||||
ircu2:
|
||||
software: [ircu2]
|
||||
|
||||
nefarious:
|
||||
software: [nefarious]
|
||||
|
||||
# doesn't build because it can't find liblex for some reason
|
||||
#snircd:
|
||||
# software: [snircd]
|
||||
|
||||
unrealircd-5:
|
||||
software: [unrealircd-5]
|
||||
|
||||
|
Reference in New Issue
Block a user