mirror of
https://github.com/mirror/wget.git
synced 2025-01-06 02:10:28 +08:00
926e42d467
* testenv/test/base_test.py (__init__): Use test file name for name, remove 'name' parameter * testenv/test/http_test.py (__init__): Remove 'name' parameter * testenv/*.py: Remove TEST_NAME Using a fixed string (TEST_NAME) to build the working directory for testing caused random failures (or successes) when tests share the same TEST_NAME value. Not easy to find without digging into the python test suite code. We now use the test file name, which is unique within the test environment.
62 lines
2.0 KiB
Python
62 lines
2.0 KiB
Python
from misc.colour_terminal import print_green
|
|
from server.http.http_server import HTTPd, HTTPSd
|
|
from test.base_test import BaseTest, HTTP, HTTPS
|
|
|
|
|
|
class HTTPTest(BaseTest):
|
|
|
|
""" Class for HTTP Tests. """
|
|
|
|
# Temp Notes: It is expected that when pre-hook functions are executed,
|
|
# only an empty test-dir exists. pre-hook functions are executed just prior
|
|
# to the call to Wget is made. post-hook functions will be executed
|
|
# immediately after the call to Wget returns.
|
|
|
|
def __init__(self,
|
|
pre_hook=None,
|
|
test_params=None,
|
|
post_hook=None,
|
|
protocols=(HTTP,),
|
|
req_protocols=None):
|
|
super(HTTPTest, self).__init__(pre_hook,
|
|
test_params,
|
|
post_hook,
|
|
protocols,
|
|
req_protocols)
|
|
|
|
def setup(self):
|
|
self.server_setup()
|
|
self.ready = True
|
|
|
|
def begin(self):
|
|
if not self.ready:
|
|
# this is to maintain compatibility with scripts that
|
|
# don't call setup()
|
|
self.setup()
|
|
with self:
|
|
# If any exception occurs, self.__exit__ will be immediately called.
|
|
# We must call the parent method in the end in order to verify
|
|
# whether the tests succeeded or not.
|
|
if self.ready:
|
|
self.do_test()
|
|
print_green("Test Passed.")
|
|
else:
|
|
self.tests_passed = False
|
|
super(HTTPTest, self).begin()
|
|
|
|
def instantiate_server_by(self, protocol):
|
|
server = {HTTP: HTTPd,
|
|
HTTPS: HTTPSd}[protocol]()
|
|
server.start()
|
|
|
|
return server
|
|
|
|
def request_remaining(self):
|
|
return [s.server_inst.get_req_headers()
|
|
for s in self.servers]
|
|
|
|
def stop_server(self):
|
|
for server in self.servers:
|
|
server.server_inst.shutdown()
|
|
# vim: set ts=4 sts=4 sw=4 tw=80 et :
|