8000 Identify test name in failure · awesome-python/html5lib-python@3dd403b · GitHub
[go: up one dir, main page]

Skip to content

Commit 3dd403b

Browse files
committed
Identify test name in failure
--HG-- extra : convert_revision : svn%3Aacbfec75-9323-0410-a652-858a13e371e0/trunk%40758
1 parent f66a879 commit 3dd403b

File tree

1 file changed

+15
-20
lines changed

1 file changed

+15
-20
lines changed

tests/test_tokenizer.py

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import os
12
import unittest
23
from support import simplejson, html5lib_test_files
34

@@ -114,30 +115,24 @@ def runTokenizerTest(self, test):
114115
tokens = concatenateCharacterTokens(tokens)
115116
errorMsg = "\n".join(["\n\nContent Model Flag:",
116117
test['contentModelFlag'] ,
117-
"\nExpected:", str(output), "\nRecieved:",
118-
str(tokens)])
118+
"\nInput:", str(test['input']),
119+
"\nExpected:", str(output),
120+
"\nRecieved:", str(tokens)])
119121
self.assertEquals(tokensMatch(tokens, output), True, errorMsg)
120122

121-
122-
def test_tokenizer():
123+
def buildTestSuite():
123124
for filename in html5lib_test_files('tokenizer', '*.test'):
124125
tests = simplejson.load(file(filename))
125-
for test in tests['tests']:
126-
yield (TestCase.runTokenizerTest, test)
127-
128-
def buildTestSuite():
129-
tests = 0
130-
for func, test in test_tokenizer():
131-
if 'contentModelFlags' not in test:
132-
test["contentModelFlags"] = ["PCDATA"]
133-
for contentModelFlag in test["contentModelFlags"]:
134-
tests += 1
135-
testName = 'test%d' % tests
136-
test["contentModelFlag"] = contentModelFlag
137-
testFunc = lambda self, method=func, test=test: \
138-
method(self, test)
139-
testFunc.__doc__ = "\t".join([test['description'], str(test['input'])])
140-
setattr(TestCase, testName, testFunc)
126+
testName = os.path.basename(filename).replace(".test","")
127+
for index,test in enumerate(tests['tests']):
128+
if 'contentModelFlags' not in test:
129+
test["contentModelFlags"] = ["PCDATA"]
130+
for contentModelFlag in test["contentModelFlags"]:
131+
test["contentModelFlag"] = contentModelFlag
132+
def testFunc(self, test=test):
133+
self.runTokenizerTest(test)
134+
testFunc.__doc__ = "\t".join([testName, test['description']])
135+
setattr(TestCase, 'test_%s_%d' % (testName, index), testFunc)
141136
return unittest.TestLoader().loadTestsFromTestCase(TestCase)
142137

143138
def main():

0 commit comments

Comments
 (0)
0