Commit graph

172 commits

Author SHA1 Message Date
Tobias Gruetzmacher 44791439a5 Drop Python 2 support: Obsolete future statements 2020-02-04 01:06:19 +01:00
Tobias Gruetzmacher 9c65c3e05f Drop Python 2 support: six & other imports 2020-02-03 01:03:31 +01:00
Tobias Gruetzmacher 66b89f4fed Fix update check
It should return assets for all platforms, since the repo tarball is
unsuitable for setuptools_scm. Preferred asset is the universal wheel.
2020-01-26 17:42:35 +01:00
Tobias Gruetzmacher 5317cbd3ec Tests: Avoid error when nothing to test 2020-01-10 14:55:34 +01:00
Tobias Gruetzmacher 2653c58a8f Tests: Ignore difference in archive.org snapshots 2020-01-10 14:53:01 +01:00
Tobias Gruetzmacher 73e8f6c330 Move jenkins all-comics test pipeline to git 2020-01-10 13:02:45 +01:00
Tobias Gruetzmacher db2ff4c3c1 Test image "resizing" 2020-01-04 15:59:49 +01:00
Tobias Gruetzmacher 5a92505606 Fix & test query string parsing 2019-12-31 00:43:46 +01:00
Tobias Gruetzmacher d0bc0572c2 Add a test to ckeck that renamed comics point to existing comics 2019-12-29 20:50:56 +01:00
Tobias Gruetzmacher 74bb9e76b6 Python 2 fix - yes, really 2019-12-27 18:38:09 +01:00
Tobias Gruetzmacher adb3db3d22 Add some tests for the update check 2019-12-05 22:23:48 +01:00
Tobias Gruetzmacher ad8a46f67a Fix urlmatch test 2019-12-05 00:58:31 +01:00
Tobias Gruetzmacher 18f8e093a7 Tests: Keep comics of the same module in the same process
This allows our host-based throttling to be effective and keeps
cross-process locks to a minimum.
2019-12-04 00:28:27 +01:00
Tobias Gruetzmacher fcebd63e66 Speed up tests by mocking time.sleep() 2019-12-03 23:52:14 +01:00
Tobias Gruetzmacher 4d2fac1a9c Make it easier to write tests for comic modules
This also adds a simple test for the "turnoff" module to demonstrate
these features.
2019-12-01 22:36:49 +01:00
Tobias Gruetzmacher 00d0201c5f Fix a bunch of flake8 issues 2019-11-04 00:16:25 +01:00
Tobias Gruetzmacher e24c0ae557 Simplify voting code
Not sure if I keep this feature, but at least I can now see if anybody
is still using it...
2019-11-03 21:04:34 +01:00
Tobias Gruetzmacher d243017aff Add test for recently added helper 2019-10-28 19:17:57 +01:00
Mikkel Høgh 0dea216851 Fix missing returns in RSS parsing (#137)
Also added a very basic test for feed parsing.
2019-10-28 16:48:21 +01:00
Gervásio Júnior 6c8814fe40 Fix multiple imgs for json flag & ZenPencils bouncer (#133)
When using the JSON output flag, if the page has more than one image,
dictionary indexing cannot be used as list.

For the ZenPencils comic, the bouncer is missing, saving the page url
as the root url.
2019-06-19 07:09:33 +02:00
Tobias Gruetzmacher 6ba1e49bfd Kenneth Reitz’s Code Style™
See http://docs.python-requests.org/en/master/dev/contributing/#kenneth-reitz-s-code-style

Effectively, this removes "visual" indents.
2018-06-29 19:26:17 +02:00
Tobias Gruetzmacher d88f6aeee3 Replace online tests with mocks.
We want to test our code, not the comic modules.
2017-10-15 14:54:44 +02:00
Tobias Gruetzmacher f1b83748ed When testing the command line, call main method.
Previously, we were spawning the main binary in a subprocess, which is
fragile and interacts poorly with some testing frameworks...
2017-10-15 14:54:44 +02:00
Tobias Gruetzmacher 11ee049b4d Move checking of modules into its own directory. 2017-10-13 00:00:37 +02:00
Tobias Gruetzmacher 6de5b79fb8 Switch test to a comic without robots.txt block. 2017-08-11 00:12:07 +02:00
Tobias Gruetzmacher 8b90aa5cfb Some minor style fixes. 2017-05-15 00:54:02 +02:00
Tobias Gruetzmacher 9a6a310b76 Fixup copyright years. 2016-10-29 00:21:41 +02:00
Tobias Gruetzmacher fb37f946e0 Speed up comic module tests.
This fakes an If-Modified-Since header, so most web servers don't need
to send comic images at all. This should also reduce the amount of data
that needs to be fetched for comic module tests.
2016-08-01 00:44:34 +02:00
Tobias Gruetzmacher ca1c32cf09 Use a more reliable comic for tests. 2016-05-21 16:16:02 +02:00
Tobias Gruetzmacher 51008a975b Refactor: Introduce generator methods for scrapers
This allows one comic module class to generate multiple scrapers. This
change is to support a more dynamic module system as described in #42.
2016-05-21 01:29:36 +02:00
Tobias Gruetzmacher efe1308db2 Replace home-grown Python2/3 compat. with six. 2016-05-05 23:33:48 +02:00
Tobias Gruetzmacher 00fb51341a "Better" selection of default test comics. 2016-04-26 08:03:34 +02:00
Tobias Gruetzmacher 4204f5f1e4 Send "If-Modified-Since" header for images. 2016-04-19 00:36:50 +02:00
Tobias Gruetzmacher 7708c678a6 Move test parametrization into its own file. 2016-04-16 12:01:43 +02:00
Tobias Gruetzmacher 7c3a87970b Fix test naming. 2016-04-16 11:54:29 +02:00
Tobias Gruetzmacher ee99c087d7 Remove prevUrlMatchesStripUrl.
It was only used for one test.
2016-04-16 01:14:26 +02:00
Tobias Gruetzmacher 060281e5ff Use concrete scraper objects everywhere.
This is a first step for #42. Since most access to the scraper classes
is through instances, modules can now dynamically override url and name
(name is now a property).
2016-04-13 22:17:30 +02:00
Tobias Gruetzmacher 1aebdce5d2 Fix test :) 2016-04-13 01:32:15 +02:00
Tobias Gruetzmacher dda920f353 Use py.test's tmpdir fixture. 2016-03-28 16:29:57 +02:00
Tobias Gruetzmacher 36cc4e32f4 Allow selection of comics to test via environment.
If you need to run test cases for your new comic module, you can call
py.test like this:

    TESTCOMICS="ComicFury/" py.test -v tests/test_comics.py
2016-03-13 13:03:41 +01:00
Tobias Gruetzmacher 2ca74d6e6b Convert all tests to py.test & cleanups. 2016-03-07 01:08:57 +01:00
Tobias Gruetzmacher 41c03af3d9 Don't use SexyLosers for tests.
It's currently broken.
2016-03-04 00:28:05 +01:00
Tobias Gruetzmacher f0e61a614f Refactor comic module test.
All those create-classes-on-the-fly games make my head hurt ;)
2015-07-17 23:33:25 +02:00
Tobias Gruetzmacher d88b97573d Stable test order. 2015-07-16 01:32:24 +02:00
Tobias Gruetzmacher ea4472cd7c Test with comic that is still fetchable... 2015-07-16 00:53:10 +02:00
Tobias Gruetzmacher ff21df596b Remove descriptions and genres (closes #9).
Maintaining the descriptions creates quite a bit of overhead (finding
them, copying them, checking if they are still correct) for a minimal
user benefit.

PS: Viewing this diff should be easier in a difftool that shows changes
in a line, for example kdiff3.
2015-04-20 20:29:09 +02:00
Tobias Gruetzmacher 89ada9de7e Switch tests to a unique comic name. 2015-04-18 12:34:33 +02:00
Bastian Kleineidam 4d63920434 Updated copyright. 2014-01-05 16:50:57 +01:00
Bastian Kleineidam 365fd17802 Fix dosage tests 2014-01-05 14:26:46 +01:00
Bastian Kleineidam 1f38895681 Ensure only on instance of dosage is running to prevent accedental DoS on sites with multiple comics. 2014-01-05 10:36:22 +01:00
Bastian Kleineidam ca23f7a4d7 Consider text files in result checks. 2013-12-05 18:29:15 +01:00
Bastian Kleineidam 0e780e9741 Fix random test case. 2013-11-08 18:40:55 +01:00
Bastian Kleineidam e7436d7d79 Fix for python 3.3 2013-11-07 21:22:38 +01:00
Bastian Kleineidam 75bbf10d78 Initialize tmpdir. 2013-06-28 21:34:01 +02:00
Bastian Kleineidam 27c90f07a5 Fix tests with newer pytest versions. 2013-06-28 21:25:55 +02:00
Bastian Kleineidam 13963d8bfe Improve comicname error message. 2013-05-22 22:29:29 +02:00
Bastian Kleineidam 80d7defcd2 Unicode descriptions. 2013-04-29 07:35:56 +02:00
Bastian Kleineidam 1d2dcd5a77 Test for URL in every scraper. 2013-04-26 06:53:14 +02:00
Bastian Kleineidam 4850626fc2 Remove unused file. 2013-04-14 09:01:50 +02:00
Bastian Kleineidam 975c7d825b Add documentation. 2013-04-12 21:22:58 +02:00
Bastian Kleineidam b9dc385ff2 Implemented voting 2013-04-09 19:33:50 +02:00
Bastian Kleineidam 4528281ddd Voting part 2 2013-04-08 21:20:01 +02:00
Bastian Kleineidam cdbeb65ede Run tests more verbose. 2013-04-05 19:27:36 +02:00
Bastian Kleineidam adb31d84af Use HTMLParser.unescape instead of rolling our own function. 2013-04-05 18:53:19 +02:00
Bastian Kleineidam 4fddb39121 Improve comic strip and image checks. 2013-04-04 18:30:03 +02:00
Bastian Kleineidam 181a643f43 Remove deprecated mainline script. 2013-04-02 23:01:07 +02:00
Bastian Kleineidam e09f1953eb Run mainline tests on windows. 2013-03-29 10:37:09 +01:00
Bastian Kleineidam be5da7c04b Run mainline tests only on posix systems where symlinks work. 2013-03-26 21:12:02 +01:00
Bastian Kleineidam 849699b402 Add new TESTALL flag for long tests. 2013-03-26 17:27:34 +01:00
Bastian Kleineidam bc6da81976 Only 1 test for travis. 2013-03-25 19:49:29 +01:00
Bastian Kleineidam ea4a59318f Fix comic test with zero strip images. 2013-03-19 20:45:45 +01:00
Bastian Kleineidam 421b036b4b Limit travis tests some more. 2013-03-13 20:08:22 +01:00
Bastian Kleineidam 69ef34c4e2 Add tests for the old mainline script. 2013-03-12 21:07:32 +01:00
Bastian Kleineidam dc2e3c807f Fix exit code on errors. 2013-03-11 20:05:06 +01:00
Bastian Kleineidam 7ee73caf3c Allow multiple event output and improve HTML output. 2013-03-11 17:33:59 +01:00
Bastian Kleineidam 1d7410c038 Added Zwarwald and AhoiPolloi 2013-03-07 23:51:55 +01:00
Bastian Kleineidam 7442bd6e77 Reduce travis tests some more. 2013-03-06 20:24:24 +01:00
Bastian Kleineidam bae2a96d8b Added some comic strips and cleanup the scraper code. 2013-03-06 20:00:30 +01:00
Bastian Kleineidam c13aa323d8 Code cleanup [ci skip] 2013-03-04 21:44:26 +01:00
Bastian Kleineidam 95294d6979 Fix argument parsing of -l, --singlelist and --version. 2013-03-04 19:10:27 +01:00
Bastian Kleineidam 6081021a24 Fall back to non-locked tests on systems without interprocess locking permission (eg. Travis). 2013-03-01 07:27:41 +01:00
Bastian Kleineidam ca65deb369 Limit connections to hosts for tests. 2013-02-28 21:08:43 +01:00
Bastian Kleineidam c2a83fdec9 Reduce Travis test runs. 2013-02-27 21:21:12 +01:00
Bastian Kleineidam c15740bf0c Go, Travis, Go 2013-02-27 20:17:29 +01:00
Bastian Kleineidam 09df20cd1f Fix some comics and increase travis test number. 2013-02-26 06:12:46 +01:00
Bastian Kleineidam 23b4fd6aa5 More travis tests. 2013-02-23 09:07:54 +01:00
Bastian Kleineidam f36ed46d6a Fix tests which hit the first URL. 2013-02-21 19:48:21 +01:00
Bastian Kleineidam ae0e9feea1 Remember skipped URLs. 2013-02-20 20:51:39 +01:00
Bastian Kleineidam 6d04ef7abd Improve error message. 2013-02-20 20:51:15 +01:00
Bastian Kleineidam 75b1d6c08d Fix typo. 2013-02-18 20:55:48 +01:00
Bastian Kleineidam 6155b022a6 Allow selected strips without images. 2013-02-18 20:03:27 +01:00
Bastian Kleineidam dc9334cca9 Fix scraperclass function. Closes issue #7. 2013-02-18 19:59:16 +01:00
Bastian Kleineidam ee8a0d66ee Increase Travis CI tests. 2013-02-18 07:04:30 +01:00
Bastian Kleineidam 1c270a251c Increase Travis tests. 2013-02-17 08:26:44 +01:00
Bastian Kleineidam 727af5ecab Limit number of tests for Travis CI. 2013-02-15 20:39:20 +01:00
Bastian Kleineidam da9eee3bc0 Updated copyright. 2013-02-15 18:32:36 +01:00
Bastian Kleineidam 01942bd164 Fix util tests. 2013-02-13 20:02:57 +01:00
Bastian Kleineidam d3727a3d4e Rename get_scrapers to get_scraperclasses 2013-02-13 20:01:43 +01:00
Bastian Kleineidam 312d117ff3 Rename get_scrapers to get_scraperclasses 2013-02-13 19:59:13 +01:00
Bastian Kleineidam adbff1bca1 Reenable DrunkDuck tests. 2013-02-12 17:55:13 +01:00