Various tests for IRC parsers so people can check to ensure they're consistent. These tests are based on existing test suites and widespread client behaviour.
Note: This is still being written. Feel free to suggest or contribute tests - PRs are welcomed!
There are two included tests used to test these vectors, the Python and Golang programs.
Either pip install irc_parser_tests
or add irc_parser_tests
to your requirements.txt
. The test data is available in the module parser_tests
.
- Bump the version identifier in
parser_tests/__init__.py
- Commit the version bump and tag it
git tag v<version>
- Push to master
- Github actions will deploy to PyPi
The test.py
script uses the girc and ircmatch libraries as reference implementations, as well as pyyaml to parse the test files.
To install these libraries, run:
pip3 install --upgrade girc ircmatch pyyaml
After that, simply run the script with python3 test.py
in the root dir. This will test everything we can test, and show the output.
The test.go
script uses the girc-go packages as reference implementations.
To install these packages, run:
go get -u ./...
After that, simply run the script with go run test.go run
in the root dir. This will test everything we can test, and show the output.
Thanks to these sources for having open tests and/or agreeing to let me include your tests here!
Some tests originate from Mozilla's test vectors, which are public domain.
Some tests originate from grawity's test vectors which were WTFPL v2 licensed when they were retrieved.
Some tests originate from Sadie's test vectors which she's indicated I'm free to include here.