36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
import os
|
|
import unittest
|
|
from cStringIO import StringIO
|
|
from nose.core import TestProgram
|
|
from nose.config import Config
|
|
from nose.result import _TextTestResult
|
|
|
|
here = os.path.dirname(__file__)
|
|
support = os.path.join(here, 'support')
|
|
|
|
|
|
class TestRunner(unittest.TextTestRunner):
|
|
def _makeResult(self):
|
|
self.result = _TextTestResult(
|
|
self.stream, self.descriptions, self.verbosity)
|
|
return self.result
|
|
|
|
|
|
class TestBuggyGenerators(unittest.TestCase):
|
|
def test_run_buggy_generators(self):
|
|
stream = StringIO()
|
|
runner = TestRunner(stream=stream)
|
|
prog = TestProgram(
|
|
argv=['nosetests',
|
|
os.path.join(support, 'test_buggy_generators.py')],
|
|
testRunner=runner,
|
|
config=Config(),
|
|
exit=False)
|
|
res = runner.result
|
|
print stream.getvalue()
|
|
self.assertEqual(res.testsRun, 12,
|
|
"Expected to run 12 tests, ran %s" % res.testsRun)
|
|
assert not res.wasSuccessful()
|
|
assert len(res.errors) == 4
|
|
assert not res.failures
|
|
|