Skip to content

Commit

Permalink
Fixed setuptools to work with Layers
Browse files Browse the repository at this point in the history
  • Loading branch information
Siddharta Govindaraj committed Jan 18, 2015
1 parent 5df9a70 commit b07f6cb
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 1 deletion.
7 changes: 6 additions & 1 deletion nose2/collector.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,16 @@ def run(self, result_):
ok = self._collector(result_)
sys.exit(not ok)

def _collector(self, result_):
def _get_objects(self):
ssn = session.Session()
ldr = loader.PluggableTestLoader(ssn)
rnr = runner.PluggableTestRunner(ssn)
return ssn, ldr, rnr

def _collector(self, result_):
ssn, ldr, rnr = self._get_objects()

ssn.testLoader = ldr
ssn.loadConfigFiles('unittest.cfg', 'nose2.cfg', 'setup.cfg')
ssn.setStartDir()
ssn.prepareSysPath()
Expand Down
21 changes: 21 additions & 0 deletions nose2/tests/unit/test_collector.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
try:
from unittest import mock
except ImportError:
# Older python versions dont have mock by default
import mock

from nose2.tests._common import TestCase, RedirectStdStreams
from nose2 import collector
from textwrap import dedent
Expand All @@ -20,3 +26,18 @@ def test_collector_completes_with_no_tests(self):
self.assertEqual("", redir.stdout.getvalue())
self.assertTrue(re.match(r'\n-+\nRan 0 tests in \d.\d\d\ds\n\nOK\n',
redir.stderr.getvalue()))

def test_collector_sets_testLoader_in_session(self):
"""
session.testLoader needs to be set so that plugins that use this
field (like Layers) dont break.
"""
test = collector.collector()
mock_session = mock.MagicMock()
mock_loader = mock.MagicMock()
mock_runner = mock.MagicMock()
test._get_objects = mock.Mock(return_value=(mock_session,
mock_loader,
mock_runner))
test._collector(None)
self.assertTrue(mock_session.testLoader is mock_loader)
1 change: 1 addition & 0 deletions requirements-2.7.txt
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
mock
-r requirements.txt
1 change: 1 addition & 0 deletions requirements-py26.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
mock
unittest2==0.5.1
--allow-external argparse
--allow-unverified argparse
Expand Down

0 comments on commit b07f6cb

Please sign in to comment.