mirror of
https://github.com/mirror/wget.git
synced 2025-01-10 12:20:47 +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.
58 lines
1.3 KiB
Python
58 lines
1.3 KiB
Python
#!/usr/bin/env python3
|
|
from sys import exit
|
|
from os import environ # to set LC_ALL
|
|
from test.http_test import HTTPTest
|
|
from misc.wget_file import WgetFile
|
|
|
|
"""
|
|
This test ensures that Wget keeps reserved characters in URLs in non-UTF-8 charsets.
|
|
"""
|
|
# This bug only happened with ASCII charset,
|
|
# so we need to set LC_ALL="C" in order to reproduce it.
|
|
environ["LC_ALL"] = "C"
|
|
|
|
######### File Definitions #########
|
|
RequestList = [
|
|
[
|
|
"HEAD /base.html",
|
|
"GET /base.html",
|
|
"GET /robots.txt",
|
|
"HEAD /a%2Bb.html",
|
|
"GET /a%2Bb.html"
|
|
]
|
|
]
|
|
A_File_Name = "base.html"
|
|
B_File_Name = "a%2Bb.html"
|
|
A_File = WgetFile (A_File_Name, "<a href=\"a%2Bb.html\">")
|
|
B_File = WgetFile (B_File_Name, "this is file B")
|
|
|
|
WGET_OPTIONS = " --spider -r"
|
|
WGET_URLS = [[A_File_Name]]
|
|
|
|
Files = [[A_File, B_File]]
|
|
|
|
ExpectedReturnCode = 0
|
|
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" : RequestList
|
|
}
|
|
|
|
err = HTTPTest (
|
|
pre_hook=pre_test,
|
|
test_params=test_options,
|
|
post_hook=post_test
|
|
).begin ()
|
|
|
|
exit (err)
|