Commit graph

163 commits

Author SHA1 Message Date
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
Bastian Kleineidam
3f0816efe2 Updated copyright 2013-02-10 18:25:21 +01:00
Bastian Kleineidam
f96e6d2b3e Run tests in parallel. 2013-02-10 18:24:05 +01:00
Bastian Kleineidam
e5a04931d3 Various fixes and additions. 2012-12-12 17:41:29 +01:00
Bastian Kleineidam
faba7b0bca Fix more comics. 2012-12-08 00:45:18 +01:00
Bastian Kleineidam
e5d9002f09 Fix more comics. 2012-12-05 21:52:52 +01:00
Bastian Kleineidam
387dff79a9 Fix comics. 2012-12-04 07:02:40 +01:00
Bastian Kleineidam
0556ffd30a Fix comics, improve tests, use python-requests. 2012-11-26 18:44:31 +01:00
Bastian Kleineidam
7e91c83753 Improved comic test. 2012-11-25 07:56:46 +01:00
Bastian Kleineidam
958a788550 Fix some comics. 2012-11-21 21:57:26 +01:00