mirror of
https://github.com/progval/irctest.git
synced 2025-04-03 22:09:46 +00:00
308 lines
7.3 KiB
Makefile
308 lines
7.3 KiB
Makefile
PYTEST ?= python3 -m pytest
|
|
|
|
# Extra arguments to pass to pytest (eg. `-n 4` to run in parallel if
|
|
# pytest-xdist is installed)
|
|
PYTEST_ARGS ?=
|
|
|
|
# Will be appended at the end of the -k argument to pytest
|
|
EXTRA_SELECTORS ?=
|
|
|
|
BAHAMUT_SELECTORS := \
|
|
not Ergo \
|
|
and not deprecated \
|
|
and not strict \
|
|
and not IRCv3 \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
CHARYBDIS_SELECTORS := \
|
|
not Ergo \
|
|
and not deprecated \
|
|
and not strict \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
ERGO_SELECTORS := \
|
|
not deprecated \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
HYBRID_SELECTORS := \
|
|
not Ergo \
|
|
and not deprecated \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
INSPIRCD_SELECTORS := \
|
|
not Ergo \
|
|
and not deprecated \
|
|
and not strict \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
IRCU2_SELECTORS := \
|
|
not Ergo \
|
|
and not deprecated \
|
|
and not strict \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
NEFARIOUS_SELECTORS := \
|
|
not Ergo \
|
|
and not deprecated \
|
|
and not strict \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
SNIRCD_SELECTORS := \
|
|
not Ergo \
|
|
and not deprecated \
|
|
and not strict \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
IRC2_SELECTORS := \
|
|
not Ergo \
|
|
and not deprecated \
|
|
and not strict \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
MAMMON_SELECTORS := \
|
|
not Ergo \
|
|
and not deprecated \
|
|
and not strict \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
NGIRCD_SELECTORS := \
|
|
not Ergo \
|
|
and not deprecated \
|
|
and not strict \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
PLEXUS4_SELECTORS := \
|
|
not Ergo \
|
|
and not deprecated \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
# Limnoria can actually pass all the test so there is none to exclude.
|
|
# `(foo or not foo)` serves as a `true` value so it doesn't break when
|
|
# $(EXTRA_SELECTORS) is non-empty
|
|
LIMNORIA_SELECTORS := \
|
|
(foo or not foo) \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
# Tests marked with arbitrary_client_tags or react_tag can't pass because Sable does not support client tags yet
|
|
SABLE_SELECTORS := \
|
|
not Ergo \
|
|
and not deprecated \
|
|
and not strict \
|
|
and not arbitrary_client_tags \
|
|
and not react_tag \
|
|
and not list and not lusers and not time and not info \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
SOLANUM_SELECTORS := \
|
|
not Ergo \
|
|
and not deprecated \
|
|
and not strict \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
# Same as Limnoria
|
|
SOPEL_SELECTORS := \
|
|
(foo or not foo) \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
# TheLounge can actually pass all the test so there is none to exclude.
|
|
# `(foo or not foo)` serves as a `true` value so it doesn't break when
|
|
# $(EXTRA_SELECTORS) is non-empty
|
|
THELOUNGE_SELECTORS := \
|
|
(foo or not foo) \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
# Tests marked with arbitrary_client_tags can't pass because Unreal whitelists which tags it relays
|
|
# Tests marked with react_tag can't pass because Unreal blocks +draft/react https://github.com/unrealircd/unrealircd/pull/149
|
|
# Tests marked with private_chathistory can't pass because Unreal does not implement CHATHISTORY for DMs
|
|
|
|
UNREALIRCD_SELECTORS := \
|
|
not Ergo \
|
|
and not deprecated \
|
|
and not strict \
|
|
and not arbitrary_client_tags \
|
|
and not react_tag \
|
|
and not private_chathistory \
|
|
$(EXTRA_SELECTORS)
|
|
|
|
.PHONY: all flakes bahamut charybdis ergo inspircd ircu2 snircd irc2 mammon nefarious limnoria sable sopel solanum unrealircd
|
|
|
|
all: flakes bahamut charybdis ergo inspircd ircu2 snircd irc2 mammon nefarious limnoria sable sopel solanum unrealircd
|
|
|
|
flakes:
|
|
find irctest/ -name "*.py" -not -path "irctest/scram/*" -print0 | xargs -0 pyflakes3
|
|
|
|
bahamut:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.bahamut \
|
|
-m 'not services' \
|
|
-n 4 \
|
|
-vv -s \
|
|
-k '$(BAHAMUT_SELECTORS)'
|
|
|
|
bahamut-atheme:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.bahamut \
|
|
--services-controller=irctest.controllers.atheme_services \
|
|
-m 'services' \
|
|
-k '$(BAHAMUT_SELECTORS)'
|
|
|
|
bahamut-anope:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.bahamut \
|
|
--services-controller=irctest.controllers.anope_services \
|
|
-m 'services' \
|
|
-k '$(BAHAMUT_SELECTORS)'
|
|
|
|
charybdis:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.charybdis \
|
|
--services-controller=irctest.controllers.atheme_services \
|
|
-k '$(CHARYBDIS_SELECTORS)'
|
|
|
|
ergo:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller irctest.controllers.ergo \
|
|
-k "$(ERGO_SELECTORS)"
|
|
|
|
hybrid:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller irctest.controllers.hybrid \
|
|
--services-controller=irctest.controllers.anope_services \
|
|
-k "$(HYBRID_SELECTORS)"
|
|
|
|
inspircd:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.inspircd \
|
|
-m 'not services' \
|
|
-k '$(INSPIRCD_SELECTORS)'
|
|
|
|
inspircd-atheme:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.inspircd \
|
|
--services-controller=irctest.controllers.atheme_services \
|
|
-m 'services' \
|
|
-k '$(INSPIRCD_SELECTORS)'
|
|
|
|
inspircd-anope:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.inspircd \
|
|
--services-controller=irctest.controllers.anope_services \
|
|
-m 'services' \
|
|
-k '$(INSPIRCD_SELECTORS)'
|
|
|
|
ircu2:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.ircu2 \
|
|
-m 'not services and not IRCv3' \
|
|
-n 4 \
|
|
-k '$(IRCU2_SELECTORS)'
|
|
|
|
nefarious:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.nefarious \
|
|
-m 'not services' \
|
|
-n 4 \
|
|
-k '$(NEFARIOUS_SELECTORS)'
|
|
|
|
snircd:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.snircd \
|
|
-m 'not services and not IRCv3' \
|
|
-n 4 \
|
|
-k '$(SNIRCD_SELECTORS)'
|
|
|
|
irc2:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.irc2 \
|
|
-m 'not services and not IRCv3' \
|
|
-n 4 \
|
|
-k '$(IRC2_SELECTORS)'
|
|
|
|
limnoria:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.limnoria \
|
|
-k '$(LIMNORIA_SELECTORS)'
|
|
|
|
mammon:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.mammon \
|
|
-k '$(MAMMON_SELECTORS)'
|
|
|
|
plexus4:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller irctest.controllers.plexus4 \
|
|
--services-controller=irctest.controllers.anope_services \
|
|
-k "$(PLEXUS4_SELECTORS)"
|
|
|
|
ngircd:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller irctest.controllers.ngircd \
|
|
-m 'not services' \
|
|
-n 4 \
|
|
-k "$(NGIRCD_SELECTORS)"
|
|
|
|
ngircd-anope:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller irctest.controllers.ngircd \
|
|
--services-controller=irctest.controllers.anope_services \
|
|
-m 'services' \
|
|
-k "$(NGIRCD_SELECTORS)"
|
|
|
|
ngircd-atheme:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller irctest.controllers.ngircd \
|
|
--services-controller=irctest.controllers.atheme_services \
|
|
-m 'services' \
|
|
-k "$(NGIRCD_SELECTORS)"
|
|
|
|
sable:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.sable \
|
|
-n 20 \
|
|
-k '$(SABLE_SELECTORS)'
|
|
|
|
solanum:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.solanum \
|
|
--services-controller=irctest.controllers.atheme_services \
|
|
-k '$(SOLANUM_SELECTORS)'
|
|
|
|
sopel:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.sopel \
|
|
-k '$(SOPEL_SELECTORS)'
|
|
|
|
thelounge:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.thelounge \
|
|
-k '$(THELOUNGE_SELECTORS)'
|
|
|
|
unrealircd:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.unrealircd \
|
|
-m 'not services' \
|
|
-k '$(UNREALIRCD_SELECTORS)'
|
|
|
|
unrealircd-5: unrealircd
|
|
|
|
unrealircd-atheme:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.unrealircd \
|
|
--services-controller=irctest.controllers.atheme_services \
|
|
-m 'services' \
|
|
-k '$(UNREALIRCD_SELECTORS)'
|
|
|
|
unrealircd-anope:
|
|
$(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.unrealircd \
|
|
--services-controller=irctest.controllers.anope_services \
|
|
-m 'services' \
|
|
-k '$(UNREALIRCD_SELECTORS)'
|
|
|
|
unrealircd-dlk:
|
|
pifpaf run mysql -- $(PYTEST) $(PYTEST_ARGS) \
|
|
--controller=irctest.controllers.unrealircd \
|
|
--services-controller=irctest.controllers.dlk_services \
|
|
-m 'services' \
|
|
-k '$(UNREALIRCD_SELECTORS)'
|