summaryrefslogtreecommitdiffstats
path: root/lldb/test
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/test')
-rw-r--r--lldb/test/api/check_public_api_headers/TestPublicAPIHeaders.py3
-rw-r--r--lldb/test/api/multithreaded/TestMultithreaded.py9
-rwxr-xr-xlldb/test/dotest.py22
-rw-r--r--lldb/test/functionalities/abbreviation/TestAbbreviations.py5
-rw-r--r--lldb/test/functionalities/conditional_break/.lldb2
-rw-r--r--lldb/test/functionalities/conditional_break/TestConditionalBreak.py4
-rw-r--r--lldb/test/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjC.py2
-rw-r--r--lldb/test/functionalities/inferior-changed/TestInferiorChanged.py7
-rw-r--r--lldb/test/functionalities/load_unload/TestLoadUnload.py5
-rw-r--r--lldb/test/functionalities/process_launch/TestProcessLaunch.py2
-rw-r--r--lldb/test/functionalities/watchpoint/hello_watchlocation/TestWatchLocation.py8
-rw-r--r--lldb/test/functionalities/watchpoint/hello_watchpoint/TestMyFirstWatchpoint.py7
-rw-r--r--lldb/test/lang/c/blocks/TestBlocks.py2
-rw-r--r--lldb/test/lldbtest.py74
-rw-r--r--lldb/test/macosx/universal/TestUniversal.py3
-rw-r--r--lldb/test/python_api/hello_world/TestHelloWorld.py4
-rw-r--r--lldb/test/python_api/process/TestProcessAPI.py4
-rw-r--r--lldb/test/python_api/target/TestTargetAPI.py2
-rw-r--r--lldb/test/settings/TestSettings.py3
19 files changed, 141 insertions, 27 deletions
diff --git a/lldb/test/api/check_public_api_headers/TestPublicAPIHeaders.py b/lldb/test/api/check_public_api_headers/TestPublicAPIHeaders.py
index 9df567c3f3a..63618e05c36 100644
--- a/lldb/test/api/check_public_api_headers/TestPublicAPIHeaders.py
+++ b/lldb/test/api/check_public_api_headers/TestPublicAPIHeaders.py
@@ -22,6 +22,9 @@ class SBDirCheckerCase(TestBase):
def test_sb_api_directory(self):
"""Test the SB API directory and make sure there's no unwanted stuff."""
+ # Only proceed if this is "darwin", "x86_64", and local platform.
+ if not (sys.platform.startswith("darwin") and self.getArchitecture() == "x86_64" and not lldb.test_remote):
+ self.skipTest("This test is only for LLDB.framework built 64-bit and !lldb.test_remote")
if self.getArchitecture() == "i386":
self.skipTest("LLDB is 64-bit and cannot be linked to 32-bit test program.")
diff --git a/lldb/test/api/multithreaded/TestMultithreaded.py b/lldb/test/api/multithreaded/TestMultithreaded.py
index bb5c26271e5..b8d74ef7655 100644
--- a/lldb/test/api/multithreaded/TestMultithreaded.py
+++ b/lldb/test/api/multithreaded/TestMultithreaded.py
@@ -61,12 +61,13 @@ class SBBreakpointCallbackCase(TestBase):
exe = [os.path.join(os.getcwd(), test_name), self.inferior]
+ env = {self.dylibPath : self.getLLDBLibraryEnvVal()}
if self.TraceOn():
print "Running test %s" % " ".join(exe)
-
- check_call(exe, env={self.dylibPath : self.getLLDBLibraryEnvVal()})
-
-
+ check_call(exe, env=env)
+ else:
+ with open(os.devnull, 'w') as fnull:
+ check_call(exe, env=env, stdout=fnull, stderr=fnull)
def build_program(self, sources, program):
return self.buildDriver(sources, program)
diff --git a/lldb/test/dotest.py b/lldb/test/dotest.py
index 4bc4dab2dd6..1c412f4c2fe 100755
--- a/lldb/test/dotest.py
+++ b/lldb/test/dotest.py
@@ -154,6 +154,9 @@ config = {}
# The pre_flight and post_flight functions come from reading a config file.
pre_flight = None
post_flight = None
+# So do the lldbtest_remote_sandbox and lldbtest_remote_shell_template variables.
+lldbtest_remote_sandbox = None
+lldbtest_remote_shell_template = None
# The 'archs' and 'compilers' can be specified via either command line or configFile,
# with the command line overriding the configFile. The corresponding options can be
@@ -745,11 +748,11 @@ def parseOptionsAndInitTestdirs():
# respectively.
#
# See also lldb-trunk/examples/test/usage-config.
- global config, pre_flight, post_flight
+ global config, pre_flight, post_flight, lldbtest_remote_sandbox, lldbtest_remote_shell_template
if configFile:
# Pass config (a dictionary) as the locals namespace for side-effect.
execfile(configFile, globals(), config)
- print "config:", config
+ #print "config:", config
if "pre_flight" in config:
pre_flight = config["pre_flight"]
if not callable(pre_flight):
@@ -760,6 +763,10 @@ def parseOptionsAndInitTestdirs():
if not callable(post_flight):
print "fatal error: post_flight is not callable, exiting."
sys.exit(1)
+ if "lldbtest_remote_sandbox" in config:
+ lldbtest_remote_sandbox = config["lldbtest_remote_sandbox"]
+ if "lldbtest_remote_shell_template" in config:
+ lldbtest_remote_shell_template = config["lldbtest_remote_shell_template"]
#print "sys.stderr:", sys.stderr
#print "sys.stdout:", sys.stdout
@@ -1199,6 +1206,17 @@ if not noHeaders:
print "lldb.pre_flight:", getsource_if_available(lldb.pre_flight)
print "lldb.post_flight:", getsource_if_available(lldb.post_flight)
+# If either pre_flight or post_flight is defined, set lldb.test_remote to True.
+if lldb.pre_flight or lldb.post_flight:
+ lldb.test_remote = True
+else:
+ lldb.test_remote = False
+
+# So do the lldbtest_remote_sandbox and lldbtest_remote_shell_template variables.
+lldb.lldbtest_remote_sandbox = lldbtest_remote_sandbox
+lldb.lldbtest_remote_sandboxed_executable = None
+lldb.lldbtest_remote_shell_template = lldbtest_remote_shell_template
+
# Put all these test decorators in the lldb namespace.
lldb.dont_do_python_api_test = dont_do_python_api_test
lldb.just_do_python_api_test = just_do_python_api_test
diff --git a/lldb/test/functionalities/abbreviation/TestAbbreviations.py b/lldb/test/functionalities/abbreviation/TestAbbreviations.py
index 4df8cbc006a..38b9005537a 100644
--- a/lldb/test/functionalities/abbreviation/TestAbbreviations.py
+++ b/lldb/test/functionalities/abbreviation/TestAbbreviations.py
@@ -90,7 +90,10 @@ class AbbreviationsTestCase(TestBase):
def running_abbreviations (self):
exe = os.path.join (os.getcwd(), "a.out")
- self.expect("fil " + exe,
+ # Use "file", i.e., no abbreviation. We're exactly matching the command
+ # verbatim when dealing with remote testsuite execution.
+ # For more details, see TestBase.runCmd().
+ self.expect("file " + exe,
patterns = [ "Current executable set to .*a.out.*" ])
# By default, the setting interpreter.expand-regex-aliases is false.
diff --git a/lldb/test/functionalities/conditional_break/.lldb b/lldb/test/functionalities/conditional_break/.lldb
index 52fc2ddd647..d077db551cb 100644
--- a/lldb/test/functionalities/conditional_break/.lldb
+++ b/lldb/test/functionalities/conditional_break/.lldb
@@ -1,4 +1,4 @@
-file a.out
+#file a.out
breakpoint set -n c
#script import sys, os
#script sys.path.append(os.path.join(os.getcwd(), os.pardir))
diff --git a/lldb/test/functionalities/conditional_break/TestConditionalBreak.py b/lldb/test/functionalities/conditional_break/TestConditionalBreak.py
index b9625cff09b..806cb436fd6 100644
--- a/lldb/test/functionalities/conditional_break/TestConditionalBreak.py
+++ b/lldb/test/functionalities/conditional_break/TestConditionalBreak.py
@@ -114,6 +114,10 @@ class ConditionalBreakTestCase(TestBase):
if not self.TraceOn():
self.HideStdout()
+
+ # Separate out the "file a.out" command from .lldb file, for the sake of
+ # remote testsuite.
+ self.runCmd("file a.out")
self.runCmd("command source .lldb")
self.runCmd ("break list")
diff --git a/lldb/test/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjC.py b/lldb/test/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjC.py
index dcab8c1a009..2d5f2965f02 100644
--- a/lldb/test/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjC.py
+++ b/lldb/test/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjC.py
@@ -447,7 +447,7 @@ class ObjCDataFormatterTestCase(TestBase):
self.expect('frame variable bundle_string bundle_url main_bundle',
substrs = ['(NSBundle *) bundle_string = ',' @"/System/Library/Frameworks/Accelerate.framework"',
'(NSBundle *) bundle_url = ',' @"/System/Library/Frameworks/Cocoa.framework"',
- '(NSBundle *) main_bundle = ','test/functionalities/data-formatter/data-formatter-objc'])
+ '(NSBundle *) main_bundle = ','data-formatter-objc'])
def nsexception_data_formatter_commands(self):
self.expect('frame variable except0 except1 except2 except3',
diff --git a/lldb/test/functionalities/inferior-changed/TestInferiorChanged.py b/lldb/test/functionalities/inferior-changed/TestInferiorChanged.py
index b51f4ca13de..58b9ffa7fd7 100644
--- a/lldb/test/functionalities/inferior-changed/TestInferiorChanged.py
+++ b/lldb/test/functionalities/inferior-changed/TestInferiorChanged.py
@@ -44,8 +44,8 @@ class ChangedInferiorTestCase(TestBase):
def inferior_crashing(self):
"""Inferior crashes upon launching; lldb should catch the event and stop."""
- exe = os.path.join(os.getcwd(), "a.out")
- self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
+ self.exe = os.path.join(os.getcwd(), "a.out")
+ self.runCmd("file " + self.exe, CURRENT_EXECUTABLE_SET)
self.runCmd("run", RUN_SUCCEEDED)
@@ -67,6 +67,9 @@ class ChangedInferiorTestCase(TestBase):
def inferior_not_crashing(self):
"""Test lldb reloads the inferior after it was changed during the session."""
self.runCmd("process kill")
+ # Prod the lldb-platform that we have a newly built inferior ready.
+ if lldb.lldbtest_remote_sandbox:
+ self.runCmd("file " + self.exe, CURRENT_EXECUTABLE_SET)
self.runCmd("run", RUN_SUCCEEDED)
self.runCmd("process status")
diff --git a/lldb/test/functionalities/load_unload/TestLoadUnload.py b/lldb/test/functionalities/load_unload/TestLoadUnload.py
index 6fc1124a4f7..e6015a8cebe 100644
--- a/lldb/test/functionalities/load_unload/TestLoadUnload.py
+++ b/lldb/test/functionalities/load_unload/TestLoadUnload.py
@@ -27,6 +27,7 @@ class LoadUnloadTestCase(TestBase):
@skipIfFreeBSD # llvm.org/pr14424 - missing FreeBSD Makefiles/testcase support
@skipIfLinux # llvm.org/pr14424 - missing linux Makefiles/testcase support
+ @not_remote_testsuite_ready
def test_modules_search_paths(self):
"""Test target modules list after loading a different copy of the library libd.dylib, and verifies that it works with 'target modules search-paths add'."""
@@ -81,6 +82,7 @@ class LoadUnloadTestCase(TestBase):
@skipIfFreeBSD # llvm.org/pr14424 - missing FreeBSD Makefiles/testcase support
@skipIfLinux # llvm.org/pr14424 - missing linux Makefiles/testcase support
+ @not_remote_testsuite_ready
def test_dyld_library_path(self):
"""Test DYLD_LIBRARY_PATH after moving libd.dylib, which defines d_function, somewhere else."""
@@ -135,6 +137,7 @@ class LoadUnloadTestCase(TestBase):
substrs = [special_dir, os.path.basename(new_dylib)])
@skipIfFreeBSD # llvm.org/pr14424 - missing FreeBSD Makefiles/testcase support
+ @not_remote_testsuite_ready
@skipIfLinux # llvm.org/pr14424 - missing linux Makefiles/testcase support
def test_lldb_process_load_and_unload_commands(self):
"""Test that lldb process load/unload command work correctly."""
@@ -183,6 +186,7 @@ class LoadUnloadTestCase(TestBase):
self.runCmd("process continue")
@skipIfFreeBSD # llvm.org/pr14424 - missing FreeBSD Makefiles/testcase support
+ @not_remote_testsuite_ready
@skipIfLinux # llvm.org/pr14424 - missing linux Makefiles/testcase support
def test_load_unload(self):
"""Test breakpoint by name works correctly with dlopen'ing."""
@@ -224,6 +228,7 @@ class LoadUnloadTestCase(TestBase):
substrs = [' resolved, hit count = 2'])
@skipIfFreeBSD # llvm.org/pr14424 - missing FreeBSD Makefiles/testcase support
+ @not_remote_testsuite_ready
@skipIfLinux # llvm.org/pr14424 - missing linux Makefiles/testcase support
def test_step_over_load (self):
"""Test stepping over code that loads a shared library works correctly."""
diff --git a/lldb/test/functionalities/process_launch/TestProcessLaunch.py b/lldb/test/functionalities/process_launch/TestProcessLaunch.py
index 82ab22f452e..e7f83d1818b 100644
--- a/lldb/test/functionalities/process_launch/TestProcessLaunch.py
+++ b/lldb/test/functionalities/process_launch/TestProcessLaunch.py
@@ -31,6 +31,7 @@ class ProcessLaunchTestCase(TestBase):
self.buildDwarf ()
self.process_io_test ()
+ @not_remote_testsuite_ready
def process_io_test (self):
"""Test that process launch I/O redirection flags work properly."""
exe = os.path.join (os.getcwd(), "a.out")
@@ -127,6 +128,7 @@ class ProcessLaunchTestCase(TestBase):
# rdar://problem/9056462
# The process launch flag '-w' for setting the current working directory not working?
+ @not_remote_testsuite_ready
def my_working_dir_test (self):
"""Test that '-w dir' sets the working dir when running the inferior."""
exe = os.path.join (os.getcwd(), "a.out")
diff --git a/lldb/test/functionalities/watchpoint/hello_watchlocation/TestWatchLocation.py b/lldb/test/functionalities/watchpoint/hello_watchlocation/TestWatchLocation.py
index bba5990cc1d..61541dc44e8 100644
--- a/lldb/test/functionalities/watchpoint/hello_watchlocation/TestWatchLocation.py
+++ b/lldb/test/functionalities/watchpoint/hello_watchlocation/TestWatchLocation.py
@@ -90,15 +90,13 @@ class HelloWatchLocationTestCase(TestBase):
# only once. The stop reason of the thread should be watchpoint.
self.expect("thread list", STOPPED_DUE_TO_WATCHPOINT,
substrs = ['stopped',
- 'stop reason = watchpoint %d' % expected_wp_id,
- self.violating_func])
+ 'stop reason = watchpoint %d' % expected_wp_id])
# Switch to the thread stopped due to watchpoint and issue some commands.
self.switch_to_thread_with_stop_reason(lldb.eStopReasonWatchpoint)
self.runCmd("thread backtrace")
- self.runCmd("expr unsigned val = *g_char_ptr; val")
- self.expect(self.res.GetOutput().splitlines()[0], exe=False,
- endstr = ' = 1')
+ self.expect("frame info",
+ substrs = [self.violating_func])
# Use the '-v' option to do verbose listing of the watchpoint.
# The hit count should now be 1.
diff --git a/lldb/test/functionalities/watchpoint/hello_watchpoint/TestMyFirstWatchpoint.py b/lldb/test/functionalities/watchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
index 4a65baad5e4..4b4bdad2720 100644
--- a/lldb/test/functionalities/watchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
+++ b/lldb/test/functionalities/watchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
@@ -80,10 +80,11 @@ class HelloWatchpointTestCase(TestBase):
'stop reason = watchpoint'])
self.runCmd("process continue")
+
# Don't expect the read of 'global' to trigger a stop exception.
- # The process status should be 'exited'.
- self.expect("process status",
- substrs = ['exited'])
+ process = self.dbg.GetSelectedTarget().GetProcess()
+ if process.GetState() == lldb.eStateStopped:
+ self.assertFalse(lldbutil.get_stopped_thread(process, lldb.eStopReasonWatchpoint))
# Use the '-v' option to do verbose listing of the watchpoint.
# The hit count should now be 1.
diff --git a/lldb/test/lang/c/blocks/TestBlocks.py b/lldb/test/lang/c/blocks/TestBlocks.py
index 5cd5bd010d6..124f5f2ed5e 100644
--- a/lldb/test/lang/c/blocks/TestBlocks.py
+++ b/lldb/test/lang/c/blocks/TestBlocks.py
@@ -6,7 +6,7 @@ import lldb
from lldbtest import *
import lldbutil
-class AnonymousTestCase(TestBase):
+class BlocksTestCase(TestBase):
mydir = os.path.join("lang", "c", "blocks")
lines = []
diff --git a/lldb/test/lldbtest.py b/lldb/test/lldbtest.py
index c6fb79860a3..a696157427f 100644
--- a/lldb/test/lldbtest.py
+++ b/lldb/test/lldbtest.py
@@ -373,6 +373,23 @@ def dwarf_test(func):
wrapper.__dwarf_test__ = True
return wrapper
+def not_remote_testsuite_ready(func):
+ """Decorate the item as a test which is not ready yet for remote testsuite."""
+ if isinstance(func, type) and issubclass(func, unittest2.TestCase):
+ raise Exception("@not_remote_testsuite_ready can only be used to decorate a test method")
+ @wraps(func)
+ def wrapper(self, *args, **kwargs):
+ try:
+ if lldb.lldbtest_remote_sandbox:
+ self.skipTest("not ready for remote testsuite")
+ except AttributeError:
+ pass
+ return func(self, *args, **kwargs)
+
+ # Mark this function as such to separate them from the regular tests.
+ wrapper.__not_ready_for_remote_testsuite_test__ = True
+ return wrapper
+
def expectedFailureGcc(bugnumber=None, compiler_version=["=", None]):
if callable(bugnumber):
@wraps(bugnumber)
@@ -1556,6 +1573,31 @@ class TestBase(Base):
if not self.dbg:
raise Exception('Invalid debugger instance')
+ #
+ # Warning: MAJOR HACK AHEAD!
+ # If we are running testsuite remotely (by checking lldb.lldbtest_remote_sandbox),
+ # redefine the self.dbg.CreateTarget(filename) method to execute a "file filename"
+ # command, instead. See also runCmd() where it decorates the "file filename" call
+ # with additional functionality when running testsuite remotely.
+ #
+ if lldb.lldbtest_remote_sandbox:
+ def DecoratedCreateTarget(arg):
+ self.runCmd("file %s" % arg)
+ target = self.dbg.GetSelectedTarget()
+ #
+ # SBTarget.LaunchSimple() currently not working for remote platform?
+ # johnny @ 04/23/2012
+ #
+ def DecoratedLaunchSimple(argv, envp, wd):
+ self.runCmd("run")
+ return target.GetProcess()
+ target.LaunchSimple = DecoratedLaunchSimple
+
+ return target
+ self.dbg.CreateTarget = DecoratedCreateTarget
+ if self.TraceOn():
+ print "self.dbg.Create is redefined to:\n%s" % getsource_if_available(DecoratedCreateTarget)
+
# We want our debugger to be synchronous.
self.dbg.SetAsync(False)
@@ -1645,6 +1687,38 @@ class TestBase(Base):
trace = (True if traceAlways else trace)
+ # This is an opportunity to insert the 'platform target-install' command if we are told so
+ # via the settig of lldb.lldbtest_remote_sandbox.
+ if cmd.startswith("target create "):
+ cmd = cmd.replace("target create ", "file ")
+ if cmd.startswith("file ") and lldb.lldbtest_remote_sandbox:
+ with recording(self, trace) as sbuf:
+ the_rest = cmd.split("file ")[1]
+ # Split the rest of the command line.
+ atoms = the_rest.split()
+ #
+ # NOTE: This assumes that the options, if any, follow the file command,
+ # instead of follow the specified target.
+ #
+ target = atoms[-1]
+ # Now let's get the absolute pathname of our target.
+ abs_target = os.path.abspath(target)
+ print >> sbuf, "Found a file command, target (with absolute pathname)=%s" % abs_target
+ fpath, fname = os.path.split(abs_target)
+ parent_dir = os.path.split(fpath)[0]
+ platform_target_install_command = 'platform target-install %s %s' % (fpath, lldb.lldbtest_remote_sandbox)
+ print >> sbuf, "Insert this command to be run first: %s" % platform_target_install_command
+ self.ci.HandleCommand(platform_target_install_command, self.res)
+ # And this is the file command we want to execute, instead.
+ #
+ # Warning: SIDE EFFECT AHEAD!!!
+ # Populate the remote executable pathname into the lldb namespace,
+ # so that test cases can grab this thing out of the namespace.
+ #
+ lldb.lldbtest_remote_sandboxed_executable = abs_target.replace(parent_dir, lldb.lldbtest_remote_sandbox)
+ cmd = "file -P %s %s %s" % (lldb.lldbtest_remote_sandboxed_executable, the_rest.replace(target, ''), abs_target)
+ print >> sbuf, "And this is the replaced file command: %s" % cmd
+
running = (cmd.startswith("run") or cmd.startswith("process launch"))
for i in range(self.maxLaunchCount if running else 1):
diff --git a/lldb/test/macosx/universal/TestUniversal.py b/lldb/test/macosx/universal/TestUniversal.py
index 0a5cf9c1d02..59c21e11e60 100644
--- a/lldb/test/macosx/universal/TestUniversal.py
+++ b/lldb/test/macosx/universal/TestUniversal.py
@@ -35,7 +35,6 @@ class UniversalTestCase(TestBase):
process = target.LaunchSimple(None, None, os.getcwd())
self.assertTrue(process, PROCESS_IS_VALID)
- # rdar://problem/8972204 AddressByteSize of 32-bit process should be 4, got 8 instead.
@unittest2.skipUnless(sys.platform.startswith("darwin") and os.uname()[4] in ['i386', 'x86_64'],
"requires Darwin & i386")
def test_process_launch_for_universal(self):
@@ -74,7 +73,7 @@ class UniversalTestCase(TestBase):
self.runCmd("continue")
# Now specify i386 as the architecture for "testit".
- self.expect("file " + exe + " -a i386", CURRENT_EXECUTABLE_SET,
+ self.expect("file -a i386 " + exe, CURRENT_EXECUTABLE_SET,
startstr = "Current executable set to ",
substrs = ["testit' (i386)."])
diff --git a/lldb/test/python_api/hello_world/TestHelloWorld.py b/lldb/test/python_api/hello_world/TestHelloWorld.py
index d4fabbbb25d..d1e7d89114d 100644
--- a/lldb/test/python_api/hello_world/TestHelloWorld.py
+++ b/lldb/test/python_api/hello_world/TestHelloWorld.py
@@ -33,6 +33,7 @@ class HelloWorldTestCase(TestBase):
self.setTearDownCleanup(dictionary=self.d)
self.hello_world_python()
+ @not_remote_testsuite_ready
@unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
@python_api_test
@dsym_test
@@ -45,6 +46,7 @@ class HelloWorldTestCase(TestBase):
self.setTearDownCleanup(dictionary=self.d)
self.hello_world_attach_with_id_api()
+ @not_remote_testsuite_ready
@python_api_test
@dwarf_test
def test_with_dwarf_and_attach_to_process_with_id_api(self):
@@ -56,6 +58,7 @@ class HelloWorldTestCase(TestBase):
self.setTearDownCleanup(dictionary=self.d)
self.hello_world_attach_with_id_api()
+ @not_remote_testsuite_ready
@unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
@python_api_test
@dsym_test
@@ -69,6 +72,7 @@ class HelloWorldTestCase(TestBase):
self.hello_world_attach_with_name_api()
@expectedFailureFreeBSD('llvm.org/pr16699') # attach by name not on FreeBSD yet
+ @not_remote_testsuite_ready
@python_api_test
@dwarf_test
def test_with_dwarf_and_attach_to_process_with_name_api(self):
diff --git a/lldb/test/python_api/process/TestProcessAPI.py b/lldb/test/python_api/process/TestProcessAPI.py
index 1d8c9e16847..016fc1271cd 100644
--- a/lldb/test/python_api/process/TestProcessAPI.py
+++ b/lldb/test/python_api/process/TestProcessAPI.py
@@ -78,7 +78,6 @@ class ProcessAPITestCase(TestBase):
def read_memory(self):
"""Test Python SBProcess.ReadMemory() API."""
exe = os.path.join(os.getcwd(), "a.out")
- self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
target = self.dbg.CreateTarget(exe)
self.assertTrue(target, VALID_TARGET)
@@ -160,7 +159,6 @@ class ProcessAPITestCase(TestBase):
def write_memory(self):
"""Test Python SBProcess.WriteMemory() API."""
exe = os.path.join(os.getcwd(), "a.out")
- self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
target = self.dbg.CreateTarget(exe)
self.assertTrue(target, VALID_TARGET)
@@ -211,7 +209,6 @@ class ProcessAPITestCase(TestBase):
def access_my_int(self):
"""Test access 'my_int' using Python SBProcess.GetByteOrder() and other APIs."""
exe = os.path.join(os.getcwd(), "a.out")
- self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
target = self.dbg.CreateTarget(exe)
self.assertTrue(target, VALID_TARGET)
@@ -300,7 +297,6 @@ class ProcessAPITestCase(TestBase):
def remote_launch_should_fail(self):
"""Test SBProcess.RemoteLaunch() API with a process not in eStateConnected, and it should fail."""
exe = os.path.join(os.getcwd(), "a.out")
- self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
target = self.dbg.CreateTarget(exe)
self.assertTrue(target, VALID_TARGET)
diff --git a/lldb/test/python_api/target/TestTargetAPI.py b/lldb/test/python_api/target/TestTargetAPI.py
index 27dd3799709..8f2a6dee01b 100644
--- a/lldb/test/python_api/target/TestTargetAPI.py
+++ b/lldb/test/python_api/target/TestTargetAPI.py
@@ -195,7 +195,7 @@ class TargetAPITestCase(TestBase):
self.expect(desc, exe=False,
substrs = ['a.out', 'Target', 'Module', 'Breakpoint'])
-
+ @not_remote_testsuite_ready
def launch_new_process_and_redirect_stdout(self):
"""Exercise SBTaget.Launch() API with redirected stdout."""
exe = os.path.join(os.getcwd(), "a.out")
diff --git a/lldb/test/settings/TestSettings.py b/lldb/test/settings/TestSettings.py
index fe75afc6b3b..b3642c4eb1e 100644
--- a/lldb/test/settings/TestSettings.py
+++ b/lldb/test/settings/TestSettings.py
@@ -205,6 +205,7 @@ class SettingsCommandTestCase(TestBase):
self.buildDwarf()
self.pass_run_args_and_env_vars()
+ @not_remote_testsuite_ready
def pass_run_args_and_env_vars(self):
"""Test that run-args and env-vars are passed to the launched process."""
exe = os.path.join(os.getcwd(), "a.out")
@@ -231,6 +232,7 @@ class SettingsCommandTestCase(TestBase):
"argv[3] matches",
"Environment variable 'MY_ENV_VAR' successfully passed."])
+ @not_remote_testsuite_ready
def test_pass_host_env_vars(self):
"""Test that the host env vars are passed to the launched process."""
self.buildDefault()
@@ -262,6 +264,7 @@ class SettingsCommandTestCase(TestBase):
substrs = ["The host environment variable 'MY_HOST_ENV_VAR1' successfully passed.",
"The host environment variable 'MY_HOST_ENV_VAR2' successfully passed."])
+ @not_remote_testsuite_ready
def test_set_error_output_path(self):
"""Test that setting target.error/output-path for the launched process works."""
self.buildDefault()
OpenPOWER on IntegriCloud