mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
testenv: add test to stress wget 1.16 crash
This commit is contained in:
parent
e4583ab364
commit
d9ab65abd2
@ -1,3 +1,8 @@
|
||||
2014-11-26 Giuseppe Scrivano <gscrivan@redhat.com>
|
||||
|
||||
* Makefile.am (TESTS): Add Test-redirect-crash.py.
|
||||
* Test-redirect-crash.py: New File.
|
||||
|
||||
2014-11-26 Tim Ruehsen <tim.ruehsen@gmx.de>
|
||||
|
||||
* Makefile.am: Removed Test-auth-both.py from XFAIL_TESTS
|
||||
|
@ -51,7 +51,8 @@ if HAVE_PYTHON3
|
||||
Test-O.py \
|
||||
Test-Post.py \
|
||||
Test-504.py \
|
||||
Test--spider-r.py
|
||||
Test--spider-r.py \
|
||||
Test-redirect-crash.py
|
||||
|
||||
# added test cases expected to fail here and under TESTS
|
||||
XFAIL_TESTS =
|
||||
|
74
testenv/Test-redirect-crash.py
Executable file
74
testenv/Test-redirect-crash.py
Executable file
@ -0,0 +1,74 @@
|
||||
#!/usr/bin/env python3
|
||||
from sys import exit
|
||||
from test.http_test import HTTPTest
|
||||
from misc.wget_file import WgetFile
|
||||
import os
|
||||
|
||||
# This test caused wget up to 1.16 to crash
|
||||
os.environ["LC_ALL"] = "en_US.UTF-8"
|
||||
|
||||
urls = [
|
||||
"File%20formats/Images/SVG,%20Scalable%20Vector%20Graphics/html,%20W3C%20v1.2%20rec%20(tiny)/directory",
|
||||
"File formats/Images/SVG, Scalable Vector Graphics/html, W3C v1.2 rec (tiny)/directory/",
|
||||
"File%20formats/Images/SVG,%20Scalable%20Vector%20Graphics/html,%20W3C%20v1.2%20rec%20(tiny)/directory/somefile.rng",
|
||||
"File%20formats/Images/SVG%2C%20Scalable%20Vector%20Graphics/html%2c%20W3C%20v1.2%20rec%20%28tiny%29/directory/somefile.rng",
|
||||
"File%20formats/Images/SVG%2C%20Scalable%20Vector%20Graphics/html%2c%20W3C%20v1.2%20rec%20%28tiny%29/directory/",
|
||||
"File%20formats/Images/SVG%2C%20Scalable%20Vector%20Graphics/html%2C%20W3C%20v1.2%20rec%20%28tiny%29/directory"]
|
||||
|
||||
|
||||
redirected = [
|
||||
"File%20formats/Images/SVG,%20Scalable%20Vector%20Graphics/html,%20W3C%20v1.2%20rec%20(tiny)/directory/"
|
||||
]
|
||||
|
||||
TEST_NAME = "Redirection crash"
|
||||
############# File Definitions ###############################################
|
||||
Index = ""
|
||||
for i in urls:
|
||||
Index = Index + "<a href='/%s'></a>" % i
|
||||
|
||||
File1 = ""
|
||||
|
||||
def get_redirect(url):
|
||||
data = {
|
||||
"File%20formats/Images/SVG,%20Scalable%20Vector%20Graphics/html,%20W3C%20v1.2%20rec%20(tiny)/directory" :
|
||||
"File%20formats/Images/SVG,%20Scalable%20Vector%20Graphics/html,%20W3C%20v1.2%20rec%20(tiny)/directory/",
|
||||
"File%20formats/Images/SVG%2C%20Scalable%20Vector%20Graphics/html%2C%20W3C%20v1.2%20rec%20%28tiny%29/directory" :
|
||||
"File%20formats/Images/SVG,%20Scalable%20Vector%20Graphics/html,%20W3C%20v1.2%20rec%20(tiny)/directory/"
|
||||
}
|
||||
dest = data.get(url)
|
||||
if dest:
|
||||
return {"Response" : 301,
|
||||
"SendHeader" : {"Location" : "/%s" % dest}}
|
||||
return None
|
||||
|
||||
|
||||
index_url = "File%20formats/Images/SVG,%20Scalable%20Vector%20Graphics/html,%20W3C%20v1.2%20rec%20(tiny)/index.html"
|
||||
Index_File = WgetFile (index_url, Index)
|
||||
Files = ([Index_File] + [WgetFile(i, File1, rules=get_redirect(i)) for i in (redirected + urls)])
|
||||
|
||||
WGET_OPTIONS = "--recursive -e robots=off"
|
||||
|
||||
WGET_URLS = [[index_url]]
|
||||
|
||||
ExpectedReturnCode = 0
|
||||
|
||||
################ Pre and Post Test Hooks #####################################
|
||||
pre_test = {
|
||||
"ServerFiles" : [Files]
|
||||
}
|
||||
test_options = {
|
||||
"WgetCommands" : WGET_OPTIONS,
|
||||
"Urls" : WGET_URLS
|
||||
}
|
||||
post_test = {
|
||||
"ExpectedRetcode" : ExpectedReturnCode,
|
||||
}
|
||||
|
||||
err = HTTPTest (
|
||||
name=TEST_NAME,
|
||||
pre_hook=pre_test,
|
||||
test_params=test_options,
|
||||
post_hook=post_test
|
||||
).begin ()
|
||||
|
||||
exit (err)
|
Loading…
Reference in New Issue
Block a user