[svn r37300] Make clean complaints about lack of disthosts and call fixoptions if present.

--HG--
branch : trunk
This commit is contained in:
fijal 2007-01-24 22:05:33 +01:00
parent 13cb6854c1
commit 9dc7fbbd37
3 changed files with 24 additions and 1 deletions

View File

@ -123,7 +123,9 @@ class Config(object):
""" return an initialized session object. """
cls = self._getsessionclass()
session = cls(self)
#session.fixoptions()
# XXX: all sessions should have one
if hasattr(session, 'fixoptions'):
session.fixoptions()
return session
def _getsessionclass(self):

View File

@ -138,6 +138,22 @@ def parse_directories(sshhosts):
class RSession(AbstractSession):
""" Remote version of session
"""
def fixoptions(self):
config = self.config
try:
config.getvalue('disthosts')
except KeyError:
print "You're trying to run RSession without disthosts specified"
print "you need to specify it in your conftest.py (ie. ~/conftest.py)"
print "for example:"
print " disthosts = ['localhost'] * 4 # for 3 processors"
print " - or -"
print " disthosts = ['you@some.remote.com'] # for remote testing"
print " # with your remote ssh account"
print "http://codespeak.net/py/current/doc/test.html#automated-distributed-testing"
print " for more info..."
raise SystemExit
def main(self, reporter=None):
""" main loop for running tests. """
args = self.config.args

View File

@ -322,3 +322,8 @@ class TestInithosts(object):
assert events[3].host.hostname == 'h2'
assert events[3].host.relpath == 'home-h2'
def test_rsession_no_disthost():
tmpdir = py.test.ensuretemp("rsession_no_disthost")
tmpdir.ensure("conftest.py")
config = py.test.config._reparse([str(tmpdir), '-d'])
py.test.raises(SystemExit, "config.initsession()")