ergo/DEVELOPING.md

1.3 KiB
Raw Blame History

Developing Oragono

Most development happens on the develop branch, which is occasionally rebased + merged into master when its not incredibly broken. When this happens, the develop branch is usually pruned until I feel like making unsafe changes again.

I may also name the branch develop+feature if Im developing multiple, or particularly unstable, features.

The intent is to keep master relatively stable.

Updating vendor/

The vendor/ directory holds our dependencies. When we import new pages, we need to update this folder to contain these new deps.

To update this folder:

  1. Install https://github.com/dpw/vendetta
  2. cd to Oragono folder
  3. vendetta -u -p
  4. Commit the result with the message "vendor: Updated submodules"

This will make sure things stay nice and up-to-date for users.

Fuzzing and Testing

Fuzzing can be useful. We dont have testing done inside the IRCd itself, but this fuzzer Ive written works alright and has helped shake out various bugs: irc_fuzz.py.

In addition, Ive got the beginnings of a stress-tester here which is useful: https://github.com/DanielOaks/irc-stress-test

As well, theres a decent set of tests here, which I like to run Oragono through now and then: https://github.com/DanielOaks/irctest