[svn r37300] Make clean complaints about lack of disthosts and call fixoptions if present.
--HG-- branch : trunk
This commit is contained in:
parent
13cb6854c1
commit
9dc7fbbd37
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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()")
|
||||
|
|
Loading…
Reference in New Issue