kastiglione created this revision.
kastiglione added reviewers: augusto2112, JDevlieghere, mib, aprantl.
Herald added a project: All.
kastiglione requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
Remove the test override of `target.prefer-dynamic-value`.
Previously, the lldb default was `no-dynamic-values`. In rG9aa7e8e9ffbe
<https://reviews.llvm.org/rG9aa7e8e9ffbef6989fa9aeb4e06fe8b0c38a75b7> (in
2015), the default was changed to `no-run-target`, but at that time the tests
were changed to be run with `no-dynamic-value`. I don't the reasons for not
changing the tests, perhaps to avoid determining which tests to change and how.
Because `no-run-target` is the lldb default, I think it makes sense to make it
the test default too. It puts the test config closer to what's used in
practice.
This change removes the `target.prefer-dynamic-value` override, and for those
tests that failed, they have been updated to explicitly use
`no-dynamic-values`. Future changes could update these tests to use dynamic
values too, or they can be left as is to exercise non-dynamic typing.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D132382
Files:
lldb/packages/Python/lldbsuite/test/configuration.py
lldb/test/API/commands/expression/po_verbosity/TestPoVerbosity.py
lldb/test/API/commands/expression/two-files/TestObjCTypeQueryFromOtherCompileUnit.py
lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCCF.py
lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCExpr.py
lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCKVO.py
lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py
lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSData.py
lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSNumber.py
lldb/test/API/functionalities/data-formatter/data-formatter-objc/nsstring/TestDataFormatterNSString.py
lldb/test/API/functionalities/data-formatter/nsarraysynth/TestNSArraySynthetic.py
lldb/test/API/functionalities/data-formatter/nsdictionarysynth/TestNSDictionarySynthetic.py
lldb/test/API/lang/cpp/diamond/TestCppDiamond.py
lldb/test/API/lang/objc/blocks/TestObjCIvarsInBlocks.py
lldb/test/API/lang/objc/exceptions/TestObjCExceptions.py
lldb/test/API/lang/objc/foundation/TestObjCMethods.py
lldb/test/API/lang/objc/foundation/TestObjCMethodsString.py
lldb/test/API/lang/objc/foundation/TestRuntimeTypes.py
lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxLiteral.py
lldb/test/API/lang/objc/real-definition/TestRealDefinition.py
lldb/test/API/sanity/TestSettingSkipping.py
Index: lldb/test/API/sanity/TestSettingSkipping.py
===================================================================
--- lldb/test/API/sanity/TestSettingSkipping.py
+++ lldb/test/API/sanity/TestSettingSkipping.py
@@ -12,12 +12,12 @@
NO_DEBUG_INFO_TESTCASE = True
- @skipIf(setting=('target.prefer-dynamic-value', 'no-dynamic-values'))
+ @skipIf(py_version=('>=', (3, 0)))
def testSkip(self):
"""This setting is on by default"""
self.assertTrue(False, "This test should not run!")
- @skipIf(setting=('target.prefer-dynamic-value', 'run-target'))
+ @skipIf(py_version=('<', (3, 0)))
def testNoMatch(self):
self.assertTrue(True, "This test should run!")
@@ -25,11 +25,11 @@
def testNotExisting(self):
self.assertTrue(True, "This test should run!")
- @expectedFailureAll(setting=('target.prefer-dynamic-value', 'no-dynamic-values'))
+ @expectedFailureAll(py_version=('>=', (3, 0)))
def testXFAIL(self):
self.assertTrue(False, "This test should run and fail!")
- @expectedFailureAll(setting=('target.prefer-dynamic-value', 'run-target'))
+ @expectedFailureAll(py_version=('<', (3, 0)))
def testNotXFAIL(self):
self.assertTrue(True, "This test should run and succeed!")
Index: lldb/test/API/lang/objc/real-definition/TestRealDefinition.py
===================================================================
--- lldb/test/API/lang/objc/real-definition/TestRealDefinition.py
+++ lldb/test/API/lang/objc/real-definition/TestRealDefinition.py
@@ -28,6 +28,8 @@
# Run at stop at main
lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
+ self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values")
+
# This should display correctly.
self.expect(
"frame variable foo->_bar->_hidden_ivar",
@@ -53,6 +55,8 @@
# Run at stop at main
lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
+ self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values")
+
# This should display correctly.
self.expect(
"frame variable foo->_bar->_hidden_ivar",
Index: lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxLiteral.py
===================================================================
--- lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxLiteral.py
+++ lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxLiteral.py
@@ -54,6 +54,8 @@
def test_float_literal(self):
self.runToBreakpoint()
+ self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values")
+
self.expect("expr -- @123.45", VARIABLES_DISPLAYED_CORRECTLY,
substrs=["NSNumber", "123.45"])
@@ -62,6 +64,8 @@
def test_expressions_in_literals(self):
self.runToBreakpoint()
+ self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values")
+
self.expect(
"expr --object-description -- @( 1 + 3 )",
VARIABLES_DISPLAYED_CORRECTLY,
Index: lldb/test/API/lang/objc/foundation/TestRuntimeTypes.py
===================================================================
--- lldb/test/API/lang/objc/foundation/TestRuntimeTypes.py
+++ lldb/test/API/lang/objc/foundation/TestRuntimeTypes.py
@@ -31,6 +31,8 @@
self.runCmd("run", RUN_SUCCEEDED)
+ self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values")
+
# The backtrace should show we stop at -[MyString description].
self.expect("thread backtrace", "Stop at -[MyString description]",
substrs=["a.out`-[MyString description]"])
Index: lldb/test/API/lang/objc/foundation/TestObjCMethodsString.py
===================================================================
--- lldb/test/API/lang/objc/foundation/TestObjCMethodsString.py
+++ lldb/test/API/lang/objc/foundation/TestObjCMethodsString.py
@@ -19,6 +19,8 @@
self, '// Break here for NSString tests',
lldb.SBFileSpec('main.m', False))
+ self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values")
+
# Test_NSString:
self.runCmd("thread backtrace")
self.expect("expression (int)[str length]",
Index: lldb/test/API/lang/objc/foundation/TestObjCMethods.py
===================================================================
--- lldb/test/API/lang/objc/foundation/TestObjCMethods.py
+++ lldb/test/API/lang/objc/foundation/TestObjCMethods.py
@@ -124,6 +124,8 @@
self.runCmd("run", RUN_SUCCEEDED)
+ self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values")
+
# The backtrace should show we stop at -[MyString description].
self.expect("thread backtrace", "Stop at -[MyString description]",
substrs=["a.out`-[MyString description]"])
Index: lldb/test/API/lang/objc/exceptions/TestObjCExceptions.py
===================================================================
--- lldb/test/API/lang/objc/exceptions/TestObjCExceptions.py
+++ lldb/test/API/lang/objc/exceptions/TestObjCExceptions.py
@@ -64,7 +64,7 @@
])
self.expect(
- 'frame variable --dynamic-type no-run-target *e1',
+ 'frame variable *e1',
substrs=[
'(NSException) *e1 = ',
'name = ', '"ExceptionName"',
@@ -93,7 +93,7 @@
])
self.expect(
- 'frame variable --dynamic-type no-run-target *e2',
+ 'frame variable *e2',
substrs=[
'(NSException) *e2 = ',
'name = ', '"ThrownException"',
Index: lldb/test/API/lang/objc/blocks/TestObjCIvarsInBlocks.py
===================================================================
--- lldb/test/API/lang/objc/blocks/TestObjCIvarsInBlocks.py
+++ lldb/test/API/lang/objc/blocks/TestObjCIvarsInBlocks.py
@@ -44,6 +44,8 @@
process.GetState(), lldb.eStateStopped,
"Stopped it too.")
+ self.runCmd('settings set target.prefer-dynamic-value no-dynamic-values')
+
thread_list = lldbutil.get_threads_stopped_at_breakpoint(
process, breakpoint)
self.assertEqual(len(thread_list), 1)
Index: lldb/test/API/lang/cpp/diamond/TestCppDiamond.py
===================================================================
--- lldb/test/API/lang/cpp/diamond/TestCppDiamond.py
+++ lldb/test/API/lang/cpp/diamond/TestCppDiamond.py
@@ -19,6 +19,8 @@
self.build()
lldbutil.run_to_source_breakpoint(self, "// breakpoint 1", lldb.SBFileSpec("main.cpp"))
+ self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values")
+
j1 = self.frame().FindVariable("j1")
j1_Derived1 = j1.GetChildAtIndex(0)
j1_Derived2 = j1.GetChildAtIndex(1)
Index: lldb/test/API/functionalities/data-formatter/nsdictionarysynth/TestNSDictionarySynthetic.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/nsdictionarysynth/TestNSDictionarySynthetic.py
+++ lldb/test/API/functionalities/data-formatter/nsdictionarysynth/TestNSDictionarySynthetic.py
@@ -86,7 +86,7 @@
'[2] = ',
'[3] = '])
self.expect(
- 'frame variable dictionary --ptr-depth 1 --dynamic-type no-run-target',
+ 'frame variable dictionary --ptr-depth 1',
substrs=[
'3 key/value pairs',
'@"bar"',
@@ -94,7 +94,7 @@
'@"baz"',
'2 key/value pairs'])
self.expect(
- 'frame variable mutabledict --ptr-depth 1 --dynamic-type no-run-target',
+ 'frame variable mutabledict --ptr-depth 1',
substrs=[
'4 key/value pairs',
'(int)23',
@@ -103,7 +103,7 @@
'@"sourceofstuff"',
'3 key/value pairs'])
self.expect(
- 'frame variable mutabledict --ptr-depth 2 --dynamic-type no-run-target',
+ 'frame variable mutabledict --ptr-depth 2',
substrs=[
'4 key/value pairs',
'(int)23',
@@ -114,7 +114,7 @@
'@"bar"',
'@"2 elements"'])
self.expect(
- 'frame variable mutabledict --ptr-depth 3 --dynamic-type no-run-target',
+ 'frame variable mutabledict --ptr-depth 3',
substrs=[
'4 key/value pairs',
'(int)23',
Index: lldb/test/API/functionalities/data-formatter/nsarraysynth/TestNSArraySynthetic.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/nsarraysynth/TestNSArraySynthetic.py
+++ lldb/test/API/functionalities/data-formatter/nsarraysynth/TestNSArraySynthetic.py
@@ -74,7 +74,7 @@
substrs=[
'@"0 elements"'])
self.expect(
- 'frame variable arr --ptr-depth 1 -d no-run-target',
+ 'frame variable arr --ptr-depth 1',
substrs=[
'@"6 elements"',
'@"hello"',
@@ -84,14 +84,14 @@
'@"me"',
'@"http://www.apple.com'])
self.expect(
- 'frame variable other_arr --ptr-depth 1 -d no-run-target',
+ 'frame variable other_arr --ptr-depth 1',
substrs=[
'@"4 elements"',
'(int)5',
'@"a string"',
'@"6 elements"'])
self.expect(
- 'frame variable other_arr --ptr-depth 2 -d no-run-target',
+ 'frame variable other_arr --ptr-depth 2',
substrs=[
'@"4 elements"',
'@"6 elements" {',
Index: lldb/test/API/functionalities/data-formatter/data-formatter-objc/nsstring/TestDataFormatterNSString.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-objc/nsstring/TestDataFormatterNSString.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-objc/nsstring/TestDataFormatterNSString.py
@@ -22,6 +22,8 @@
self.runCmd("run", RUN_SUCCEEDED)
+ self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values")
+
# The stop reason of the thread should be breakpoint.
self.expect("thread list", STOPPED_DUE_TO_BREAKPOINT,
substrs=['stopped',
Index: lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSNumber.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSNumber.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSNumber.py
@@ -24,6 +24,8 @@
self.appkit_tester_impl(self.nscontainers_data_formatter_commands, False)
def nscontainers_data_formatter_commands(self):
+ self.runCmd('settings set target.prefer-dynamic-value no-dynamic-values')
+
self.expect(
'frame variable newArray nsDictionary newDictionary nscfDictionary cfDictionaryRef newMutableDictionary cfarray_ref mutable_array_ref',
substrs=[
Index: lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSData.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSData.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSData.py
@@ -24,6 +24,8 @@
self.appkit_tester_impl(self.nsdata_data_formatter_commands, False)
def nsdata_data_formatter_commands(self):
+ self.runCmd('settings set target.prefer-dynamic-value no-dynamic-values')
+
self.expect(
'frame variable immutableData mutableData data_ref mutable_data_ref mutable_string_ref concreteData concreteMutableData',
substrs=[
Index: lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py
@@ -19,6 +19,8 @@
self.appkit_tester_impl(self.nscontainers_data_formatter_commands, False)
def nscontainers_data_formatter_commands(self):
+ self.runCmd('settings set target.prefer-dynamic-value no-dynamic-values')
+
self.expect(
'frame variable newArray nsDictionary newDictionary nscfDictionary cfDictionaryRef newMutableDictionary copyDictionary newMutableDictionaryRef cfarray_ref mutable_array_ref',
substrs=[
Index: lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCKVO.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCKVO.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCKVO.py
@@ -21,6 +21,8 @@
self, '// Set break point at this line.',
lldb.SBFileSpec('main.m', False))
+ self.runCmd('settings set target.prefer-dynamic-value no-dynamic-values')
+
# The stop reason of the thread should be breakpoint.
self.expect(
"thread list",
Index: lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCExpr.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCExpr.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCExpr.py
@@ -27,6 +27,8 @@
STOPPED_DUE_TO_BREAKPOINT,
substrs=['stopped', 'stop reason = breakpoint'])
+ self.runCmd('settings set target.prefer-dynamic-value no-dynamic-values')
+
# This is the function to remove the custom formats in order to have a
# clean slate for the next test case.
def cleanup():
Index: lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCCF.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCCF.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCCF.py
@@ -27,6 +27,8 @@
STOPPED_DUE_TO_BREAKPOINT,
substrs=['stopped', 'stop reason = breakpoint'])
+ self.runCmd('settings set target.prefer-dynamic-value no-dynamic-values')
+
# check formatters for common Objective-C types
expect_strings = [
'(CFGregorianUnits) cf_greg_units = 1 years, 3 months, 5 days, 12 hours, 5 minutes 7 seconds',
Index: lldb/test/API/commands/expression/two-files/TestObjCTypeQueryFromOtherCompileUnit.py
===================================================================
--- lldb/test/API/commands/expression/two-files/TestObjCTypeQueryFromOtherCompileUnit.py
+++ lldb/test/API/commands/expression/two-files/TestObjCTypeQueryFromOtherCompileUnit.py
@@ -32,6 +32,8 @@
self.runCmd("run", RUN_SUCCEEDED)
+ self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values")
+
# Now do a NSArry type query from the 'main.m' compile uint.
self.expect("expression (NSArray*)array_token",
substrs=['(NSArray *) $0 = 0x'])
Index: lldb/test/API/commands/expression/po_verbosity/TestPoVerbosity.py
===================================================================
--- lldb/test/API/commands/expression/po_verbosity/TestPoVerbosity.py
+++ lldb/test/API/commands/expression/po_verbosity/TestPoVerbosity.py
@@ -41,6 +41,8 @@
self.runCmd("run", RUN_SUCCEEDED)
+ self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values")
+
self.expect("expr -O -v -- foo",
substrs=['(id) $', ' = 0x', '1 = 2', '2 = 3;'])
self.expect("expr -O -vfull -- foo",
Index: lldb/packages/Python/lldbsuite/test/configuration.py
===================================================================
--- lldb/packages/Python/lldbsuite/test/configuration.py
+++ lldb/packages/Python/lldbsuite/test/configuration.py
@@ -51,8 +51,7 @@
dwarf_version = 0
# Any overridden settings.
-# Always disable default dynamic types for testing purposes.
-settings = [('target.prefer-dynamic-value', 'no-dynamic-values')]
+settings = []
# Path to the FileCheck testing tool. Not optional.
filecheck = None
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits