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