windows fixes and print funcargs for keyboardinterrupt traces
--HG-- branch : trunk
This commit is contained in:
		
							parent
							
								
									d28838bbb6
								
							
						
					
					
						commit
						516cee2a94
					
				|  | @ -66,7 +66,10 @@ class VirtualEnv(object): | |||
|         return "<VirtualEnv at %r>" %(self.path) | ||||
| 
 | ||||
|     def _cmd(self, name): | ||||
|         return os.path.join(self.path, 'bin', name) | ||||
|         if sys.platform == "win32": | ||||
|             return os.path.join(self.path, 'Scripts', name) | ||||
|         else: | ||||
|             return os.path.join(self.path, 'bin', name) | ||||
| 
 | ||||
|     def ensure(self): | ||||
|         if not os.path.exists(self._cmd('python')): | ||||
|  |  | |||
|  | @ -14,7 +14,9 @@ def cmdexec(cmd): | |||
|     the exception will provide an 'err' attribute containing | ||||
|     the error-output from the command. | ||||
|     """ | ||||
|     process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | ||||
|     process = subprocess.Popen(cmd, shell=True,  | ||||
|             universal_newlines=True, | ||||
|             stdout=subprocess.PIPE, stderr=subprocess.PIPE) | ||||
|     out, err = process.communicate() | ||||
|     out = py.builtin._totext(out, sys.getdefaultencoding()) | ||||
|     err = py.builtin._totext(err, sys.getdefaultencoding()) | ||||
|  |  | |||
|  | @ -292,7 +292,7 @@ class TerminalReporter: | |||
|         self.summary_stats() | ||||
| 
 | ||||
|     def pytest_keyboard_interrupt(self, excinfo): | ||||
|         self._keyboardinterrupt_memo = excinfo.getrepr() | ||||
|         self._keyboardinterrupt_memo = excinfo.getrepr(funcargs=True) | ||||
| 
 | ||||
|     def _report_keyboardinterrupt(self): | ||||
|         self.write_sep("!", "KEYBOARD INTERRUPT") | ||||
|  |  | |||
|  | @ -9,6 +9,11 @@ class Test_exec_cmd: | |||
|         out = cmdexec('echo hallo') | ||||
|         assert out.strip() == 'hallo' | ||||
| 
 | ||||
|     def test_simple_newline(self): | ||||
|         import sys | ||||
|         out = cmdexec(r"""%s -c "print ('hello')" """ % sys.executable) | ||||
|         assert out == 'hello\n' | ||||
| 
 | ||||
|     def test_simple_error(self): | ||||
|         py.test.raises (cmdexec.Error, cmdexec, 'exit 1') | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue