[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. """ |         """ return an initialized session object. """ | ||||||
|         cls = self._getsessionclass() |         cls = self._getsessionclass() | ||||||
|         session = cls(self) |         session = cls(self) | ||||||
|         #session.fixoptions() |         # XXX: all sessions should have one | ||||||
|  |         if hasattr(session, 'fixoptions'): | ||||||
|  |             session.fixoptions() | ||||||
|         return session |         return session | ||||||
| 
 | 
 | ||||||
|     def _getsessionclass(self):  |     def _getsessionclass(self):  | ||||||
|  |  | ||||||
|  | @ -138,6 +138,22 @@ def parse_directories(sshhosts): | ||||||
| class RSession(AbstractSession): | class RSession(AbstractSession): | ||||||
|     """ Remote version of session |     """ 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): |     def main(self, reporter=None): | ||||||
|         """ main loop for running tests. """ |         """ main loop for running tests. """ | ||||||
|         args = self.config.args |         args = self.config.args | ||||||
|  |  | ||||||
|  | @ -322,3 +322,8 @@ class TestInithosts(object): | ||||||
|         assert events[3].host.hostname == 'h2' |         assert events[3].host.hostname == 'h2' | ||||||
|         assert events[3].host.relpath == 'home-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