diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2016-01-06 20:12:03 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2016-01-06 20:12:03 +0000 | 
| commit | 9e6d35490a6542f9c97607f93c2ef8ca8e03cbcc (patch) | |
| tree | dd2a1ddf0476664c2b823409c36cbccd52662ca7 /packages/Python/lldbsuite/test/functionalities/tty | |
| parent | 3bd2e91faeb9eeec1aae82c64a3253afff551cfd (diff) | |
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/functionalities/tty')
| -rw-r--r-- | packages/Python/lldbsuite/test/functionalities/tty/TestTerminal.py | 40 | 
1 files changed, 40 insertions, 0 deletions
| diff --git a/packages/Python/lldbsuite/test/functionalities/tty/TestTerminal.py b/packages/Python/lldbsuite/test/functionalities/tty/TestTerminal.py new file mode 100644 index 0000000000000..5697c2c37283a --- /dev/null +++ b/packages/Python/lldbsuite/test/functionalities/tty/TestTerminal.py @@ -0,0 +1,40 @@ +""" +Test lldb command aliases. +""" + +from __future__ import print_function + + + +import unittest2 +import os, time +import lldb +from lldbsuite.test.lldbtest import * +import lldbsuite.test.lldbutil as lldbutil + +class LaunchInTerminalTestCase(TestBase): + +    mydir = TestBase.compute_mydir(__file__) + +    # Darwin is the only platform that I know of that supports optionally launching +    # a program in a separate terminal window. It would be great if other platforms +    # added support for this. +    @skipUnlessDarwin +    @expectedFailureDarwin("llvm.org/pr25484") +    # 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.skipIf(hasattr(os, 'geteuid') and os.geteuid() == 0, "test cannot be run as root") +    # Do we need to disable this test if the testsuite is being run on a remote system? +    # This env var is only defined when the shell is running in a local mac terminal window +    @unittest2.skipUnless('TERM_PROGRAM' in os.environ, "test must be run on local system") +    @no_debug_info_test +    def test_launch_in_terminal (self): +        exe = "/bin/ls" +        target = self.dbg.CreateTarget(exe) +        launch_info = lldb.SBLaunchInfo(["-lAF", "/tmp/"]) +        launch_info.SetLaunchFlags(lldb.eLaunchFlagLaunchInTTY | lldb.eLaunchFlagCloseTTYOnExit) +        error = lldb.SBError() +        process = target.Launch (launch_info, error) +        self.assertTrue(error.Success(), "Make sure launch happened successfully in a terminal window") +        # Running in synchronous mode our process should have run and already exited by the time target.Launch() returns +        self.assertTrue(process.GetState() == lldb.eStateExited) | 
