##// END OF EJS Templates
Fix Mixin Inheritence in Xunit unittest....
Fix Mixin Inheritence in Xunit unittest. Some unittest were weird mixin, properly make the base class an TestCase, and use setup/teardown to set local attributes. This adds compatibility with PyTest

File last commit:

r24010:77b36a9f
r25113:3ac47845
Show More
_process_cli.py
78 lines | 2.4 KiB | text/x-python | PythonLexer
Doug Blank
Removed another of the tweaks, and added a note in that it is largely untested.
r15248 """cli-specific implementation of process utilities.
Doug Blank
Minimal changes to import IPython from IronPython
r15154
cli - Common Language Infrastructure for IronPython. Code
can run on any operating system. Check os.name for os-
specific settings.
This file is only meant to be imported by process.py, not by end-users.
Doug Blank
Removed another of the tweaks, and added a note in that it is largely untested.
r15248
This file is largely untested. To become a full drop-in process
interface for IronPython will probably require you to help fill
in the details.
Doug Blank
Minimal changes to import IPython from IronPython
r15154 """
# Import cli libraries:
import clr
import System
# Import Python libraries:
import os
# Import IPython libraries:
from IPython.utils import py3compat
from ._process_common import arg_split
def _find_cmd(cmd):
"""Find the full path to a command using which."""
Doug Blank
Summary of changes:...
r15208 paths = System.Environment.GetEnvironmentVariable("PATH").Split(os.pathsep)
Doug Blank
Minimal changes to import IPython from IronPython
r15154 for path in paths:
filename = os.path.join(path, cmd)
if System.IO.File.Exists(filename):
Hugo
Remove redundant Python 2 code
r24010 return py3compat.decode(filename)
Doug Blank
Minimal changes to import IPython from IronPython
r15154 raise OSError("command %r not found" % cmd)
def system(cmd):
"""
system(cmd) should work in a cli environment on Mac OSX, Linux,
and Windows
"""
psi = System.Diagnostics.ProcessStartInfo(cmd)
psi.RedirectStandardOutput = True
psi.RedirectStandardError = True
psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal
psi.UseShellExecute = False
# Start up process:
reg = System.Diagnostics.Process.Start(psi)
def getoutput(cmd):
"""
getoutput(cmd) should work in a cli environment on Mac OSX, Linux,
and Windows
"""
psi = System.Diagnostics.ProcessStartInfo(cmd)
psi.RedirectStandardOutput = True
psi.RedirectStandardError = True
psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal
psi.UseShellExecute = False
# Start up process:
reg = System.Diagnostics.Process.Start(psi)
myOutput = reg.StandardOutput
output = myOutput.ReadToEnd()
myError = reg.StandardError
error = myError.ReadToEnd()
return output
Amin Bandali
Add .NET implementation of check_pid
r17689
def check_pid(pid):
"""
Check if a process with the given PID (pid) exists
"""
try:
System.Diagnostics.Process.GetProcessById(pid)
Amin Bandali
Catch InvalidOperationException as well
r17690 # process with given pid is running
return True
except System.InvalidOperationException:
# process wasn't started by this object (but is running)
Amin Bandali
Add .NET implementation of check_pid
r17689 return True
except System.ArgumentException:
Amin Bandali
Catch InvalidOperationException as well
r17690 # process with given pid isn't running
Amin Bandali
Add .NET implementation of check_pid
r17689 return False