[Test] Update static variable test.
authorJonas Devlieghere <jonas@devlieghere.com>
Mon, 11 Jun 2018 23:26:15 +0000 (23:26 +0000)
committerJonas Devlieghere <jonas@devlieghere.com>
Mon, 11 Jun 2018 23:26:15 +0000 (23:26 +0000)
Before Pavel's change in r334181, we were printing too many global
variables. This patch updates the test suite to ensure we don't regress
again in the future.

rdar://problem/29180927

llvm-svn: 334454

lldb/packages/Python/lldbsuite/test/lang/cpp/class_static/TestStaticVariables.py

index a30d333c5c2bbc375f09e012ff041e23c88581d6..ee4bb3d43b76410a5c668f66b3402a1d991fe788 100644 (file)
@@ -39,14 +39,33 @@ class StaticVariableTestCase(TestBase):
                     substrs=['stopped',
                              'stop reason = breakpoint'])
 
-        # global variables are no longer displayed with the "frame variable"
+        # Global variables are no longer displayed with the "frame variable"
         # command.
         self.expect(
             'target variable A::g_points',
             VARIABLES_DISPLAYED_CORRECTLY,
-            patterns=['\(PointType \[[1-9]*\]\) A::g_points = {'])
-        self.expect('target variable g_points', VARIABLES_DISPLAYED_CORRECTLY,
-                    substrs=['(PointType [2]) g_points'])
+            patterns=[
+                '\(PointType \[[1-9]*\]\) A::g_points = {', '(x = 1, y = 2)',
+                '(x = 11, y = 22)'
+            ])
+
+        # Ensure that we take the context into account and only print
+        # A::g_points.
+        self.expect(
+            'target variable A::g_points',
+            VARIABLES_DISPLAYED_CORRECTLY,
+            matching=False,
+            patterns=['(x = 3, y = 4)', '(x = 33, y = 44)'])
+
+        # Finally, ensure that we print both points when not specifying a
+        # context.
+        self.expect(
+            'target variable g_points',
+            VARIABLES_DISPLAYED_CORRECTLY,
+            substrs=[
+                '(PointType [2]) g_points', '(x = 1, y = 2)',
+                '(x = 11, y = 22)', '(x = 3, y = 4)', '(x = 33, y = 44)'
+            ])
 
         # On Mac OS X, gcc 4.2 emits the wrong debug info for A::g_points.
         # A::g_points is an array of two elements.