Helper repo to work on perl6 modules during bitrot squashathons. The main intention of this squashathon is to work on ecosystem modules which, for some reason, are failing; our objective is to find whatever errors cause the tests to fail with current Perl 6 implementations, and do a pull-request to the original site that will help the author publish a new, working, version.
Here are a few instructions that will help you through the hackathon.
-
Get into the #perl6 IRC channel to discuss with other people participating in the hackathon, and get updates of what's being done. Every time something is done in the squashathon, a friendly bot will send a message to that channel. You can use it also to coordinate with the rest of the participants, get help and, of course, give help.
-
Check out the issues. These issues are populated before the squashathon with the modules that are currently failing. Choose one to work on, and follow the instructions presented in that issue. The list includes false positives, so it is OK to use
works for me
label often. -
When you're done, go to another issue! Note that issues are closed automatically, do not close issues yourself (just adding a label is enough).
Before assuming the module works fine for you:
Some modules have optional tests that only run when some env var is set (e.g. NETWORK_TESTING
or ONLINE_TESTING
). The test suite's messages will usually tell you about this, but you need to run it in verbose mode:
$ prove -e "perl6 -Ilib" -vr t/
[...]
ok 4 - # SKIP NETWORK_TESTING was not set
[...]
Set the env var and re-try the test:
$ NETWORK_TESTING=1 prove -e "perl6 -Ilib" -vr t/
Same as above, except a module may be looking for optional modules:
$ prove -e "perl6 -Ilib" -vr t/
[...]
ok 1 - # SKIP 'Compress::Zlib' not installed won't test
[...]
Install the optional module and re-try the test:
$ zef install Compress::Zlib
[...]
$ prove -e "perl6 -Ilib" -vr t/
Check you didn't have some of the prerequisites installed
A module missing from requires
will cause an install failure, but it won't be noticable for you if you already have that missing module installed. You can uninstall modules with zef uninstall Foo