summaryrefslogtreecommitdiff
path: root/functional_tests/test_buggy_generators.py
blob: 9e6e16831ae8cfc21a2224ae6ef7b6a1db647e93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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