This is the OLD automated test system for UnrealIRCd 4 (ruby-based). The new test framework can be found at https://github.com/unrealircd/unrealircd-tests
This will test a subset of features. The ultimate goal is to have a test for each and every feature. Right now we have tests for (almost) all channel modes and user modes but almost none for commands.
apt-get install pythonoryum install pythonsudo gem install bundler
git co https://github.com/unrealircd/ircfly.git
cd ircfly
bundle install
rake build
sudo rake install
cd ..
git co https://github.com/unrealircd/unrealircd-tests.git
cd unrealircd-tests
bundle install
cp config.yaml.example config.yaml- Now edit config.yaml to point it to your test IRC server. By default it assumes an ircd on port 5667.
- In the ircdconfig/ directory are files that you should include in your UnrealIRCd. They contain things like oper blocks and vhost blocks that will be used by tests.
- Try running an indiviaul test like:
rspec spec/chanmodes/noctcp_spec.rb - To run all tests you simply run
rake. This takes several minutes to complete.
You will see the raw IRC traffic (in and out). At the end it will say something like:
Finished in 4.08 seconds (files took 0.24379 seconds to load)
1 example, 0 failures
Obviously, the most important is the '0 failures' part.
We could really use a lot more tests, so if you want to help out, please do.
Check out a few tests in the spec/ directory. Feel free to copy one and then create a new test based on it.
Tests:
spec/chanmodes/- Channel modesspec/usermodes/- User modesspec/extbans/- Extended bansspec/cap- CAP (client protocol negotiation)spec/usercommands/- User commands, such as JOIN PART TOPIC etc.spec/opercommands/- IRCOp-only commands, such as SAJOIN SAPART KILL etc.spec/other/- Other tests that do not fit in the above categories.