[svn r37443] slightly re-organizing RemoteTerminalSession for
easier subclassing. --HG-- branch : trunk
This commit is contained in:
		
							parent
							
								
									a1171a8726
								
							
						
					
					
						commit
						3d70646122
					
				|  | @ -90,30 +90,40 @@ class RemoteTerminalSession(object): | ||||||
|             print "#                           ", "^" * len(str(rootdir)) |             print "#                           ", "^" * len(str(rootdir)) | ||||||
|         return failures |         return failures | ||||||
| 
 | 
 | ||||||
|     def run_remote_session(self, failures): |     def _initslavegateway(self): | ||||||
|         print "* opening PopenGateway: ", self.executable  |         print "* opening PopenGateway: ", self.executable  | ||||||
|         gw = py.execnet.PopenGateway(self.executable) |         topdir = self.config.topdir | ||||||
|  |         return py.execnet.PopenGateway(self.executable), topdir | ||||||
|  | 
 | ||||||
|  |     def run_remote_session(self, failures): | ||||||
|  |         gw, topdir = self._initslavegateway() | ||||||
|         channel = gw.remote_exec(""" |         channel = gw.remote_exec(""" | ||||||
|             from py.__.test.terminal.remote import slaverun_TerminalSession |             from py.__.test.terminal.remote import slaverun_TerminalSession | ||||||
|             slaverun_TerminalSession(channel)  |             slaverun_TerminalSession(channel)  | ||||||
|         """, stdout=self.out, stderr=self.out)  |         """, stdout=self.out, stderr=self.out)  | ||||||
|         print "MASTER: triggered slave terminal session ->" |         print "MASTER: initiated slave terminal session ->" | ||||||
|         repr = self.config.make_repr(conftestnames=[]) |         repr = self.config.make_repr(conftestnames=[]) | ||||||
|         channel.send((str(self.config.topdir), repr, failures)) |         channel.send((str(topdir), repr, failures)) | ||||||
|         print "MASTER: send start info"  |         print "MASTER: send start info, topdir=%s" % (topdir,) | ||||||
|         try: |         try: | ||||||
|             return channel.receive() |             return channel.receive() | ||||||
|         except channel.RemoteError, e: |         except channel.RemoteError, e: | ||||||
|  |             print "*" * 70 | ||||||
|  |             print "ERROR while waiting for proper slave startup" | ||||||
|  |             print "*" * 70 | ||||||
|             print e |             print e | ||||||
|             return [] |             return [] | ||||||
| 
 | 
 | ||||||
| def slaverun_TerminalSession(channel): | def slaverun_TerminalSession(channel): | ||||||
|     """ we run this on the other side. """ |     """ we run this on the other side. """ | ||||||
|     print "SLAVE: starting" |     print "SLAVE: initializing ..." | ||||||
|     topdir, repr, failures = channel.receive() |     topdir, repr, failures = channel.receive() | ||||||
|     print "SLAVE: received configuration"  |     print "SLAVE: received configuration, using topdir:", topdir | ||||||
|     config = py.test.config  |     config = py.test.config  | ||||||
|  |     import sys | ||||||
|  |     sys.stdout.flush() | ||||||
|     config.initdirect(topdir, repr, failures) |     config.initdirect(topdir, repr, failures) | ||||||
|  |     config.option.session = None | ||||||
|     config.option.looponfailing = False  |     config.option.looponfailing = False  | ||||||
|     config.option.usepdb = False  |     config.option.usepdb = False  | ||||||
|     config.option.executable = None |     config.option.executable = None | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue