Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[lldb[test] TestCppUnionStaticMembers.py: XFAIL assertions on windows #68408

Merged

Conversation

Michael137
Copy link
Member

@Michael137 Michael137 commented Oct 6, 2023

Commit 1:

Split out the assertions that fail on Windows in preparation to
XFAILing them.

Drive-by change:

  • Add a missing self.build() call in test_union_in_anon_namespace
  • Fix formatting

Commit 2:

[lldb][lldbsuite] Add expectedFailureWindows decorator

Commit 3:

Apply expectedFailureWindows to failing test

@llvmbot
Copy link
Member

llvmbot commented Oct 6, 2023

@llvm/pr-subscribers-lldb

Changes

These tests never worked since their introduction in
#68300


Full diff: https://github.com/llvm/llvm-project/pull/68408.diff

2 Files Affected:

  • (modified) lldb/packages/Python/lldbsuite/test/decorators.py (+3)
  • (modified) lldb/test/API/lang/cpp/union-static-data-members/TestCppUnionStaticMembers.py (+19-3)
diff --git a/lldb/packages/Python/lldbsuite/test/decorators.py b/lldb/packages/Python/lldbsuite/test/decorators.py
index 6194862f8fe60f9..9e0197fdcf66644 100644
--- a/lldb/packages/Python/lldbsuite/test/decorators.py
+++ b/lldb/packages/Python/lldbsuite/test/decorators.py
@@ -510,6 +510,9 @@ def expectedFailureAndroid(bugnumber=None, api_levels=None, archs=None):
 def expectedFailureNetBSD(bugnumber=None):
     return expectedFailureOS(["netbsd"], bugnumber)
 
+def expectedFailureWindows(bugnumber=None):
+    return expectedFailureOS(["windows"], bugnumber)
+
 
 # TODO: This decorator does not do anything. Remove it.
 def expectedFlakey(expected_fn, bugnumber=None):
diff --git a/lldb/test/API/lang/cpp/union-static-data-members/TestCppUnionStaticMembers.py b/lldb/test/API/lang/cpp/union-static-data-members/TestCppUnionStaticMembers.py
index 47166636b12647c..4dcc671f79aa98f 100644
--- a/lldb/test/API/lang/cpp/union-static-data-members/TestCppUnionStaticMembers.py
+++ b/lldb/test/API/lang/cpp/union-static-data-members/TestCppUnionStaticMembers.py
@@ -8,14 +8,14 @@
 import lldbsuite.test.lldbutil as lldbutil
 
 class CppUnionStaticMembersTestCase(TestBase):
-    def test(self):
+    def test_print_union(self):
         """Tests that frame variable and expr work
-           for union static data members"""
+           for union with static data members"""
         self.build()
 
         (target, process, main_thread, _) = lldbutil.run_to_source_breakpoint(
             self, "return 0", lldb.SBFileSpec("main.cpp")
-        )                                                                     
+        )
 
         self.expect("frame variable foo", substrs=["val = 42"])
         self.expect("frame variable bar", substrs=["val = 137"])
@@ -27,6 +27,16 @@ def test(self):
                 name="val", value="137"
             )])
 
+    @expectedFailureWindows
+    def test_expr_union_static_members(self):
+        """Tests that frame variable and expr work
+           for union static data members"""
+        self.build()
+
+        (target, process, main_thread, _) = lldbutil.run_to_source_breakpoint(
+            self, "return 0", lldb.SBFileSpec("main.cpp")
+        )
+
         self.expect_expr("Foo::sVal1", result_type="const int", result_value="-42")
         self.expect_expr("Foo::sVal2", result_type="Foo", result_children=[ValueCheck(
                 name="val", value="42"
@@ -37,6 +47,12 @@ def test_union_in_anon_namespace(self):
         """Tests that frame variable and expr work
            for union static data members in anonymous
            namespaces"""
+        self.build()
+
+        (target, process, main_thread, _) = lldbutil.run_to_source_breakpoint(
+            self, "return 0", lldb.SBFileSpec("main.cpp")
+        )
+
         self.expect_expr("Bar::sVal1", result_type="const int", result_value="-137")
         self.expect_expr("Bar::sVal2", result_type="Bar", result_children=[ValueCheck(
                 name="val", value="137"

@github-actions
Copy link

github-actions bot commented Oct 6, 2023

✅ With the latest revision this PR passed the Python code formatter.

…fail on some platforms

Split out the assertions that fail on Windows in preparation to
XFAILing them.

Drive-by change:
* Add a missing `self.build()` call in `test_union_in_anon_namespace`
* Fix formatting
These tests never worked since their introduction in
llvm#68300
@Michael137 Michael137 force-pushed the bugfix/lldb-static-union-member-test-fix branch from eac7b78 to 1c36099 Compare October 6, 2023 11:49
@Michael137 Michael137 merged commit d579a1a into llvm:main Oct 6, 2023
Michael137 added a commit to Michael137/llvm-project that referenced this pull request Jan 18, 2024
…llvm#68408)

Split out the assertions that fail on Windows in preparation to
XFAILing them.

Drive-by change:
* Add a missing `self.build()` call in `test_union_in_anon_namespace`
* Fix formatting
* Add expectedFailureWindows decorator

(cherry picked from commit d579a1a)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants