mirror of
https://github.com/mirror/wget.git
synced 2025-03-20 06:40:14 +08:00
* 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.
105 lines
2.3 KiB
Python
105 lines
2.3 KiB
Python
#!/usr/bin/env python3
|
|
from sys import exit
|
|
from test.http_test import HTTPTest
|
|
from misc.wget_file import WgetFile
|
|
|
|
"""
|
|
This test executed Wget in Spider mode with recursive retrieval.
|
|
"""
|
|
############# File Definitions ###############################################
|
|
mainpage = """
|
|
<html>
|
|
<head>
|
|
<title>Main Page</title>
|
|
</head>
|
|
<body>
|
|
<p>
|
|
Some text and a link to a <a href="http://127.0.0.1:{{port}}/secondpage.html">second page</a>.
|
|
Also, a <a href="http://127.0.0.1:{{port}}/nonexistent">broken link</a>.
|
|
</p>
|
|
</body>
|
|
</html>
|
|
"""
|
|
|
|
|
|
secondpage = """
|
|
<html>
|
|
<head>
|
|
<title>Second Page</title>
|
|
</head>
|
|
<body>
|
|
<p>
|
|
Some text and a link to a <a href="http://127.0.0.1:{{port}}/thirdpage.html">third page</a>.
|
|
Also, a <a href="http://127.0.0.1:{{port}}/nonexistent">broken link</a>.
|
|
</p>
|
|
</body>
|
|
</html>
|
|
"""
|
|
|
|
thirdpage = """
|
|
<html>
|
|
<head>
|
|
<title>Third Page</title>
|
|
</head>
|
|
<body>
|
|
<p>
|
|
Some text and a link to a <a href="http://127.0.0.1:{{port}}/dummy.txt">text file</a>.
|
|
Also, another <a href="http://127.0.0.1:{{port}}/againnonexistent">broken link</a>.
|
|
</p>
|
|
</body>
|
|
</html>
|
|
"""
|
|
|
|
dummyfile = "Don't care."
|
|
|
|
|
|
index_html = WgetFile ("index.html", mainpage)
|
|
secondpage_html = WgetFile ("secondpage.html", secondpage)
|
|
thirdpage_html = WgetFile ("thirdpage.html", thirdpage)
|
|
dummy_txt = WgetFile ("dummy.txt", dummyfile)
|
|
|
|
Request_List = [
|
|
[
|
|
"HEAD /",
|
|
"GET /",
|
|
"GET /robots.txt",
|
|
"HEAD /secondpage.html",
|
|
"GET /secondpage.html",
|
|
"HEAD /nonexistent",
|
|
"HEAD /thirdpage.html",
|
|
"GET /thirdpage.html",
|
|
"HEAD /dummy.txt",
|
|
"HEAD /againnonexistent"
|
|
]
|
|
]
|
|
|
|
WGET_OPTIONS = "--spider -r"
|
|
WGET_URLS = [[""]]
|
|
|
|
Files = [[index_html, secondpage_html, thirdpage_html, dummy_txt]]
|
|
|
|
ExpectedReturnCode = 8
|
|
ExpectedDownloadedFiles = []
|
|
|
|
################ Pre and Post Test Hooks #####################################
|
|
pre_test = {
|
|
"ServerFiles" : Files
|
|
}
|
|
test_options = {
|
|
"WgetCommands" : WGET_OPTIONS,
|
|
"Urls" : WGET_URLS
|
|
}
|
|
post_test = {
|
|
"ExpectedFiles" : ExpectedDownloadedFiles,
|
|
"ExpectedRetcode" : ExpectedReturnCode,
|
|
"FilesCrawled" : Request_List
|
|
}
|
|
|
|
err = HTTPTest (
|
|
pre_hook=pre_test,
|
|
test_params=test_options,
|
|
post_hook=post_test
|
|
).begin ()
|
|
|
|
exit (err)
|