summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorville <ville@localhost>2009-11-16 19:47:41 +0000
committerville <ville@localhost>2009-11-16 19:47:41 +0000
commit4431291683e2899d535932d29c727326e0f32c67 (patch)
treeb44f915dc66b60096858eff4c9274efd8f8821f1
parenteea0ee419d13f277e83aeef8cbf5983f1b780040 (diff)
downloadmarkup-validator-4431291683e2899d535932d29c727326e0f32c67.zip
markup-validator-4431291683e2899d535932d29c727326e0f32c67.tar.gz
markup-validator-4431291683e2899d535932d29c727326e0f32c67.tar.bz2
Improve unsuccessful request handling.
-rw-r--r--misc/testsuite/lib/TestCase.py6
-rw-r--r--misc/testsuite/lib/ValidatorsAPIs.py31
2 files changed, 22 insertions, 15 deletions
diff --git a/misc/testsuite/lib/TestCase.py b/misc/testsuite/lib/TestCase.py
index 15af48e..654f965 100644
--- a/misc/testsuite/lib/TestCase.py
+++ b/misc/testsuite/lib/TestCase.py
@@ -50,7 +50,9 @@ class ValidatorTestCase(unittest.TestCase):
We first remove irrelevant result keys in the validation results,
and compare that to the expected results
"""
- results = self.checker.parse_response(self.checker.call_check(self.docURI))
+ (res, err) = self.checker.call_check(self.docURI)
+ self.assertEqual(err, None)
+ results = self.checker.parse_response(res)
results_filtered = dict()
for result_key in self.expectResults.iterkeys():
if results.has_key(result_key):
@@ -242,4 +244,4 @@ class ValidatorTestSuite_UT(unittest.TestCase):
if __name__ == '__main__':
- unittest.main() \ No newline at end of file
+ unittest.main()
diff --git a/misc/testsuite/lib/ValidatorsAPIs.py b/misc/testsuite/lib/ValidatorsAPIs.py
index 9b53fdb..0cf8138 100644
--- a/misc/testsuite/lib/ValidatorsAPIs.py
+++ b/misc/testsuite/lib/ValidatorsAPIs.py
@@ -31,9 +31,9 @@ class W3CValidatorHTTP:
final_checker_URI = self.check_URI % {"URI": data }
try:
response = urllib2.urlopen(final_checker_URI)
- return response
- except (urllib2.HTTPError, urllib2.URLError):
- return None
+ except (urllib2.HTTPError, urllib2.URLError) as exc:
+ return (None, str(exc) + ": " + final_checker_URI)
+ return (response, None)
def parse_response(self, response):
"""Parse a W3C Markup Validator Response via its HTTP headers"""
@@ -61,34 +61,39 @@ class W3CValidatorHTTP_test(unittest.TestCase):
def test_contact_default(self):
"""Test Contacting the default validator instance"""
default_checker = W3CValidatorHTTP()
- checked = default_checker.call_check("http://www.w3.org")
- self.assertNotEqual(checked, None)
+ (res, err) = default_checker.call_check("http://www.w3.org")
+ self.assertEqual(err, None)
+ self.assertNotEqual(res, None)
def test_contact_vwo(self):
"""Test Contacting the main W3C validator instance"""
default_checker = W3CValidatorHTTP("http://validator.w3.org/check?uri=%(URI)s")
- checked = default_checker.call_check("http://www.w3.org")
- self.assertNotEqual(checked, None)
+ (res, err) = default_checker.call_check("http://www.w3.org")
+ self.assertEqual(err, None)
+ self.assertNotEqual(res, None)
def test_parse_response(self):
"""Test parsing response from default validator instance"""
default_checker = W3CValidatorHTTP()
- checked = default_checker.call_check("http://www.w3.org")
- results = default_checker.parse_response(checked)
+ (res, err) = default_checker.call_check("http://www.w3.org")
+ self.assertEqual(err, None)
+ results = default_checker.parse_response(res)
self.assert_(isinstance(results,dict))
def test_parse_response_invalid(self):
"""Test parsing response for a known invalid resource"""
default_checker = W3CValidatorHTTP()
- checked = default_checker.call_check("http://qa-dev.w3.org/wmvs/HEAD/dev/tests/xhtml1-bogus-element.html")
- results = default_checker.parse_response(checked)
+ (res, err) = default_checker.call_check("http://qa-dev.w3.org/wmvs/HEAD/dev/tests/xhtml1-bogus-element.html")
+ self.assertEqual(err, None)
+ results = default_checker.parse_response(res)
self.assertNotEquals(results["NumErrors"], 0)
def test_parse_response_valid(self):
"""Test parsing response for a known valid HTML resource"""
default_checker = W3CValidatorHTTP()
- checked = default_checker.call_check("http://qa-dev.w3.org/wmvs/HEAD/dev/tests/html20.html")
- results = default_checker.parse_response(checked)
+ (res, err) = default_checker.call_check("http://qa-dev.w3.org/wmvs/HEAD/dev/tests/html20.html")
+ self.assertEqual(err, None)
+ results = default_checker.parse_response(res)
self.assertNotEquals([results["NumErrors"], results["Validity"]], [0, "Valid"])
if __name__ == '__main__':