All Projects → ircdocs → parser-tests

ircdocs / parser-tests

Licence: CC0-1.0 license
Tests for IRC Parsers

Programming Languages

go
31211 projects - #10 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to parser-tests

ircv3.github.io
IRCv3 website
Stars: ✭ 85 (+142.86%)
Mutual labels:  irc, irc-protocol
fast irc.cr
A fast IRC parsing library for crystal.
Stars: ✭ 18 (-48.57%)
Mutual labels:  irc, irc-protocol
Irssi
The client of the future
Stars: ✭ 2,431 (+6845.71%)
Mutual labels:  irc, irc-protocol
Irccloud Desktop
IRCCloud Desktop App
Stars: ✭ 215 (+514.29%)
Mutual labels:  irc
Archivebot
ArchiveBot, an IRC bot for archiving websites
Stars: ✭ 218 (+522.86%)
Mutual labels:  irc
ergo
A modern IRC server (daemon/ircd) written in Go.
Stars: ✭ 1,916 (+5374.29%)
Mutual labels:  irc
solanum
An IRCd for unified networks
Stars: ✭ 179 (+411.43%)
Mutual labels:  irc
Whapp Irc
whatsapp web <-> irc gateway
Stars: ✭ 208 (+494.29%)
Mutual labels:  irc
freenode-exodus
Projects and channels that have decided to leave Freenode. (Final leave count: 1056)
Stars: ✭ 130 (+271.43%)
Mutual labels:  irc
Android
IRCCloud Android App
Stars: ✭ 244 (+597.14%)
Mutual labels:  irc
Ios
IRCCloud iOS App
Stars: ✭ 243 (+594.29%)
Mutual labels:  irc
Phabulous
A Phabricator bot for Slack
Stars: ✭ 222 (+534.29%)
Mutual labels:  irc
Snooful
The most complete bot for moderation, utility, and fun in Reddit Chat.
Stars: ✭ 13 (-62.86%)
Mutual labels:  irc
Hexchat
GTK+ IRC client
Stars: ✭ 2,608 (+7351.43%)
Mutual labels:  irc
critter
Chat bot relaying messages between IRC and Gitter
Stars: ✭ 16 (-54.29%)
Mutual labels:  irc
Twitch4j
Modular Async/Sync/Reactive Twitch API Client / IRC Client
Stars: ✭ 209 (+497.14%)
Mutual labels:  irc
CloudBot
CloudBot - The simple, fast, expandable, open-source Python IRC Bot!
Stars: ✭ 69 (+97.14%)
Mutual labels:  irc
Anope
Anope IRC Services
Stars: ✭ 241 (+588.57%)
Mutual labels:  irc
Matterircd
Connect to your mattermost or slack using your IRC-client of choice.
Stars: ✭ 241 (+588.57%)
Mutual labels:  irc
rubircd
💬 An IRC server written in Ruby
Stars: ✭ 23 (-34.29%)
Mutual labels:  irc

IRC Parser Tests

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!

Testing

There are two included tests used to test these vectors, the Python and Golang programs.

Using the python library

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.

Releasing a new python version

  1. Bump the version identifier in parser_tests/__init__.py
  2. Commit the version bump and tag it git tag v<version>
  3. Push to master
  4. Github actions will deploy to PyPi

Python

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.

Go

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.

Sources

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].