Commit graph

503 commits

Author SHA1 Message Date
anarcat
095c6c57d4
Merge pull request #252 from cjmayo/init
Make test_all_parts TestLogger import Python 3 compatible
2019-04-25 15:54:26 -04:00
Chris Mayo
5caa683123 Make test_all_parts TestLogger import Python 3 compatible
tests/checker/test_all_parts.py:21: in <module>
    import __init__ as init
E   ModuleNotFoundError: No module named '__init__'

testWarning: cannot collect test class 'TestLogger' because it has a
__init__ constructor
2019-04-25 20:28:21 +01:00
anarcat
243dedf3bc
Merge pull request #247 from cjmayo/robots37
Make TestRobotsTxt Python 3.7 compatible
2019-04-25 15:21:35 -04:00
anarcat
7767bc52fa
Merge pull request #216 from cjmayo/python3_06
{python3_06} Python3: fix tests init - exceptions and string
2019-04-25 15:20:55 -04:00
Petr Dlouhý
b3881ce3b5 Python3: fix urlbase, strformat and others 2019-04-25 19:57:45 +01:00
Petr Dlouhý
5e918cef53 Python3: fix tests init - exceptions and string 2019-04-25 19:35:09 +01:00
anarcat
4b3d91ffea
Merge pull request #245 from cjmayo/future_str
Import str as str_text from builtins when supporting transition
2019-04-24 10:59:04 -04:00
anarcat
bb0a1e1992
Merge pull request #242 from cjmayo/wummel
Update references to GitHub project from wummel to linkchecker
2019-04-24 10:58:15 -04:00
anarcat
8219b976ac
Merge pull request #223 from cjmayo/python3_13
{python3_13} Python3: fix imports in test_noproxy
2019-04-24 10:56:50 -04:00
anarcat
5916206f5f
Merge pull request #220 from cjmayo/python3_10
{python3_10} Python3: fix httpserver tests
2019-04-24 10:56:17 -04:00
Chris Mayo
8678feaa59 Make TestRobotsTxt Python 3.7 compatible
urllib.parse.quote() moved from RFC 2396 to RFC 3986 for quoting URL
strings. "~" is now included in the set of reserved characters.

https://docs.python.org/3/library/urllib.parse.html#urllib.parse.quote
2019-04-22 19:50:32 +01:00
Chris Mayo
64e9392fb9 Get FtpServerTest working by updating to current pyftpdlib API 2019-04-22 19:34:46 +01:00
Chris Mayo
d8a52381f2 Import str as str_text from builtins when supporting transition
Expected to be removed when the project moves to Python 3 only.
2019-04-19 19:25:50 +01:00
Chris Mayo
0031bbdccc Fix mistakes in changes to test_dummy.py and test_updater.py in 8f4acc31 2019-04-19 19:22:38 +01:00
EsuS
004632a99b Update references to GitHub project from wummel to linkchecker
Remove all mention of donations.
2019-04-18 19:59:52 +01:00
anarcat
9d57bee16f
Merge pull request #218 from cjmayo/python3_08
{python3_08} Python3: use str and basestring from builtins
2019-04-17 09:04:35 -04:00
Marius Gedminas
85cee2138d Fix TestFile results not always ordered as expected values
self = <tests.checker.test_file.TestFile testMethod=test_good_dir_space>

    def test_good_dir_space (self):
...
>       self.direct(url, resultlines, recursionlevel=2)

tests/checker/test_file.py:173:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/checker/__init__.py:260: in direct
    self.fail_unicode(text(os.linesep).join(l))
tests/checker/__init__.py:237: in fail_unicode
    self.fail(msg)
E   AssertionError: Differences found testing
2019-04-16 20:25:16 +01:00
Petr Dlouhý
8f4acc3168 Python3: use str and basestring from builtins 2019-04-16 20:08:29 +01:00
anarcat
1c82686e7a
Merge pull request #234 from cjmayo/python3_05b
{python3_05b} Python3: replace xrange
2019-04-15 10:29:59 -04:00
Petr Dlouhý
45d95289ab Python3: fix logging 2019-04-14 18:59:50 +01:00
Petr Dlouhý
f30d0b5888 Python3: replace xrange 2019-04-13 20:38:58 +01:00
Petr Dlouhý
295555ac38 Python3: fix imports in test_noproxy 2019-04-12 20:27:09 +01:00
Petr Dlouhý
af08b4905b Python3: fix httpserver tests 2019-04-11 20:37:49 +01:00
anarcat
75626d456a
Merge pull request #217 from cjmayo/python3_07
{python3_07} Python3: use BytesIO instead of StringIO
2019-04-11 11:48:45 -04:00
anarcat
4b90f7b4e5
Merge pull request #225 from cjmayo/python3_15
{python3_15} fixes for Python 3: fix test_internpat and test_news
2019-04-11 11:47:21 -04:00
anarcat
6b73320cdf
Merge pull request #224 from cjmayo/python3_14
{python3_14} fixes for Python 3: fix httpserver
2019-04-11 11:46:56 -04:00
anarcat
0d35cf959d
Merge pull request #221 from cjmayo/python3_11
{python3_11} Python3: fix permission mask in test_file
2019-04-11 11:46:28 -04:00
Petr Dlouhý
106d58c2da Python3: use BytesIO instead of StringIO 2019-04-09 20:09:35 +01:00
Petr Dlouhý
4211e8aecd fixes for Python 3: fix test_internpat and test_news 2019-04-09 20:09:35 +01:00
Petr Dlouhý
e8f6bc62c8 fixes for Python 3: fix httpserver 2019-04-09 20:09:35 +01:00
Petr Dlouhý
1e9fd51dfa Python3: fix permission mask in test_file 2019-04-09 20:09:35 +01:00
Petr Dlouhý
033f9fbdb3 Python3: mark bytes explicitly 2019-04-09 20:09:35 +01:00
Christopher Baines
f24c88a073
Mark more tests that require the network
I believe all these tests require the network, at least they seem to
fail if it's I run them without connecting my computer to the web.

I'm looking at this as part of packaging linkchecker for GNU Guix,
where the package is build and the tests are run in a isolated
environment, intentionally without network access, to avoid issues
with non-reproducible package builds.
2019-01-01 22:37:21 +00:00
Antoine Beaupré
ab7502b6ff
make tests pass on IPv6 hosts
Without this patch, tests would fail on IPv6 hosts with this
mysterious error:

```
_______________________________________________________________________ TestHttpMisc.test_html ________________________________________________________________________
tests/checker/test_http_misc.py:30: in test_html
    self.obfuscate_test()
tests/checker/test_http_misc.py:51: in obfuscate_test
    url = u"http://%s/" % iputil.obfuscate_ip(ip)
linkcheck/network/iputil.py:290: in obfuscate_ip
    raise ValueError('Invalid IP value %r' % ip)
E   ValueError: Invalid IP value '2a02:2e0:3fe:1001:7777:772e:2:85'
```

As it turns out, the test host (`www.heise.de`) does have an IPv6
record and our tests pass on Travis only because they do not have a
working IPv6 stack. I happen to have IPv6 at home and tests are broken
here, so add a quick workaround so tests pass again.

Ideally, we would not have to deal with this hack and would handle
"obfuscation" correctly, but I have yet to figure out what that test
actually does before fixing it properly.
2018-04-11 19:42:30 -04:00
Marius Gedminas
6f55f446ae Load cookies from the --cookiefile correctly
requests.cookies.merge_cookies() requires a dict or a CookieJar as the second argument.
We've been passing lists of Cookie objects instead.

Fixes #62, harder this time.
2018-03-16 13:23:26 +02:00
Marius Gedminas
01b5dd619e Regression test for --cookiefile bug 2018-03-16 10:23:04 +02:00
anarcat
22449abb91
Merge pull request #126 from PetrDlouhy/tests-linenumbers
Test for linenumbers and other parts of url_data
2018-02-12 14:25:53 -05:00
anarcat
e2f3ae78a3
Merge pull request #121 from PetrDlouhy/tests-parser-divided
Execute parser test by parametrized
2018-02-12 14:25:20 -05:00
Petr Dlouhý
d6f39b4e1a Python3: use file descriptors 2018-01-19 09:52:43 +01:00
Petr Dlouhý
1cdc974e6d Python3: fix prints 2018-01-19 09:52:43 +01:00
Petr Dlouhý
c1ab81627e test of correct logging of all parts in url_data 2018-01-14 17:17:07 +01:00
Petr Dlouhý
0a13fae3b4 remove third party packages and use them as dependency 2018-01-09 23:25:27 +01:00
Petr Dlouhý
99b18eee6d execude parser test by parametrized 2018-01-09 23:15:09 +01:00
Philipp Hahn
1368643a50 Fix fragment identifier quoting
According to <https://tools.ietf.org/html/rfc3986>:
 fragment    = *( pchar / "/" / "?" )
 pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"
 unreserved  = ALPHA / DIGIT / "-" / "." / "_" / "~"
 pct-encoded = "%" HEXDIG HEXDIG
 sub-delims  = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="

Fixes #96
2017-11-10 08:03:03 -05:00
Petr Dlouhý
f5100138ff fix tests that fail because of changed linkchecker output 2017-02-14 10:59:38 +01:00
Petr Dlouhý
3b8fe41206 add tests for urlqueue 2017-02-14 10:23:32 +01:00
Graham Seaman
233e7dcf68 Allow wayback-format urls without affecting atom 'feed' urls 2017-02-09 11:43:45 +00:00
Marius Gedminas
743a5f31cb Crawl HTML attributes in deterministic order
Fixes #17.
2017-02-01 19:19:53 +02:00
Marius Gedminas
a825b9d901 Mark the non-deterministic test as xfail 2017-02-01 18:57:40 +02:00
Marius Gedminas
02869ea076 Mark TestFile.test_directory_listing as known to fail
The test unzipps a zip file with a weird-looking non-ASCII filename in it.
I don't think zip files specify the encoding for filenames.  Different
unzip utilities may interpret the filename differently.  Plus, the byte
representation of the unzipped filename may be different depending on
the filesystem charset.

To me it looks as if the filename is garbage encoded as valid UTF-8, and
the test expectation is to get it in latin-1 or something.
2017-02-01 18:45:05 +02:00
Marius Gedminas
cffea5fcbd Mark TestHttps.test_https as known to fail
This test depends on the way http://amazon.com/ works.  I don't think
that's a good idea.
2017-02-01 18:44:21 +02:00
Marius Gedminas
f4ec7531c1 Fix TestHttp.test_html
The HTML tag has two attributes with URLs:

  <applet archive="file.html" src="file.css">

It would appear that the order in which these attributes are crawled
does not match the order in the result file.

Possibly the crawling order is non-deterministic, although I cannot
reproduce that.  If that's the case, the fix would be to sort the
attributes in the crawler before following them, which means we want the
expected results sorted as well (and since 'archive' comes before 'src',
so file.html should come before file.css).
2017-02-01 18:41:47 +02:00
Bastian Kleineidam
0ef00eea56 Move GUI files to separate project 2016-01-23 13:28:15 +01:00
Bastian Kleineidam
e410169fd0 Remove unused test module 2016-01-20 20:18:09 +01:00
Bastian Kleineidam
88c060699d Fix tests 2016-01-19 22:05:15 +01:00
Bastian Kleineidam
914995b5fc Use example.com for tests. 2016-01-19 12:17:08 +01:00
Vadim Khohlov
d4352fc828 Added plugin for parsing and checking links in Markdown files 2014-11-11 15:35:18 +02:00
Bastian Kleineidam
7239cd1b76 Add test for itms-services URL. 2014-09-05 21:37:33 +02:00
Bastian Kleineidam
4e1e756ca4 Updated copyright. 2014-07-16 07:35:32 +02:00
Bastian Kleineidam
e24ba214da Fix config test. 2014-07-15 22:31:19 +02:00
Bastian Kleineidam
032c4091c3 Some easy python3 compatibility changes. 2014-07-15 18:40:47 +02:00
Bastian Kleineidam
176b95a30e Do not strip quotes from resolved URLs. 2014-07-11 00:43:46 +02:00
Bastian Kleineidam
0fa7ed2699 Fix empty URL handling. 2014-07-03 23:34:40 +02:00
Bastian Kleineidam
cde261c009 Parse Refresh: and Content-Location: header values for URLs. 2014-07-01 20:16:43 +02:00
Bastian Kleineidam
d1ef9f7683 Improve output if update test fails. 2014-07-01 20:16:02 +02:00
Bastian Kleineidam
7e19740264 Remove unused variables. 2014-05-10 21:22:29 +02:00
Bastian Kleineidam
4b28e6e860 Move mime stuff into own submodule. 2014-05-10 21:22:10 +02:00
Bastian Kleineidam
b152ce7a6e Add PDF test and fix page number. 2014-04-29 18:53:24 +02:00
Bastian Kleineidam
82dd76b0d7 Add PDF link parsing. 2014-04-28 18:13:45 +02:00
Bastian Kleineidam
981079c041 Support itemtype attribute parsing. 2014-04-23 22:03:20 +02:00
Bastian Kleineidam
7baa2f0b1b Fix http_link check and add a basic auth check. 2014-04-10 18:06:15 +02:00
Bastian Kleineidam
4232b69633 Support <img> srcset attribute parsing. 2014-04-10 17:51:59 +02:00
Bastian Kleineidam
6caf654031 Parse Link: heaaders. 2014-04-10 17:50:55 +02:00
Bastian Kleineidam
b6b5c7a12e Simpler link parsing routine. 2014-03-27 19:49:17 +01:00
Bastian Kleineidam
a8623bc0bc Display SSL info on redirects. 2014-03-26 07:16:03 +01:00
Bastian Kleineidam
9cd67dfcb2 More SSL message work. 2014-03-20 20:24:57 +01:00
Bastian Kleineidam
9a7ad3a84f Print SSL cipher info for https URLs. 2014-03-19 17:02:34 +01:00
Bastian Kleineidam
ce733ae76b Don't check for robots.txt directives in local html files. 2014-03-19 16:33:22 +01:00
Bastian Kleineidam
9be667b52a Do not warn about missing addresses on mailto links that have subjects. 2014-03-18 23:27:59 +01:00
Bastian Kleineidam
fc73c6ca6e Log number of checked unique URLs. 2014-03-14 23:46:17 +01:00
Bastian Kleineidam
34bdf5c75a Updated copyright and docs. 2014-03-14 22:09:05 +01:00
Bastian Kleineidam
c51caf1133 Assertions should be earlier. 2014-03-14 20:26:11 +01:00
Bastian Kleineidam
2d2e010940 Move some scripts into the new script dir. 2014-03-12 19:29:11 +01:00
Bastian Kleineidam
306979abca Add HttpHeaderInfo plugin 2014-03-12 19:28:37 +01:00
Bastian Kleineidam
1733c6a6f2 Fix Travis CI build. 2014-03-11 19:56:36 +01:00
Bastian Kleineidam
bca226c293 Fix assertion checking external links; fix tests 2014-03-10 18:23:44 +01:00
Bastian Kleineidam
6b334dc79b Fix URL result caching. 2014-03-08 19:35:10 +01:00
Bastian Kleineidam
fab2c2da98 Improve content type setting. 2014-03-05 20:12:19 +01:00
Bastian Kleineidam
ef13a3fce1 Implement sitemap and sitemap index parsing. 2014-03-05 19:26:37 +01:00
Bastian Kleineidam
b17211f162 Set for release. 2014-03-04 21:36:24 +01:00
Bastian Kleineidam
978b24f2d7 Merge branch 'caching' 2014-03-04 07:21:42 +01:00
Bastian Kleineidam
f1076c8813 Increase url-too-long warning. 2014-03-03 23:31:04 +01:00
Bastian Kleineidam
82f81241fd Check all links and add better caching. 2014-03-03 23:29:45 +01:00
Bastian Kleineidam
cc21f8f3d2 Add missing import. 2014-03-02 20:01:55 +01:00
Bastian Kleineidam
b8175e2357 Disable news test. 2014-03-02 20:01:36 +01:00
Bastian Kleineidam
924c6285d2 Fix some tests 2014-03-02 07:45:04 +01:00
Bastian Kleineidam
98c8163179 Remove old test 2014-03-01 21:16:38 +01:00
Bastian Kleineidam
6f205a2574 Support checking Sitemap: URLs in robots.txt files. 2014-03-01 20:25:19 +01:00
Bastian Kleineidam
0e4d6f6e1a Parse sitemap urls in robots.txt files. 2014-03-01 19:57:57 +01:00
Bastian Kleineidam
7b34be590b Introduce check plugins, use Python requests for http/s connections, and some code cleanups and improvements. 2014-03-01 00:12:34 +01:00
Bastian Kleineidam
c806be5c15 Updated copyright 2014-01-08 22:33:04 +01:00
Bastian Kleineidam
e0a2558b2b Updated copyright. 2013-12-24 07:13:16 +01:00
Bastian Kleineidam
103e00b4d1 Allow disabling of ssl certificate checks. 2013-12-12 22:17:57 +01:00
Bastian Kleineidam
5736987b60 Refactor output loggers. 2013-12-11 18:41:55 +01:00
Bastian Kleineidam
78ed1e9e52 Do not GET on POST forms. 2013-12-10 23:42:43 +01:00
Bastian Kleineidam
b567f766ba Fix strtime test. 2013-12-06 07:13:44 +01:00
Bastian Kleineidam
b363945052 Adjust example.com/org tests. This seems to change every now and then. 2013-12-04 19:13:18 +01:00
Bastian Kleineidam
023da7c993 Remove the duplicate URL content check. 2013-12-04 19:12:40 +01:00
Bastian Kleineidam
84dac60f57 Fix network test 2013-12-04 19:05:20 +01:00
Bastian Kleineidam
36badddfac Update cookie code from Python module. 2013-12-04 19:05:08 +01:00
Bastian Kleineidam
c966fe6b24 Remove the http-wrong-redirect warning 2013-04-11 18:33:19 +02:00
Bastian Kleineidam
b7c82d1e75 Fix strformat.strsize() test. 2013-02-27 19:36:03 +01:00
Bastian Kleineidam
35bc79dd90 Updated copyright. 2013-01-25 21:14:27 +01:00
Bastian Kleineidam
a86e36e5d3 Fix test cases for example.com redirection. 2013-01-23 19:42:29 +01:00
Bastian Kleineidam
e6ad32c028 Catch UnicodeError for invalid host names. 2013-01-23 19:42:29 +01:00
Bastian Kleineidam
4dad2aa33c Support dns-prefetch URLs. 2013-01-17 20:41:09 +01:00
Bastian Kleineidam
03f2e19cfd Fix html tests. 2013-01-17 20:40:51 +01:00
Bastian Kleineidam
7fe72745ae Updated copyright. 2013-01-09 23:03:12 +01:00
Bastian Kleineidam
aaf35c0f4a Added Word test. 2013-01-09 23:02:47 +01:00
Bastian Kleineidam
e91c2edf7e Test all http response codes. 2012-11-13 18:11:25 +01:00
Bastian Kleineidam
cd4abb1f12 Improve repr() of url data, and remove alexa test script. 2012-11-09 19:09:38 +01:00
Bastian Kleineidam
7bd58af106 Updated copyright. 2012-11-07 18:07:00 +01:00
Bastian Kleineidam
faa052fa99 Fix test case. 2012-11-07 18:07:00 +01:00
Bastian Kleineidam
f9a7f5ef96 Restrict local file checking. 2012-11-07 18:07:00 +01:00
Bastian Kleineidam
eabaa41bd2 Do not check duplicate URLs. 2012-11-06 21:34:22 +01:00
Bastian Kleineidam
bc6cf5de34 Start local telnet server for tests. 2012-10-30 17:44:00 +01:00
Bastian Kleineidam
e594ca3c39 Improved documentation. 2012-10-30 17:44:00 +01:00
Bastian Kleineidam
5f2e6730a9 Allow python interpreter specification for test run. 2012-10-26 18:05:00 +02:00
Bastian Kleineidam
a77a5dddfd Fix sporadic test failures with a dummy directory listing. 2012-10-15 14:36:27 +02:00
Bastian Kleineidam
7929a48d78 Fix url split with invalid port names. 2012-10-13 12:03:09 +02:00
Bastian Kleineidam
57c2fd7b22 Add alexa run debug flag. 2012-10-10 21:05:07 +02:00
Bastian Kleineidam
c4e15c7b88 Improved duplication url check. 2012-10-10 21:04:48 +02:00
Bastian Kleineidam
aa2960e889 Fix content check. 2012-10-10 12:26:33 +02:00
Bastian Kleineidam
973fb6f565 Strip whitespace. 2012-10-10 12:26:19 +02:00
Bastian Kleineidam
e1e80b7dd5 Remove addrinfo cache. 2012-10-10 10:54:58 +02:00
Bastian Kleineidam
20be0f2519 Strip control chars from logger output. 2012-10-10 10:54:30 +02:00
Bastian Kleineidam
871508ef5d Add docs and updated copyright. 2012-10-10 06:53:16 +02:00
Bastian Kleineidam
63cf8adf54 Catch ValueError on invalid cookie expiration dates. 2012-10-10 06:44:38 +02:00
Bastian Kleineidam
a86a7332f3 Add debug output for alexa test run. 2012-10-09 19:47:46 +02:00
Bastian Kleineidam
81ca9a08d4 Fix typos. 2012-10-04 19:49:54 +02:00
Bastian Kleineidam
6f6608525e Split mail tests. 2012-10-01 20:11:59 +02:00
Bastian Kleineidam
6f5e55fd3b Code cleanup. 2012-10-01 10:43:20 +02:00
Bastian Kleineidam
1b3b040be5 Fix check result order. 2012-10-01 10:28:42 +02:00
Bastian Kleineidam
5a12ccf8d0 Fix anchor test result ordering. 2012-09-30 22:02:29 +02:00
Bastian Kleineidam
3c44056fde Code cleanup 2012-09-30 14:01:09 +02:00
Bastian Kleineidam
169bdecb69 Fix clamav test. 2012-09-30 12:00:44 +02:00
Bastian Kleineidam
39204ea0fe Use py.test skip function instead of nose. 2012-09-29 20:28:16 +02:00
Bastian Kleineidam
2479c53e6c Use a free port number in ftp tests for local server. 2012-09-29 19:22:12 +02:00
Bastian Kleineidam
a022c836bc Randomize site test. 2012-09-23 16:19:56 +02:00
Bastian Kleineidam
cff97b9718 Updated copyright. 2012-09-21 21:13:00 +02:00