- From: Ville Skytta via cvs-syncmail <cvsmail@w3.org>
- Date: Mon, 23 May 2011 17:31:57 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2008/link-testsuite/harness
In directory hutz:/tmp/cvs-serv6101/harness
Modified Files:
linktest.py
Log Message:
Add --checker_uri argument.
Index: linktest.py
===================================================================
RCS file: /sources/public/2008/link-testsuite/harness/linktest.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- linktest.py 23 May 2011 17:15:53 -0000 1.5
+++ linktest.py 23 May 2011 17:31:55 -0000 1.6
@@ -18,7 +18,7 @@
basedir = os.path.dirname(os.path.abspath(__file__))
sys.path.append(os.path.join(basedir, "lib"))
-from W3CLinkCheckerClient import W3CLinkCheckerClient_UT
+from W3CLinkCheckerClient import W3CLinkCheckerClient, W3CLinkCheckerClient_UT
from LinkTestCase import LinkTestCase, LinkTestCase_UT, LinkTestCollection
from Documentation import Documentation
help_message = '''
@@ -30,7 +30,9 @@
-h, --help: this manual you are reading
-v, --verbose: verbose output
-q, --quiet: suppress all output except errors
-
+ --checker_uri: use a specific link checker instance
+ e.g http://validator.w3.org/checklink
+
Modes:
run: run the link checker test suite
sanity: check that this code is still working
@@ -122,11 +124,12 @@
def main(argv=None):
verbose=1
+ checker_uri = None
if argv is None:
argv = sys.argv
try:
try:
- opts, args = getopt.getopt(argv[1:], "ho:vq", ["help", "verbose", "quiet"])
+ opts, args = getopt.getopt(argv[1:], "ho:vq", ["help", "verbose", "quiet", "checker_uri="])
for (opt, value) in opts:
if opt == "h" or opt == "--help":
raise Usage(msg)
@@ -143,6 +146,8 @@
raise Usage(help_message)
if option in ("-o", "--output"):
output = value
+ if option == "--checker_uri":
+ checker_uri = value
if len(args) == 0:
raise Usage(help_message)
@@ -154,7 +159,10 @@
if args[0] == "run":
- suite = buildTestSuite()
+ checker = None
+ if checker_uri:
+ checker = W3CLinkCheckerClient(checker_uri)
+ suite = buildTestSuite(checker)
unittest.TextTestRunner(verbosity=verbose).run(suite)
elif args[0] == "sanity":
suite1 = unittest.TestLoader().loadTestsFromTestCase(W3CLinkCheckerClient_UT)
@@ -170,7 +178,7 @@
basedir = os.path.dirname(os.path.abspath(__file__))
return basedir
-def readTestCase(test_file):
+def readTestCase(test_file, checker=None):
test_file_handle = open(test_file, 'r')
try:
tree = ET.parse(test_file_handle)
@@ -203,7 +211,7 @@
else:
expected[child.attrib["code"]] = (child.attrib["href"])
- case = LinkTestCase(title=title, description=descr, docURI=test_uri, runOptions=None, expectResults=expected)
+ case = LinkTestCase(title=title, description=descr, docURI=test_uri, runOptions=None, expectResults=expected, checker=checker)
return case
def readTestCollection(collection_path):
@@ -212,7 +220,7 @@
for metafile in glob.glob(os.path.join(collection_path, '*.collection')):
collection = readCollectionMeta(metafile)
-def readCollectionMeta(collection_file):
+def readCollectionMeta(collection_file, checker=None):
collection_file_handle = open(collection_file, 'r')
collection_path = os.path.dirname(os.path.abspath(collection_file))
try:
@@ -237,7 +245,7 @@
tests.append(test.tag)
collection = LinkTestCollection(title=title, description=description, casefiles=tests)
for testfile in collection.casefiles:
- case = readTestCase(os.path.join(collection_path, testfile))
+ case = readTestCase(os.path.join(collection_path, testfile), checker=checker)
collection.cases.append(case)
return collection
@@ -250,14 +258,14 @@
index.addCollection(testcollection)
print index.generate(template_path=os.path.join(basedir, "templates")).encode('utf-8')
-def buildTestSuite():
+def buildTestSuite(checker=None):
suite = unittest.TestSuite()
basedir = getBaseDir()
for testcollection_file in (glob.glob(os.path.join(basedir, 'testcases', '**', '*.collection'))):
colldir = os.path.dirname(os.path.abspath(testcollection_file))
colldir = os.path.split(colldir)[-1]
- testcollection = readCollectionMeta(testcollection_file)
+ testcollection = readCollectionMeta(testcollection_file, checker=checker)
for case in testcollection.cases:
suite.addTest(case)
return suite
Received on Monday, 23 May 2011 17:31:59 UTC