diff options
Diffstat (limited to 'lldb/test')
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() |