4 from cStringIO import StringIO
5 from nose.core import TestProgram
6 from test_program import TestRunner
8 here = os.path.dirname(__file__)
9 support = os.path.join(here, 'support')
11 class TestNamespacePackages(unittest.TestCase):
14 self.cwd = os.getcwd()
15 self.orig_path = sys.path[:]
16 test_dir = os.path.join(support, 'namespace_pkg')
18 sys.path.append(os.path.join(test_dir, 'site-packages'))
21 sys.path = self.orig_path
24 def test_namespace_pkg(self):
25 """Ensure namespace packages work/can import from each other"""
27 runner = TestRunner(stream=stream)
29 prog = TestProgram(argv=[''],
33 self.assertEqual(res.testsRun, 1,
34 "Expected to run 1 test, ran %s" % res.testsRun)
35 assert res.wasSuccessful()
37 assert not res.failures
39 def test_traverse_namespace(self):
40 """Ensure the --traverse-namespace option tests the other
41 namespace package sibling also.
44 runner = TestRunner(stream=stream)
46 prog = TestProgram(argv=['', '--traverse-namespace'],
50 self.assertEqual(res.testsRun, 2,
51 "Expected to run 2 tests, ran %s" % res.testsRun)
52 assert res.wasSuccessful()
54 assert not res.failures
57 if __name__ == '__main__':