diff options
Diffstat (limited to 'packages/Python/lldbsuite/test/functionalities/data-formatter/synthcapping')
2 files changed, 37 insertions, 27 deletions
| diff --git a/packages/Python/lldbsuite/test/functionalities/data-formatter/synthcapping/TestSyntheticCapping.py b/packages/Python/lldbsuite/test/functionalities/data-formatter/synthcapping/TestSyntheticCapping.py index e8b6c1ad95f5..6d519761b7bb 100644 --- a/packages/Python/lldbsuite/test/functionalities/data-formatter/synthcapping/TestSyntheticCapping.py +++ b/packages/Python/lldbsuite/test/functionalities/data-formatter/synthcapping/TestSyntheticCapping.py @@ -5,13 +5,14 @@ Check for an issue where capping does not work because the Target pointer appear  from __future__ import print_function - -import os, time +import os +import time  import lldb  from lldbsuite.test.decorators import *  from lldbsuite.test.lldbtest import *  from lldbsuite.test import lldbutil +  class SyntheticCappingTestCase(TestBase):      mydir = TestBase.compute_mydir(__file__) @@ -27,7 +28,8 @@ class SyntheticCappingTestCase(TestBase):          self.build()          self.runCmd("file a.out", CURRENT_EXECUTABLE_SET) -        lldbutil.run_break_set_by_file_and_line (self, "main.cpp", self.line, num_expected_locations=1, loc_exact=True) +        lldbutil.run_break_set_by_file_and_line( +            self, "main.cpp", self.line, num_expected_locations=1, loc_exact=True)          self.runCmd("run", RUN_SUCCEEDED) @@ -35,8 +37,8 @@ class SyntheticCappingTestCase(TestBase):          # The stop reason of the thread should be breakpoint.          self.expect("thread list", STOPPED_DUE_TO_BREAKPOINT, -            substrs = ['stopped', -                       'stop reason = breakpoint']) +                    substrs=['stopped', +                             'stop reason = breakpoint'])          # This is the function to remove the custom formats in order to have a          # clean slate for the next test case. @@ -45,7 +47,9 @@ class SyntheticCappingTestCase(TestBase):              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) +            self.runCmd( +                "settings set target.max-children-count 256", +                check=False)          # Execute the cleanup function during test case tear down.          self.addTearDownHook(cleanup) @@ -60,25 +64,25 @@ class SyntheticCappingTestCase(TestBase):          else:              fake_a_val = 0x00000100 -        # check that the synthetic children work, so we know we are doing the right thing +        # check that the synthetic children work, so we know we are doing the +        # right thing          self.expect("frame variable f00_1", -                    substrs = ['r = 34', -                               'fake_a = %d' % fake_a_val, -                               'a = 1']); +                    substrs=['r = 34', +                             'fake_a = %d' % fake_a_val, +                             'a = 1'])          # check that capping works          self.runCmd("settings set target.max-children-count 2", check=False) -         +          self.expect("frame variable f00_1", -                    substrs = ['...', -                               'fake_a = %d' % fake_a_val, -                               'a = 1']); -         +                    substrs=['...', +                             'fake_a = %d' % fake_a_val, +                             'a = 1']) +          self.expect("frame variable f00_1", matching=False, -                    substrs = ['r = 34']); +                    substrs=['r = 34']) -                  self.runCmd("settings set target.max-children-count 256", check=False)          self.expect("frame variable f00_1", matching=True, -                    substrs = ['r = 34']); +                    substrs=['r = 34']) diff --git a/packages/Python/lldbsuite/test/functionalities/data-formatter/synthcapping/fooSynthProvider.py b/packages/Python/lldbsuite/test/functionalities/data-formatter/synthcapping/fooSynthProvider.py index 1a7e5679c0b8..124eb5d31bac 100644 --- a/packages/Python/lldbsuite/test/functionalities/data-formatter/synthcapping/fooSynthProvider.py +++ b/packages/Python/lldbsuite/test/functionalities/data-formatter/synthcapping/fooSynthProvider.py @@ -1,21 +1,27 @@  import lldb + +  class fooSynthProvider: +      def __init__(self, valobj, dict): -        self.valobj = valobj; +        self.valobj = valobj          self.int_type = valobj.GetType().GetBasicType(lldb.eBasicTypeInt) +      def num_children(self): -        return 3; +        return 3 +      def get_child_at_index(self, index):          if index == 0: -            child = self.valobj.GetChildMemberWithName('a'); +            child = self.valobj.GetChildMemberWithName('a')          if index == 1: -            child = self.valobj.CreateChildAtOffset ('fake_a', 1, self.int_type); +            child = self.valobj.CreateChildAtOffset('fake_a', 1, self.int_type)          if index == 2: -            child = self.valobj.GetChildMemberWithName('r'); -        return child; +            child = self.valobj.GetChildMemberWithName('r') +        return child +      def get_child_index(self, name):          if name == 'a': -            return 0; +            return 0          if name == 'fake_a': -            return 1; -        return 2; +            return 1 +        return 2 | 
