48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
|
import os
|
||
|
import sys
|
||
|
import unittest
|
||
|
from nose.plugins.skip import SkipTest
|
||
|
from nose import commands
|
||
|
from StringIO import StringIO
|
||
|
|
||
|
support = os.path.join(
|
||
|
os.path.dirname(__file__), 'support', 'issue191')
|
||
|
|
||
|
|
||
|
class TestCommands(unittest.TestCase):
|
||
|
def setUp(self):
|
||
|
try:
|
||
|
import setuptools
|
||
|
except ImportError:
|
||
|
raise SkipTest("setuptools not available")
|
||
|
self.dir = os.getcwd()
|
||
|
self.stderr = sys.stderr
|
||
|
os.chdir(support)
|
||
|
|
||
|
def tearDown(self):
|
||
|
os.chdir(self.dir)
|
||
|
sys.stderr = self.stderr
|
||
|
|
||
|
def test_setup_nosetests_command_works(self):
|
||
|
from setuptools.dist import Distribution
|
||
|
buf = StringIO()
|
||
|
sys.stderr = buf
|
||
|
cmd = commands.nosetests(
|
||
|
Distribution(attrs={'script_name': 'setup.py',
|
||
|
'package_dir': {'issue191': support}}))
|
||
|
cmd.finalize_options()
|
||
|
## FIXME why doesn't Config see the chdir above?
|
||
|
print cmd._nosetests__config.workingDir
|
||
|
cmd._nosetests__config.workingDir = support
|
||
|
cmd._nosetests__config.stream = buf
|
||
|
try:
|
||
|
cmd.run()
|
||
|
except SystemExit, e:
|
||
|
self.assertFalse(e.args[0], buf.getvalue())
|
||
|
else:
|
||
|
self.fail("cmd.run() did not exit")
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
unittest.main()
|