Prefix private subroutines with "_" so that public test subroutines are more visible; remove unused subroutine update_download_texts(); cleanup code by removing some commented out code
Rename "gv_home.html" to "home.html" so that the filename is not tied to Global Voices specifically
Print HTTP server's debugging messages to STDERR so that they're visible while running unit tests
When getting a path from HTTP::Request's URI, use "as_string" because URL paths with two slashes (e.g. "//gv/test.rss") could be interpreted as "http://gv/test.rss" by the URI module
In the crawler unit test, make the helper subroutines "Global Voices"-independent so that sources other than Global Voices could be added
Remove "test2.rss" and "test3.rss" from the Global Voices crawler test because they're not being used anywhere
Don't unlink old data files if there aren't any present (e.g. when a new test is being added)
In the crawler test, test whether very short downloads (stored directly in downloads.path as "content:...") are being stored / extracted / retrieved correctly
In Crawler.pm, make "last_stale_feed_check", "last_stale_download_check", "last_timed_out_spidered_download_check", "last_pending_check", and "setup" (renamed to "setup_was_run") per-instance variables (instead of per-package) so that two MediaWords::Crawler::Provider instances would be independent from each other