comparison tests/test.py @ 32:486a4640fc31

fix test harness
author Jeff Hammel <jhammel@mozilla.com>
date Wed, 29 Feb 2012 20:25:19 -0800
parents 90777e79ea13
children 143adebe4caa
comparison
equal deleted inserted replaced
31:4990fe59974a 32:486a4640fc31
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 2
3 """ 3 """
4 doctest runner 4 doctest runner for simpypi tests
5 """ 5 """
6 6
7 import doctest 7 import doctest
8 import os 8 import os
9 import shutil 9 import shutil
10 import sys 10 import sys
11 import tempfile 11 import tempfile
12 from optparse import OptionParser 12 from optparse import OptionParser
13 from paste.fixture import TestApp
14 import simpypi.factory import factory
15
16 class SimpypiTestApp(TestApp):
17 """WSGI app wrapper for testing simpypi"""
18
19 def __init__(self, directory):
20 app = factory(directory=directory)
21 TestApp.__init__(self, app)
22 13
23 def run_tests(raise_on_error=False, report_first=False): 14 def run_tests(raise_on_error=False, report_first=False):
24 15
25 # add results here 16 # add results here
26 results = {} 17 results = {}
40 for test in tests: 31 for test in tests:
41 32
42 # make a temporary directory 33 # make a temporary directory
43 tmpdir = tempfile.mkdtemp() 34 tmpdir = tempfile.mkdtemp()
44 doctest_args['extraglobs']['directory'] = tmpdir 35 doctest_args['extraglobs']['directory'] = tmpdir
45
46 # make a test WSGI app
47 app = simpypi.
48 36
49 try: 37 try:
50 results[test] = doctest.testfile(test, **doctest_args) 38 results[test] = doctest.testfile(test, **doctest_args)
51 except doctest.DocTestFailure, failure: 39 except doctest.DocTestFailure, failure:
52 raise 40 raise