mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
f8e9a64ec7
Add (lots) of documentation for various parts of the test suite in the form of Python docstrings. Also, clean up some of the redundant code and fix indentation issues.
28 lines
1.0 KiB
Python
28 lines
1.0 KiB
Python
from misc.colour_terminal import print_red
|
|
from conf import hook
|
|
from exc.test_failed import TestFailed
|
|
|
|
""" Post-Test Hook: FilesCrawled
|
|
This is a post test hook that is invoked in tests that check wget's behaviour
|
|
in recursive mode. It expects an ordered list of the request lines that Wget
|
|
must send to the server. If the requests received by the server do not match
|
|
the provided list, IN THE GIVEN ORDER, then it raises a TestFailed exception.
|
|
Such a test can be used to check the implementation of the recursion algorithm
|
|
in Wget too.
|
|
"""
|
|
|
|
|
|
@hook()
|
|
class FilesCrawled:
|
|
def __init__(self, request_headers):
|
|
self.request_headers = request_headers
|
|
|
|
def __call__(self, test_obj):
|
|
for headers, remaining in zip(map(set, self.request_headers),
|
|
test_obj.request_remaining()):
|
|
diff = headers.symmetric_difference(remaining)
|
|
|
|
if diff:
|
|
print_red (str(diff))
|
|
raise TestFailed('Not all files were crawled correctly.')
|