Don't run functionalities/tty under sudo / as root.

The terminal window will be opened under the ownership
of the real userid and it won't be able to open the
socket talking back to lldb -- the testsuite will hang
here.

The same thing probably should be done for lldb when run
on a remote system over ssh.  I added a line for that 
but commented it out for now because I haven't
tested it.

llvm-svn: 225748
This commit is contained in:
Jason Molenda 2015-01-13 00:54:59 +00:00
parent 6f4a19f1bd
commit 5155e5070c
1 changed files with 10 additions and 0 deletions

View File

@ -16,6 +16,16 @@ class LaunchInTerminalTestCase(TestBase):
# a program in a separate terminal window. It would be great if other platforms
# added support for this.
@unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
# If the test is being run under sudo, the spawned terminal won't retain that elevated
# privilege so it can't open the socket to talk back to the test case
@unittest2.skipUnless(os.geteuid() != 0, "test cannot be run as root")
# Do we need to disable this test if the testsuite is being run on a rmeote system?
# This env var is only defined when the shell is running in a local mac terminal window
# @unittest2.skipUnless(os.environ.has_key('TERM_PROGRAM'), "test must be run on local system")
def test_launch_in_terminal (self):
exe = "/bin/ls"
target = self.dbg.CreateTarget(exe)