tatyana-krasnukha created this revision.
tatyana-krasnukha added reviewers: JDevlieghere, labath.
tatyana-krasnukha added a project: LLDB.
Herald added subscribers: lldb-commits, teemperor.
Some tests set settings and don't clean them up, this leads to side effects in
other tests.
The patch adds wrappers that will set/append a setting and add a tear-down hook
to clean/remove/restore its old value during the cleanup.
Repository:
rLLDB LLDB
https://reviews.llvm.org/D74903
Files:
lldb/packages/Python/lldbsuite/test/lldbtest.py
lldb/test/API/api/check_public_api_headers/TestPublicAPIHeaders.py
lldb/test/API/benchmarks/continue/TestBenchmarkContinue.py
lldb/test/API/benchmarks/libcxxlist/TestBenchmarkLibcxxList.py
lldb/test/API/benchmarks/libcxxmap/TestBenchmarkLibcxxMap.py
lldb/test/API/commands/expression/import-std-module/basic/TestImportStdModule.py
lldb/test/API/commands/expression/import-std-module/conflicts/TestStdModuleWithConflicts.py
lldb/test/API/commands/expression/import-std-module/deque-basic/TestDequeFromStdModule.py
lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule.py
lldb/test/API/commands/expression/import-std-module/empty-module/TestEmptyStdModule.py
lldb/test/API/commands/expression/import-std-module/forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule.py
lldb/test/API/commands/expression/import-std-module/forward_list/TestForwardListFromStdModule.py
lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/TestDbgInfoContentListFromStdModule.py
lldb/test/API/commands/expression/import-std-module/list/TestListFromStdModule.py
lldb/test/API/commands/expression/import-std-module/no-std-module/TestMissingStdModule.py
lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
lldb/test/API/commands/expression/import-std-module/shared_ptr-dbg-info-content/TestSharedPtrDbgInfoContentFromStdModule.py
lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
lldb/test/API/commands/expression/import-std-module/stack/TestStackFromStdModule.py
lldb/test/API/commands/expression/import-std-module/sysroot/TestStdModuleSysroot.py
lldb/test/API/commands/expression/import-std-module/unique_ptr-dbg-info-content/TestUniquePtrDbgInfoContent.py
lldb/test/API/commands/expression/import-std-module/unique_ptr/TestUniquePtrFromStdModule.py
lldb/test/API/commands/expression/import-std-module/vector-bool/TestVectorBoolFromStdModule.py
lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
lldb/test/API/commands/expression/import-std-module/vector/TestVectorFromStdModule.py
lldb/test/API/commands/expression/import-std-module/weak_ptr-dbg-info-content/TestDbgInfoContentWeakPtrFromStdModule.py
lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
lldb/test/API/commands/expression/ir-interpreter/TestIRInterpreter.py
lldb/test/API/commands/expression/save_jit_objects/TestSaveJITObjects.py
lldb/test/API/commands/expression/test/TestExprs.py
lldb/test/API/commands/expression/top-level/TestTopLevelExprs.py
lldb/test/API/commands/expression/weak_symbols/TestWeakSymbols.py
lldb/test/API/commands/help/TestHelp.py
lldb/test/API/commands/process/launch/TestProcessLaunch.py
lldb/test/API/commands/watchpoints/watchpoint_size/TestWatchpointSizes.py
lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
lldb/test/API/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py
lldb/test/API/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.py
lldb/test/API/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py
lldb/test/API/functionalities/breakpoint/inlined_breakpoints/TestInlinedBreakpoints.py
lldb/test/API/functionalities/breakpoint/require_hw_breakpoints/TestRequireHWBreakpoints.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/TestDataFormatterLibccMultiMap.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/TestDataFormatterUnordered.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/iterator/TestDataFormatterStdIterator.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/TestDataFormatterStdString.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
lldb/test/API/functionalities/exec/TestExec.py
lldb/test/API/functionalities/float-display/main.c
lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
lldb/test/API/functionalities/gdb_remote_client/TestRecognizeBreakpoint.py
lldb/test/API/functionalities/gdb_remote_client/TestThreadSelectionBug.py
lldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py
lldb/test/API/functionalities/load_unload/TestLoadUnload.py
lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
lldb/test/API/functionalities/postmortem/mach-core/TestMachCore.py
lldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py
lldb/test/API/functionalities/source-map/TestTargetSourceMap.py
lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
lldb/test/API/functionalities/thread/backtrace_limit/TestBacktraceLimit.py
lldb/test/API/lang/c/shared_lib/TestSharedLib.py
lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
lldb/test/API/lang/cpp/type_lookup/TestCppTypeLookup.py
lldb/test/API/lang/mixed/TestMixedLanguages.py
lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
lldb/test/API/lang/objc/modules-cache/TestClangModulesCache.py
lldb/test/API/lang/objc/modules-incomplete/TestIncompleteModules.py
lldb/test/API/lang/objc/modules-inline-functions/TestModulesInlineFunctions.py
lldb/test/API/macosx/add-dsym/TestAddDsymMidExecutionCommand.py
lldb/test/API/macosx/find-dsym/deep-bundle/TestDeepBundle.py
lldb/test/API/source-manager/TestSourceManager.py
lldb/test/API/types/AbstractBase.py
Index: lldb/test/API/types/AbstractBase.py
===================================================================
--- lldb/test/API/types/AbstractBase.py
+++ lldb/test/API/types/AbstractBase.py
@@ -143,10 +143,7 @@
# This test uses a #include of "basic_type.cpp" so we need to enable
# always setting inlined breakpoints.
- self.runCmd('settings set target.inline-breakpoint-strategy always')
- # And add hooks to restore the settings during tearDown().
- self.addTearDownHook(lambda: self.runCmd(
- "settings set target.inline-breakpoint-strategy headers"))
+ self.set_setting("target.inline-breakpoint-strategy", "always")
# Bring the program to the point where we can issue a series of
# 'frame variable --show-types' command.
@@ -239,10 +236,7 @@
# This test uses a #include of "basic_type.cpp" so we need to enable
# always setting inlined breakpoints.
- self.runCmd('settings set target.inline-breakpoint-strategy always')
- # And add hooks to restore the settings during tearDown().
- self.addTearDownHook(lambda: self.runCmd(
- "settings set target.inline-breakpoint-strategy headers"))
+ self.set_setting("target.inline-breakpoint-strategy", "always")
# Bring the program to the point where we can issue a series of
# 'expr' command.
Index: lldb/test/API/source-manager/TestSourceManager.py
===================================================================
--- lldb/test/API/source-manager/TestSourceManager.py
+++ lldb/test/API/source-manager/TestSourceManager.py
@@ -70,9 +70,9 @@
# Setup whether we should use ansi escape sequences, including color
# and styles such as underline.
self.dbg.SetUseColor(use_color)
- # Disable syntax highlighting if needed.
- self.runCmd("settings set highlight-source " + str(highlight_source).lower())
+ # Disable syntax highlighting if needed.
+ self.set_setting("highlight-source", str(highlight_source).lower())
filespec = lldb.SBFileSpec(self.file, False)
source_mgr = self.dbg.GetSourceManager()
@@ -161,8 +161,8 @@
builddir_real = os.path.realpath(self.getBuildDir())
hidden_real = os.path.realpath(hidden)
# Set target.source-map settings.
- self.runCmd("settings set target.source-map %s %s" %
- (builddir_real, hidden_real))
+ self.set_setting("target.source-map",
+ "%s %s" % (builddir_real, hidden_real))
# And verify that the settings work.
self.expect("settings show target.source-map",
substrs=[builddir_real, hidden_real])
@@ -245,8 +245,8 @@
# 'make -C' has resolved current directory to its realpath form.
builddir_real = os.path.realpath(self.getBuildDir())
hidden_real = os.path.realpath(hidden)
- self.runCmd("settings set target.source-map %s %s" %
- (builddir_real, hidden_real))
+ self.set_setting("target.source-map",
+ "%s %s" % (builddir_real, hidden_real))
exe = self.getBuildArtifact("a.out")
main = os.path.join(builddir_real, "hidden", "main-copy.c")
Index: lldb/test/API/macosx/find-dsym/deep-bundle/TestDeepBundle.py
===================================================================
--- lldb/test/API/macosx/find-dsym/deep-bundle/TestDeepBundle.py
+++ lldb/test/API/macosx/find-dsym/deep-bundle/TestDeepBundle.py
@@ -45,8 +45,9 @@
# Since the library that was dlopen()'ed is now removed, lldb will need to find the
# binary & dSYM via target.exec-search-paths
- settings_str = "settings set target.exec-search-paths " + self.get_process_working_directory() + "/hide.app"
- self.runCmd(settings_str)
+ self.set_setting("target.exec-search-paths",
+ self.get_process_working_directory() + "/hide.app")
+
self.runCmd("process attach -p " + str(popen.pid))
target = self.dbg.GetSelectedTarget()
Index: lldb/test/API/macosx/add-dsym/TestAddDsymMidExecutionCommand.py
===================================================================
--- lldb/test/API/macosx/add-dsym/TestAddDsymMidExecutionCommand.py
+++ lldb/test/API/macosx/add-dsym/TestAddDsymMidExecutionCommand.py
@@ -30,7 +30,7 @@
main_bp = self.target.BreakpointCreateByName("main", "a.out")
self.assertTrue(main_bp, VALID_BREAKPOINT)
- self.runCmd("settings set target.disable-aslr false")
+ self.set_setting("target.disable-aslr", "false")
self.process = self.target.LaunchSimple(
None, None, self.get_process_working_directory())
self.assertTrue(self.process, PROCESS_IS_VALID)
Index: lldb/test/API/lang/objc/modules-inline-functions/TestModulesInlineFunctions.py
===================================================================
--- lldb/test/API/lang/objc/modules-inline-functions/TestModulesInlineFunctions.py
+++ lldb/test/API/lang/objc/modules-inline-functions/TestModulesInlineFunctions.py
@@ -26,10 +26,8 @@
lldbutil.run_to_source_breakpoint(
self, '// Set breakpoint here.', lldb.SBFileSpec('main.m'))
- self.runCmd(
- "settings set target.clang-module-search-paths \"" +
- self.getSourceDir() +
- "\"")
+ self.set_setting("target.clang-module-search-paths",
+ "'%s'" % (self.getSourceDir()))
self.expect("expr @import myModule; 3", VARIABLES_DISPLAYED_CORRECTLY,
substrs=["int", "3"])
Index: lldb/test/API/lang/objc/modules-incomplete/TestIncompleteModules.py
===================================================================
--- lldb/test/API/lang/objc/modules-incomplete/TestIncompleteModules.py
+++ lldb/test/API/lang/objc/modules-incomplete/TestIncompleteModules.py
@@ -39,10 +39,8 @@
self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
substrs=[' resolved, hit count = 1'])
- self.runCmd(
- "settings set target.clang-module-search-paths \"" +
- self.getSourceDir() +
- "\"")
+ self.set_setting("target.clang-module-search-paths",
+ "'%s'" % (self.getSourceDir()))
self.expect("expr @import myModule; 3", VARIABLES_DISPLAYED_CORRECTLY,
substrs=["int", "3"])
Index: lldb/test/API/lang/objc/modules-cache/TestClangModulesCache.py
===================================================================
--- lldb/test/API/lang/objc/modules-cache/TestClangModulesCache.py
+++ lldb/test/API/lang/objc/modules-cache/TestClangModulesCache.py
@@ -20,15 +20,15 @@
def test_expr(self):
self.build()
self.main_source_file = lldb.SBFileSpec("main.m")
- self.runCmd("settings set target.auto-import-clang-modules true")
+ self.set_setting("settings set target.auto-import-clang-modules", "true")
mod_cache = self.getBuildArtifact("my-clang-modules-cache")
if os.path.isdir(mod_cache):
shutil.rmtree(mod_cache)
self.assertFalse(os.path.isdir(mod_cache),
"module cache should not exist")
- self.runCmd('settings set symbols.clang-modules-cache-path "%s"' % mod_cache)
- self.runCmd('settings set target.clang-module-search-paths "%s"'
- % self.getSourceDir())
+ self.set_setting("symbols.clang-modules-cache-path", '"%s"' % mod_cache,
+ value_to_restore = configuration.lldb_module_cache_dir)
+ self.set_setting("target.clang-module-search-paths", self.getSourceDir())
(target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(
self, "Set breakpoint here", self.main_source_file)
self.runCmd("expr @import Foo")
Index: lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
===================================================================
--- lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
+++ lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
@@ -42,7 +42,7 @@
self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
substrs=[' resolved, hit count = 1'])
- self.runCmd("settings set target.auto-import-clang-modules true")
+ self.set_setting("target.auto-import-clang-modules", "true")
self.expect("p getpid()", VARIABLES_DISPLAYED_CORRECTLY,
substrs=["pid_t"])
Index: lldb/test/API/lang/mixed/TestMixedLanguages.py
===================================================================
--- lldb/test/API/lang/mixed/TestMixedLanguages.py
+++ lldb/test/API/lang/mixed/TestMixedLanguages.py
@@ -17,13 +17,6 @@
exe = self.getBuildArtifact("a.out")
self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
- # Execute the cleanup function during test case tear down
- # to restore the frame format.
- def cleanup():
- self.runCmd(
- "settings set frame-format %s" %
- self.format_string, check=False)
- self.addTearDownHook(cleanup)
self.runCmd("settings show frame-format")
m = re.match(
'^frame-format \(format-string\) = "(.*)\"$',
@@ -33,7 +26,7 @@
# Change the default format to print the language.
format_string = "frame #${frame.index}: ${frame.pc}{ ${module.file.basename}\`${function.name}{${function.pc-offset}}}{, lang=${language}}\n"
- self.runCmd("settings set frame-format %s" % format_string)
+ self.set_setting("frame-format", format_string, value_to_restore = self.format_string)
self.expect("settings show frame-format", SETTING_MSG("frame-format"),
substrs=[format_string])
Index: lldb/test/API/lang/cpp/type_lookup/TestCppTypeLookup.py
===================================================================
--- lldb/test/API/lang/cpp/type_lookup/TestCppTypeLookup.py
+++ lldb/test/API/lang/cpp/type_lookup/TestCppTypeLookup.py
@@ -40,7 +40,7 @@
# We are testing LLDB's type lookup machinery, but if we inject local
# variables, the types for those will be found because they have been
# imported through the variable, not because the type lookup worked.
- self.runCmd("settings set target.experimental.inject-local-vars false")
+ self.set_setting("target.experimental.inject-local-vars", "false")
# Make sure we don't accidentally accept structures that exist only
# in namespaces when evaluating expressions with top level types.
Index: lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
===================================================================
--- lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
+++ lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
@@ -21,20 +21,12 @@
# LD_LIBRARY_PATH must be set so the shared libraries are found on
# startup
if "LD_LIBRARY_PATH" in os.environ:
- self.runCmd(
- "settings set target.env-vars " +
- self.dylibPath +
- "=" +
- os.environ["LD_LIBRARY_PATH"] +
- ":" +
- self.getBuildDir())
+ self.append_setting("target.env-vars",
+ self.dylibPath,
+ os.environ["LD_LIBRARY_PATH"] + ":" + self.getBuildDir())
else:
- self.runCmd("settings set target.env-vars " +
- self.dylibPath + "=" + self.getBuildDir())
- self.addTearDownHook(
- lambda: self.runCmd(
- "settings remove target.env-vars " +
- self.dylibPath))
+ self.append_setting("target.env-vars",
+ self.dylibPath, self.getBuildDir())
# TLS works differently on Windows, this would need to be implemented
# separately.
Index: lldb/test/API/lang/c/shared_lib/TestSharedLib.py
===================================================================
--- lldb/test/API/lang/c/shared_lib/TestSharedLib.py
+++ lldb/test/API/lang/c/shared_lib/TestSharedLib.py
@@ -75,7 +75,7 @@
target = self.dbg.CreateTarget(self.getBuildArtifact("a.out"))
self.assertTrue(target, VALID_TARGET)
- self.runCmd("settings set target.preload-symbols " + str(preload_symbols).lower())
+ self.set_setting("target.preload-symbols", str(preload_symbols).lower())
# Break inside the foo function which takes a bar_ptr argument.
lldbutil.run_break_set_by_file_and_line(
Index: lldb/test/API/functionalities/thread/backtrace_limit/TestBacktraceLimit.py
===================================================================
--- lldb/test/API/functionalities/thread/backtrace_limit/TestBacktraceLimit.py
+++ lldb/test/API/functionalities/thread/backtrace_limit/TestBacktraceLimit.py
@@ -20,8 +20,5 @@
self.main_source_file = lldb.SBFileSpec("main.cpp")
(target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self,
"Set a breakpoint here", self.main_source_file)
- interp = self.dbg.GetCommandInterpreter()
- result = lldb.SBCommandReturnObject()
- interp.HandleCommand("settings set target.process.thread.max-backtrace-depth 30", result)
- self.assertEqual(True, result.Succeeded())
+ self.set_setting("target.process.thread.max-backtrace-depth", "30")
self.assertEqual(30, thread.GetNumFrames())
Index: lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
===================================================================
--- lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
+++ lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
@@ -61,13 +61,7 @@
TestBase.setUp(self)
self.main_source = "with-debug.c"
self.main_source_spec = lldb.SBFileSpec("with-debug.c")
- self.dbg.HandleCommand(
- "settings set target.process.thread.step-out-avoid-nodebug true")
-
- def tearDown(self):
- self.dbg.HandleCommand(
- "settings set target.process.thread.step-out-avoid-nodebug false")
- TestBase.tearDown(self)
+ self.set_setting("target.process.thread.step-out-avoid-nodebug", "true")
def hit_correct_line(self, pattern):
target_line = line_number(self.main_source, pattern)
Index: lldb/test/API/functionalities/source-map/TestTargetSourceMap.py
===================================================================
--- lldb/test/API/functionalities/source-map/TestTargetSourceMap.py
+++ lldb/test/API/functionalities/source-map/TestTargetSourceMap.py
@@ -25,8 +25,7 @@
bp = target.BreakpointCreateByLocation(src_path, 2)
self.assertEquals(bp.GetNumLocations(), 0,
"make sure no breakpoints were resolved without map")
- src_map_cmd = 'settings set target.source-map . "%s"' % (src_dir)
- self.dbg.HandleCommand(src_map_cmd)
+ self.set_setting('target.source-map', '. "%s"' % (src_dir))
# Set a breakpoint after we remap source and verify that it succeeds
bp = target.BreakpointCreateByLocation(src_path, 2)
Index: lldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py
===================================================================
--- lldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py
+++ lldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py
@@ -154,8 +154,8 @@
"""
so_path = self.getBuildArtifact("libuuidmatch.so")
self.yaml2obj("libuuidmatch.yaml", so_path)
- cmd = 'settings set target.exec-search-paths "%s"' % (os.path.dirname(so_path))
- self.dbg.HandleCommand(cmd)
+ self.set_setting('target.exec-search-paths',
+ '"%s"' % (os.path.dirname(so_path)))
modules = self.get_minidump_modules("linux-arm-partial-uuids-match.yaml")
self.assertEqual(1, len(modules))
self.verify_module(modules[0], so_path,
@@ -175,8 +175,8 @@
"""
so_path = self.getBuildArtifact("libuuidmismatch.so")
self.yaml2obj("libuuidmismatch.yaml", so_path)
- cmd = 'settings set target.exec-search-paths "%s"' % (os.path.dirname(so_path))
- self.dbg.HandleCommand(cmd)
+ self.set_setting('target.exec-search-paths',
+ '"%s"' % (os.path.dirname(so_path)))
modules = self.get_minidump_modules("linux-arm-partial-uuids-mismatch.yaml")
self.assertEqual(1, len(modules))
self.verify_module(modules[0],
Index: lldb/test/API/functionalities/postmortem/mach-core/TestMachCore.py
===================================================================
--- lldb/test/API/functionalities/postmortem/mach-core/TestMachCore.py
+++ lldb/test/API/functionalities/postmortem/mach-core/TestMachCore.py
@@ -41,9 +41,8 @@
# Load OS plugin.
python_os_plugin_path = os.path.join(self.getSourceDir(),
'operating_system.py')
- command = "settings set target.process.python-os-plugin-path '{}'".format(
- python_os_plugin_path)
- self.dbg.HandleCommand(command)
+ self.set_setting("target.process.python-os-plugin-path",
+ "'%s'" % (python_os_plugin_path))
# Load core.
process = target.LoadCore(self.getBuildArtifact("test.core"))
Index: lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
===================================================================
--- lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
+++ lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
@@ -80,8 +80,8 @@
# Now load the python OS plug-in which should update the thread list and we should have
# OS plug-in created threads with the IDs: 0x111111111, 0x222222222,
# 0x333333333
- command = "settings set target.process.python-os-plugin-path '%s'" % python_os_plugin_path
- self.dbg.HandleCommand(command)
+ self.set_setting("target.process.python-os-plugin-path",
+ "'%s'" % (python_os_plugin_path))
# Verify our OS plug-in threads showed up
thread = process.GetThreadByID(0x111111111)
@@ -156,8 +156,8 @@
# Now load the python OS plug-in which should update the thread list and we should have
# OS plug-in created threads with the IDs: 0x111111111, 0x222222222,
# 0x333333333
- command = "settings set target.process.python-os-plugin-path '%s'" % python_os_plugin_path
- self.dbg.HandleCommand(command)
+ self.set_setting("target.process.python-os-plugin-path",
+ "'%s'" % (python_os_plugin_path))
# Verify our OS plug-in threads showed up
thread = process.GetThreadByID(0x111111111)
Index: lldb/test/API/functionalities/load_unload/TestLoadUnload.py
===================================================================
--- lldb/test/API/functionalities/load_unload/TestLoadUnload.py
+++ lldb/test/API/functionalities/load_unload/TestLoadUnload.py
@@ -37,23 +37,14 @@
lldbutil.mkdir_p(self.getBuildArtifact("hidden"))
if not self.platformIsDarwin():
if not lldb.remote_platform and "LD_LIBRARY_PATH" in os.environ:
- self.runCmd(
- "settings set target.env-vars " +
- self.dylibPath +
- "=" +
- os.environ["LD_LIBRARY_PATH"] +
- ":" +
- self.getBuildDir())
+ dyn_lib_path = os.environ["LD_LIBRARY_PATH"] + ":" + self.getBuildDir()
+ self.append_setting("target.env-vars", self.dylibPath, dyn_lib_path)
else:
if lldb.remote_platform:
wd = lldb.remote_platform.GetWorkingDirectory()
else:
wd = self.getBuildDir()
- self.runCmd(
- "settings set target.env-vars " +
- self.dylibPath +
- "=" +
- wd)
+ self.append_setting("target.env-vars", self.dylibPath, wd)
def copy_shlibs_to_remote(self, hidden_dir=False):
""" Copies the shared libs required by this test suite to remote.
@@ -93,10 +84,8 @@
(wd, err.GetCString()))
def setSvr4Support(self, enabled):
- self.runCmd(
- "settings set plugin.process.gdb-remote.use-libraries-svr4 {enabled}".format(
- enabled="true" if enabled else "false"
- )
+ self.set_setting("plugin.process.gdb-remote.use-libraries-svr4",
+ "true" if enabled else "false"
)
# libloadunload_d.so does not appear in the image list because executable
@@ -142,16 +131,11 @@
# Obliterate traces of libd from the old location.
os.remove(old_dylib)
# Inform (DY)LD_LIBRARY_PATH of the new path, too.
- env_cmd_string = "settings set target.env-vars " + self.dylibPath + "=" + new_dir
if self.TraceOn():
- print("Set environment to: ", env_cmd_string)
- self.runCmd(env_cmd_string)
+ print("Set environment to: ", self.dylibPath + "=" + new_dir)
+ self.append_setting("target.env-vars", self.dylibPath, new_dir)
self.runCmd("settings show target.env-vars")
- remove_dyld_path_cmd = "settings remove target.env-vars " + self.dylibPath
- self.addTearDownHook(
- lambda: self.dbg.HandleCommand(remove_dyld_path_cmd))
-
self.runCmd("run")
self.expect(
@@ -195,11 +179,6 @@
new_dir = os.path.join(wd, special_dir)
old_dylib = os.path.join(old_dir, dylibName)
- remove_dyld_path_cmd = "settings remove target.env-vars " \
- + self.dylibPath
- self.addTearDownHook(
- lambda: self.dbg.HandleCommand(remove_dyld_path_cmd))
-
# For now we don't track (DY)LD_LIBRARY_PATH, so the old
# library will be in the modules list.
self.expect("target modules list",
@@ -214,11 +193,9 @@
self.runCmd("continue")
# Add the hidden directory first in the search path.
- env_cmd_string = ("settings set target.env-vars %s=%s" %
- (self.dylibPath, new_dir))
if not self.platformIsDarwin():
- env_cmd_string += ":" + wd
- self.runCmd(env_cmd_string)
+ new_dir += ":" + wd
+ self.append_setting("target.env-vars", self.dylibPath, new_dir)
# This time, the hidden library should be picked up.
self.expect("run", substrs=["return", "12345"])
Index: lldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py
===================================================================
--- lldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py
+++ lldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py
@@ -64,12 +64,12 @@
logfile = self.gen_log_file()
self.runCmd("log enable -f %s lldb jit" % (logfile))
- self.runCmd("settings set plugin.jit-loader.gdb.enable on")
def cleanup():
self.runCmd("log disable lldb")
- self.runCmd("settings set plugin.jit-loader.gdb.enable default")
self.addTearDownHook(cleanup)
+ self.set_setting("plugin.jit-loader.gdb.enable", "on")
+
# launch the process
target = self.dbg.CreateTarget(exe)
self.assertTrue(target, VALID_TARGET)
@@ -94,12 +94,12 @@
logfile = self.gen_log_file()
self.runCmd("log enable -f %s lldb jit" % (logfile))
- self.runCmd("settings set plugin.jit-loader.gdb.enable off")
def cleanup():
self.runCmd("log disable lldb")
- self.runCmd("settings set plugin.jit-loader.gdb.enable default")
self.addTearDownHook(cleanup)
+ self.set_setting("plugin.jit-loader.gdb.enable", "off")
+
# launch the process
target = self.dbg.CreateTarget(exe)
self.assertTrue(target, VALID_TARGET)
Index: lldb/test/API/functionalities/gdb_remote_client/TestThreadSelectionBug.py
===================================================================
--- lldb/test/API/functionalities/gdb_remote_client/TestThreadSelectionBug.py
+++ lldb/test/API/functionalities/gdb_remote_client/TestThreadSelectionBug.py
@@ -16,9 +16,8 @@
process = self.connect(target)
python_os_plugin_path = os.path.join(self.getSourceDir(),
'operating_system.py')
- command = "settings set target.process.python-os-plugin-path '{}'".format(
- python_os_plugin_path)
- self.dbg.HandleCommand(command)
+ self.set_setting("target.process.python-os-plugin-path",
+ "'%s'" % (python_os_plugin_path))
self.assertTrue(process, PROCESS_IS_VALID)
self.assertEqual(process.GetNumThreads(), 3)
Index: lldb/test/API/functionalities/gdb_remote_client/TestRecognizeBreakpoint.py
===================================================================
--- lldb/test/API/functionalities/gdb_remote_client/TestRecognizeBreakpoint.py
+++ lldb/test/API/functionalities/gdb_remote_client/TestRecognizeBreakpoint.py
@@ -94,9 +94,8 @@
python_os_plugin_path = os.path.join(self.getSourceDir(),
'operating_system_2.py')
- command ="settings set target.process.python-os-plugin-path '{}'".format(
- python_os_plugin_path)
- self.runCmd(command)
+ self.set_setting("target.process.python-os-plugin-path",
+ "'%s'" % (python_os_plugin_path))
self.server.responder = MyResponder()
target = self.dbg.CreateTarget("")
Index: lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
===================================================================
--- lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
+++ lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
@@ -76,10 +76,7 @@
def test_read_registers_using_g_packets(self):
"""Test reading registers using 'g' packets (default behavior)"""
- self.dbg.HandleCommand(
- "settings set plugin.process.gdb-remote.use-g-packet-for-reading true")
- self.addTearDownHook(lambda:
- self.runCmd("settings set plugin.process.gdb-remote.use-g-packet-for-reading false"))
+ self.set_setting("plugin.process.gdb-remote.use-g-packet-for-reading", "true")
self.server.responder = self.gPacketResponder()
target = self.createTarget("a.yaml")
process = self.connect(target)
@@ -93,8 +90,7 @@
def test_read_registers_using_p_packets(self):
"""Test reading registers using 'p' packets"""
- self.dbg.HandleCommand(
- "settings set plugin.process.gdb-remote.use-g-packet-for-reading false")
+ self.set_setting("plugin.process.gdb-remote.use-g-packet-for-reading", "false")
target = self.createTarget("a.yaml")
process = self.connect(target)
Index: lldb/test/API/functionalities/float-display/main.c
===================================================================
--- lldb/test/API/functionalities/float-display/main.c
+++ lldb/test/API/functionalities/float-display/main.c
@@ -79,7 +79,7 @@
//% # Now change the setting to print all the zeroes.
//% # Note that changing this setting should invalidate the data visualizer
//% # cache so that the new setting is used in the following calls.
- //% self.runCmd("settings set target.max-zero-padding-in-float-format 9999")
+ //% self.set_setting("target.max-zero-padding-in-float-format", "9999")
//% self.expect("frame variable f_neg3", substrs=["0.00123456"])
//% self.expect("frame variable f_neg4", substrs=["0.000123456"])
//% self.expect("frame variable f_neg5", substrs=["0.0000123456"])
Index: lldb/test/API/functionalities/exec/TestExec.py
===================================================================
--- lldb/test/API/functionalities/exec/TestExec.py
+++ lldb/test/API/functionalities/exec/TestExec.py
@@ -56,13 +56,7 @@
if self.TraceOn():
self.runCmd("settings show target.process.stop-on-exec", check=False)
if skip_exec:
- self.dbg.HandleCommand("settings set target.process.stop-on-exec false")
- def cleanup():
- self.runCmd("settings set target.process.stop-on-exec false",
- check=False)
-
- # Execute the cleanup function during test case tear down.
- self.addTearDownHook(cleanup)
+ self.set_setting("target.process.stop-on-exec", "false")
# The stop reason of the thread should be breakpoint.
self.assertTrue(process.GetState() == lldb.eStateStopped,
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
@@ -43,9 +43,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py
@@ -43,9 +43,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/TestDataFormatterStdString.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/TestDataFormatterStdString.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/TestDataFormatterStdString.py
@@ -44,9 +44,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
@@ -43,9 +43,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
@@ -47,9 +47,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/iterator/TestDataFormatterStdIterator.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/iterator/TestDataFormatterStdIterator.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/iterator/TestDataFormatterStdIterator.py
@@ -43,9 +43,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
@@ -61,9 +61,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py
@@ -43,9 +43,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/TestDataFormatterUnordered.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/TestDataFormatterUnordered.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/TestDataFormatterUnordered.py
@@ -40,9 +40,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
@@ -46,9 +46,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
is_64_bit = self.process().GetAddressByteSize() == 8
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py
@@ -56,9 +56,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py
@@ -56,9 +56,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/TestDataFormatterLibccMultiMap.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/TestDataFormatterLibccMultiMap.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/TestDataFormatterLibccMultiMap.py
@@ -43,9 +43,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
@@ -43,9 +43,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
@@ -60,9 +60,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py
@@ -44,9 +44,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/functionalities/breakpoint/require_hw_breakpoints/TestRequireHWBreakpoints.py
===================================================================
--- lldb/test/API/functionalities/breakpoint/require_hw_breakpoints/TestRequireHWBreakpoints.py
+++ lldb/test/API/functionalities/breakpoint/require_hw_breakpoints/TestRequireHWBreakpoints.py
@@ -30,7 +30,7 @@
exe = self.getBuildArtifact("a.out")
target = self.dbg.CreateTarget(exe)
- self.runCmd("settings set target.require-hardware-breakpoint true")
+ self.set_setting("target.require-hardware-breakpoint", "true")
breakpoint = target.BreakpointCreateByLocation("main.c", 1)
self.assertTrue(breakpoint.IsHardware())
@@ -44,7 +44,7 @@
_, _, thread, _ = lldbutil.run_to_line_breakpoint(
self, lldb.SBFileSpec("main.c"), 1)
- self.runCmd("settings set target.require-hardware-breakpoint true")
+ self.set_setting("target.require-hardware-breakpoint", "true")
# Ensure we fail in the interpreter.
self.expect("thread step-in")
@@ -66,7 +66,7 @@
_, _, thread, _ = lldbutil.run_to_line_breakpoint(
self, lldb.SBFileSpec("main.c"), 1)
- self.runCmd("settings set target.require-hardware-breakpoint true")
+ self.set_setting("target.require-hardware-breakpoint", "true")
# Ensure this fails in the command interpreter.
self.expect("thread step-out", error=True)
@@ -87,7 +87,7 @@
_, _, thread, _ = lldbutil.run_to_line_breakpoint(
self, lldb.SBFileSpec("main.c"), 7)
- self.runCmd("settings set target.require-hardware-breakpoint true")
+ self.set_setting("target.require-hardware-breakpoint", "true")
# Step over doesn't fail immediately but fails later on.
self.expect(
@@ -106,7 +106,7 @@
_, _, thread, _ = lldbutil.run_to_line_breakpoint(
self, lldb.SBFileSpec("main.c"), 7)
- self.runCmd("settings set target.require-hardware-breakpoint true")
+ self.set_setting("target.require-hardware-breakpoint", "true")
self.expect("thread until 5", error=True)
Index: lldb/test/API/functionalities/breakpoint/inlined_breakpoints/TestInlinedBreakpoints.py
===================================================================
--- lldb/test/API/functionalities/breakpoint/inlined_breakpoints/TestInlinedBreakpoints.py
+++ lldb/test/API/functionalities/breakpoint/inlined_breakpoints/TestInlinedBreakpoints.py
@@ -45,9 +45,6 @@
# Now enable breakpoints in implementation files and see the breakpoint
# set succeed
self.runCmd('settings set target.inline-breakpoint-strategy always')
- # And add hooks to restore the settings during tearDown().
- self.addTearDownHook(lambda: self.runCmd(
- "settings set target.inline-breakpoint-strategy always"))
lldbutil.run_break_set_by_file_and_line(
self,
Index: lldb/test/API/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py
===================================================================
--- lldb/test/API/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py
+++ lldb/test/API/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py
@@ -72,41 +72,39 @@
# Don't skip prologue, so we can check the breakpoint address more
# easily
- self.runCmd("settings set target.skip-prologue false")
- try:
- names = ['~c', 'c::~c', 'c::~c()']
- loc_names = {'a::c::~c()', 'b::c::~c()'}
- # TODO: For windows targets we should put windows mangled names
- # here
- symbols = [
- '_ZN1a1cD1Ev',
- '_ZN1a1cD2Ev',
- '_ZN1b1cD1Ev',
- '_ZN1b1cD2Ev']
-
- for name in names:
- bp = target.BreakpointCreateByName(name)
-
- bp_loc_names = {bp_loc.GetAddress().GetFunction().GetName()
- for bp_loc in bp}
- self.assertEquals(
- bp_loc_names,
- loc_names,
- "Breakpoint set on the correct symbol")
-
- bp_addresses = {bp_loc.GetLoadAddress() for bp_loc in bp}
- symbol_addresses = set()
- for symbol in symbols:
- sc_list = target.FindSymbols(symbol, lldb.eSymbolTypeCode)
- self.assertEquals(
- sc_list.GetSize(), 1, "Found symbol " + symbol)
- symbol = sc_list.GetContextAtIndex(0).GetSymbol()
- symbol_addresses.add(
- symbol.GetStartAddress().GetLoadAddress(target))
+ self.set_setting("target.skip-prologue", "false")
+
+ names = ['~c', 'c::~c', 'c::~c()']
+ loc_names = {'a::c::~c()', 'b::c::~c()'}
+ # TODO: For windows targets we should put windows mangled names
+ # here
+ symbols = [
+ '_ZN1a1cD1Ev',
+ '_ZN1a1cD2Ev',
+ '_ZN1b1cD1Ev',
+ '_ZN1b1cD2Ev']
+ for name in names:
+ bp = target.BreakpointCreateByName(name)
+
+ bp_loc_names = {bp_loc.GetAddress().GetFunction().GetName()
+ for bp_loc in bp}
+ self.assertEquals(
+ bp_loc_names,
+ loc_names,
+ "Breakpoint set on the correct symbol")
+
+ bp_addresses = {bp_loc.GetLoadAddress() for bp_loc in bp}
+ symbol_addresses = set()
+ for symbol in symbols:
+ sc_list = target.FindSymbols(symbol, lldb.eSymbolTypeCode)
self.assertEquals(
- symbol_addresses,
- bp_addresses,
- "Breakpoint set on correct address")
- finally:
- self.runCmd("settings clear target.skip-prologue")
+ sc_list.GetSize(), 1, "Found symbol " + symbol)
+ symbol = sc_list.GetContextAtIndex(0).GetSymbol()
+ symbol_addresses.add(
+ symbol.GetStartAddress().GetLoadAddress(target))
+
+ self.assertEquals(
+ symbol_addresses,
+ bp_addresses,
+ "Breakpoint set on correct address")
Index: lldb/test/API/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.py
===================================================================
--- lldb/test/API/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.py
+++ lldb/test/API/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.py
@@ -80,10 +80,9 @@
self.build(None, None, {'PWD': pwd_symlink})
if setting_value:
- cmd = "settings set %s '%s'" % (_COMP_DIR_SYM_LINK_PROP, setting_value)
+ self.set_setting(_COMP_DIR_SYM_LINK_PROP, "'%s'" % (setting_value))
else:
- cmd = "settings clear %s"%_COMP_DIR_SYM_LINK_PROP
- self.runCmd(cmd)
+ self.runCmd("settings clear %s" %_COMP_DIR_SYM_LINK_PROP)
exe = self.getBuildArtifact(_EXE_NAME)
self.runCmd('file ' + exe, CURRENT_EXECUTABLE_SET)
Index: lldb/test/API/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py
===================================================================
--- lldb/test/API/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py
+++ lldb/test/API/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py
@@ -94,7 +94,7 @@
sym_exact=False,
extra_options="-L c",
num_expected_locations=0)
- self.runCmd("settings set target.language c")
+ self.set_setting("target.language", "c")
lldbutil.run_break_set_by_symbol(
self, 'ns::func', sym_exact=False, num_expected_locations=0)
Index: lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
===================================================================
--- lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
+++ lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
@@ -38,9 +38,7 @@
# Find the line number to break inside main().
self.line = line_number('main.c', '// Set break point at this line.')
# disable "There is a running process, kill it and restart?" prompt
- self.runCmd("settings set auto-confirm true")
- self.addTearDownHook(
- lambda: self.runCmd("settings clear auto-confirm"))
+ self.set_setting("auto-confirm", "true")
def test_delete_all_breakpoints(self):
"""Test that deleting all breakpoints works."""
Index: lldb/test/API/commands/watchpoints/watchpoint_size/TestWatchpointSizes.py
===================================================================
--- lldb/test/API/commands/watchpoints/watchpoint_size/TestWatchpointSizes.py
+++ lldb/test/API/commands/watchpoints/watchpoint_size/TestWatchpointSizes.py
@@ -112,11 +112,9 @@
# Delete the watchpoint immediately, but set auto-confirm to true
# first.
- self.runCmd("settings set auto-confirm true")
+ self.set_setting("auto-confirm", "true")
self.expect(
"watchpoint delete",
substrs=['All watchpoints removed.'])
- # Restore the original setting of auto-confirm.
- self.runCmd("settings clear auto-confirm")
self.runCmd("process continue")
Index: lldb/test/API/commands/process/launch/TestProcessLaunch.py
===================================================================
--- lldb/test/API/commands/process/launch/TestProcessLaunch.py
+++ lldb/test/API/commands/process/launch/TestProcessLaunch.py
@@ -22,10 +22,9 @@
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
- self.runCmd("settings set auto-confirm true")
+ self.set_setting("auto-confirm", "true")
def tearDown(self):
- self.runCmd("settings clear auto-confirm")
TestBase.tearDown(self)
@not_remote_testsuite_ready
Index: lldb/test/API/commands/help/TestHelp.py
===================================================================
--- lldb/test/API/commands/help/TestHelp.py
+++ lldb/test/API/commands/help/TestHelp.py
@@ -257,8 +257,7 @@
@no_debug_info_test
def test_help_format_output(self):
"""Test that help output reaches TerminalWidth."""
- self.runCmd(
- 'settings set term-width 108')
+ self.set_setting("term-width", "108")
self.expect(
"help format",
matching=True,
Index: lldb/test/API/commands/expression/weak_symbols/TestWeakSymbols.py
===================================================================
--- lldb/test/API/commands/expression/weak_symbols/TestWeakSymbols.py
+++ lldb/test/API/commands/expression/weak_symbols/TestWeakSymbols.py
@@ -34,7 +34,7 @@
correct_value = 10
else:
correct_value = 20
-
+
# Note, I'm adding the "; 10" at the end of the expression to work around
# the bug that expressions with no result currently return False for Success()...
expr = "if (&" + weak_varname + " != NULL) { present_weak_int = 10; } else { present_weak_int = 20;}; 10"
@@ -62,8 +62,8 @@
# for the weak symbol. We need to add the source dir to the module
# search paths, and then run @import to introduce it into the expression
# context:
- self.dbg.HandleCommand("settings set target.clang-module-search-paths " + self.getSourceDir())
-
+ self.set_setting("target.clang-module-search-paths", "'%s'" % (self.getSourceDir()))
+
self.frame = thread.frames[0]
self.assertTrue(self.frame.IsValid(), "Got a good frame")
options = lldb.SBExpressionOptions()
@@ -73,7 +73,7 @@
# Now run an expression that references an absent weak symbol:
self.run_weak_var_check("absent_weak_int", False)
self.run_weak_var_check("absent_weak_function", False)
-
+
# Make sure we can do the same thing with present weak symbols
self.run_weak_var_check("present_weak_int", True)
self.run_weak_var_check("present_weak_function", True)
Index: lldb/test/API/commands/expression/top-level/TestTopLevelExprs.py
===================================================================
--- lldb/test/API/commands/expression/top-level/TestTopLevelExprs.py
+++ lldb/test/API/commands/expression/top-level/TestTopLevelExprs.py
@@ -26,9 +26,7 @@
'// Set breakpoint here')
# Disable confirmation prompt to avoid infinite wait
- self.runCmd("settings set auto-confirm true")
- self.addTearDownHook(
- lambda: self.runCmd("settings clear auto-confirm"))
+ self.set_setting("auto-confirm", "true")
def build_and_run(self):
"""Test top-level expressions."""
Index: lldb/test/API/commands/expression/test/TestExprs.py
===================================================================
--- lldb/test/API/commands/expression/test/TestExprs.py
+++ lldb/test/API/commands/expression/test/TestExprs.py
@@ -34,9 +34,7 @@
'// Please test many expressions while stopped at this line:')
# Disable confirmation prompt to avoid infinite wait
- self.runCmd("settings set auto-confirm true")
- self.addTearDownHook(
- lambda: self.runCmd("settings clear auto-confirm"))
+ self.set_setting("auto-confirm", "true")
def build_and_run(self):
"""These basic expression commands should work as expected."""
Index: lldb/test/API/commands/expression/save_jit_objects/TestSaveJITObjects.py
===================================================================
--- lldb/test/API/commands/expression/save_jit_objects/TestSaveJITObjects.py
+++ lldb/test/API/commands/expression/save_jit_objects/TestSaveJITObjects.py
@@ -41,7 +41,7 @@
self.assertEquals(self.countJITFiles(), 0,
"No files emitted with save-jit-objects=false")
- self.runCmd("settings set target.save-jit-objects true")
+ self.set_setting("target.save-jit-objects", "true")
frame.EvaluateExpression("(void*)malloc(0x1)")
jit_files_count = self.countJITFiles()
self.cleanJITFiles()
Index: lldb/test/API/commands/expression/ir-interpreter/TestIRInterpreter.py
===================================================================
--- lldb/test/API/commands/expression/ir-interpreter/TestIRInterpreter.py
+++ lldb/test/API/commands/expression/ir-interpreter/TestIRInterpreter.py
@@ -24,9 +24,7 @@
'// Set breakpoint here')
# Disable confirmation prompt to avoid infinite wait
- self.runCmd("settings set auto-confirm true")
- self.addTearDownHook(
- lambda: self.runCmd("settings clear auto-confirm"))
+ self.set_setting("auto-confirm", "true")
def build_and_run(self):
"""Test the IR interpreter"""
Index: lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect("expr (int)*w.lock()", substrs=['(int) $0 = 3'])
self.expect("expr (int)(*w.lock() = 5)", substrs=['(int) $1 = 5'])
Index: lldb/test/API/commands/expression/import-std-module/weak_ptr-dbg-info-content/TestDbgInfoContentWeakPtrFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/weak_ptr-dbg-info-content/TestDbgInfoContentWeakPtrFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/weak_ptr-dbg-info-content/TestDbgInfoContentWeakPtrFromStdModule.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect("expr (int)w.lock()->a", substrs=['(int) $0 = 3'])
self.expect("expr (int)(w.lock()->a = 5)", substrs=['(int) $1 = 5'])
Index: lldb/test/API/commands/expression/import-std-module/vector/TestVectorFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/vector/TestVectorFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/vector/TestVectorFromStdModule.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect("expr (size_t)a.size()", substrs=['(size_t) $0 = 3'])
self.expect("expr (int)a.front()", substrs=['(int) $1 = 3'])
Index: lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect("expr (size_t)a.size()", substrs=['(size_t) $0 = 2'])
self.expect("expr (int)a.front().front()", substrs=['(int) $1 = 1'])
Index: lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
@@ -19,7 +19,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect("expr (size_t)a.size()", substrs=['(size_t) $0 = 3'])
self.expect("expr (int)a.front().a", substrs=['(int) $1 = 3'])
Index: lldb/test/API/commands/expression/import-std-module/vector-bool/TestVectorBoolFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/vector-bool/TestVectorBoolFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/vector-bool/TestVectorBoolFromStdModule.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect("expr (size_t)a.size()", substrs=['(size_t) $0 = 4'])
self.expect("expr (bool)a.front()", substrs=['(bool) $1 = false'])
Index: lldb/test/API/commands/expression/import-std-module/unique_ptr/TestUniquePtrFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/unique_ptr/TestUniquePtrFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/unique_ptr/TestUniquePtrFromStdModule.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect("expr (int)*s", substrs=['(int) $0 = 3'])
self.expect("expr (int)(*s = 5)", substrs=['(int) $1 = 5'])
Index: lldb/test/API/commands/expression/import-std-module/unique_ptr-dbg-info-content/TestUniquePtrDbgInfoContent.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/unique_ptr-dbg-info-content/TestUniquePtrDbgInfoContent.py
+++ lldb/test/API/commands/expression/import-std-module/unique_ptr-dbg-info-content/TestUniquePtrDbgInfoContent.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect("expr (int)s->a", substrs=['(int) $0 = 3'])
self.expect("expr (int)(s->a = 5)", substrs=['(int) $1 = 5'])
Index: lldb/test/API/commands/expression/import-std-module/sysroot/TestStdModuleSysroot.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/sysroot/TestStdModuleSysroot.py
+++ lldb/test/API/commands/expression/import-std-module/sysroot/TestStdModuleSysroot.py
@@ -28,7 +28,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
# Call our custom function in our sysroot std module.
# If this gives us the correct result, then we used the sysroot.
Index: lldb/test/API/commands/expression/import-std-module/stack/TestStackFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/stack/TestStackFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/stack/TestStackFromStdModule.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
# Test std::stack functionality with a std::deque.
self.expect("expr s_deque.pop()")
Index: lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect("expr (int)*s", substrs=['(int) $0 = 3'])
self.expect("expr (int)(*s = 5)", substrs=['(int) $1 = 5'])
Index: lldb/test/API/commands/expression/import-std-module/shared_ptr-dbg-info-content/TestSharedPtrDbgInfoContentFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/shared_ptr-dbg-info-content/TestSharedPtrDbgInfoContentFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/shared_ptr-dbg-info-content/TestSharedPtrDbgInfoContentFromStdModule.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect("expr (int)s->a", substrs=['(int) $0 = 3'])
self.expect("expr (int)(s->a = 5)", substrs=['(int) $1 = 5'])
Index: lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
# Test std::queue functionality with a std::deque.
self.expect("expr q_deque.pop()")
Index: lldb/test/API/commands/expression/import-std-module/no-std-module/TestMissingStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/no-std-module/TestMissingStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/no-std-module/TestMissingStdModule.py
@@ -26,7 +26,7 @@
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
# Activate importing of std module.
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
# Run some commands that should all fail without our std module.
self.expect("expr std::abs(-42)", error=True)
Index: lldb/test/API/commands/expression/import-std-module/list/TestListFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/list/TestListFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/list/TestListFromStdModule.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect("expr (size_t)a.size()", substrs=['(size_t) $0 = 3'])
self.expect("expr (int)a.front()", substrs=['(int) $1 = 3'])
Index: lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/TestDbgInfoContentListFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/TestDbgInfoContentListFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/TestDbgInfoContentListFromStdModule.py
@@ -19,7 +19,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect("expr (size_t)a.size()", substrs=['(size_t) $0 = 3'])
self.expect("expr (int)a.front().a", substrs=['(int) $1 = 3'])
Index: lldb/test/API/commands/expression/import-std-module/forward_list/TestForwardListFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/forward_list/TestForwardListFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/forward_list/TestForwardListFromStdModule.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect("expr (size_t)std::distance(a.begin(), a.end())", substrs=['(size_t) $0 = 3'])
self.expect("expr (int)a.front()", substrs=['(int) $1 = 3'])
Index: lldb/test/API/commands/expression/import-std-module/forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect("expr (size_t)std::distance(a.begin(), a.end())", substrs=['(size_t) $0 = 3'])
self.expect("expr (int)a.front().a", substrs=['(int) $1 = 3'])
Index: lldb/test/API/commands/expression/import-std-module/empty-module/TestEmptyStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/empty-module/TestEmptyStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/empty-module/TestEmptyStdModule.py
@@ -27,7 +27,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
# Use the typedef that is only defined in our 'empty' module. If this fails, then LLDB
# somehow figured out the correct define for the header and compiled the right
Index: lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect("expr (size_t)a.size()", substrs=['(size_t) $0 = 3'])
self.expect("expr (int)a.front().a", substrs=['(int) $1 = 3'])
Index: lldb/test/API/commands/expression/import-std-module/deque-basic/TestDequeFromStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/deque-basic/TestDequeFromStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/deque-basic/TestDequeFromStdModule.py
@@ -18,7 +18,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect_expr("(size_t)a.size()", result_type="size_t", result_value="3")
self.expect_expr("(int)a.front()", result_type="int", result_value="3")
Index: lldb/test/API/commands/expression/import-std-module/conflicts/TestStdModuleWithConflicts.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/conflicts/TestStdModuleWithConflicts.py
+++ lldb/test/API/commands/expression/import-std-module/conflicts/TestStdModuleWithConflicts.py
@@ -24,7 +24,7 @@
lldbutil.run_to_source_breakpoint(self,
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
self.expect_expr("std::abs(-42)", result_type="int", result_value="42")
self.expect_expr("std::div(2, 1).quot", result_type="int", result_value="2")
self.expect_expr("(std::size_t)33U", result_type="std::size_t", result_value="33")
Index: lldb/test/API/commands/expression/import-std-module/basic/TestImportStdModule.py
===================================================================
--- lldb/test/API/commands/expression/import-std-module/basic/TestImportStdModule.py
+++ lldb/test/API/commands/expression/import-std-module/basic/TestImportStdModule.py
@@ -20,7 +20,7 @@
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
# Activate importing of std module.
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
# Calling some normal std functions that return non-template types.
self.expect_expr("std::abs(-42)", result_type="int", result_value="42")
self.expect_expr("std::div(2, 1).quot", result_type="int", result_value="2")
@@ -39,7 +39,7 @@
"// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
# Activate importing of std module.
- self.runCmd("settings set target.import-std-module true")
+ self.set_setting("target.import-std-module", "true")
# These languages don't support C++ modules, so they shouldn't
# be able to evaluate the expression.
self.expect("expr -l C -- std::abs(-42)", error=True)
Index: lldb/test/API/benchmarks/libcxxmap/TestBenchmarkLibcxxMap.py
===================================================================
--- lldb/test/API/benchmarks/libcxxmap/TestBenchmarkLibcxxMap.py
+++ lldb/test/API/benchmarks/libcxxmap/TestBenchmarkLibcxxMap.py
@@ -49,9 +49,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/benchmarks/libcxxlist/TestBenchmarkLibcxxList.py
===================================================================
--- lldb/test/API/benchmarks/libcxxlist/TestBenchmarkLibcxxList.py
+++ lldb/test/API/benchmarks/libcxxlist/TestBenchmarkLibcxxList.py
@@ -49,9 +49,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/benchmarks/continue/TestBenchmarkContinue.py
===================================================================
--- lldb/test/API/benchmarks/continue/TestBenchmarkContinue.py
+++ lldb/test/API/benchmarks/continue/TestBenchmarkContinue.py
@@ -49,9 +49,6 @@
self.runCmd('type summary clear', check=False)
self.runCmd('type filter clear', check=False)
self.runCmd('type synth clear', check=False)
- self.runCmd(
- "settings set target.max-children-count 256",
- check=False)
# Execute the cleanup function during test case tear down.
self.addTearDownHook(cleanup)
Index: lldb/test/API/api/check_public_api_headers/TestPublicAPIHeaders.py
===================================================================
--- lldb/test/API/api/check_public_api_headers/TestPublicAPIHeaders.py
+++ lldb/test/API/api/check_public_api_headers/TestPublicAPIHeaders.py
@@ -46,15 +46,11 @@
self.line_to_break = line_number(
self.getBuildArtifact(self.source), '// Set breakpoint here.')
- env_cmd = "settings set target.env-vars %s=%s" % (
- self.dylibPath, self.getLLDBLibraryEnvVal())
if self.TraceOn():
- print("Set environment to: ", env_cmd)
- self.runCmd(env_cmd)
- self.addTearDownHook(
- lambda: self.dbg.HandleCommand(
- "settings remove target.env-vars %s" %
- self.dylibPath))
+ print("Set environment to: %s = %s",
+ self.dylibPath, self.getLLDBLibraryEnvVal())
+ self.append_setting("target.env-vars",
+ self.dylibPath, self.getLLDBLibraryEnvVal())
lldbutil.run_break_set_by_file_and_line(
self, self.source, self.line_to_break, num_expected_locations=-1)
Index: lldb/packages/Python/lldbsuite/test/lldbtest.py
===================================================================
--- lldb/packages/Python/lldbsuite/test/lldbtest.py
+++ lldb/packages/Python/lldbsuite/test/lldbtest.py
@@ -2455,6 +2455,27 @@
err = platform.Run(shell_command)
return (err, shell_command.GetStatus(), shell_command.GetOutput())
+ def set_setting(self, name, value, value_to_restore = None):
+ # Set setting's value.
+ self.runCmd("settings set %s %s" % (name, value))
+
+ # Clear setting or restore old value if provided.
+ def cleanup():
+ if value_to_restore:
+ command = "settings set %s %s" % (name, value_to_restore)
+ else:
+ command = "settings clear %s" % (name)
+
+ self.runCmd(command, check=False)
+
+ self.addTearDownHook(cleanup)
+
+ def append_setting(self, name, key, value):
+ self.runCmd("settings append %s %s=%s" % (name, key, value))
+ self.addTearDownHook(
+ lambda: self.runCmd(
+ "settings remove %s %s" % (name, key)))
+
# =================================================
# Misc. helper methods for debugging test execution
# =================================================
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits