[Lldb-commits] [lldb] [lldb[test] TestCppUnionStaticMembers.py: XFAIL assertions on windows (PR #68408)
Michael Buch via lldb-commits
lldb-commits at lists.llvm.org
Fri Oct 6 04:07:51 PDT 2023
https://github.com/Michael137 created https://github.com/llvm/llvm-project/pull/68408
These tests never worked since their introduction in
https://github.com/llvm/llvm-project/pull/68300
>From c5f0e050d8bfaad588693c99b2f680084a956718 Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Fri, 6 Oct 2023 12:00:28 +0100
Subject: [PATCH 1/3] [lldb][test] TestCppUnionStaticMembers.py: split out
assertions that 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
---
.../TestCppUnionStaticMembers.py | 21 ++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
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..01e8a25276bc43c 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,15 @@ def test(self):
name="val", value="137"
)])
+ 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 +46,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"
>From b5fc63d9372b41ac4bdd3a95a40907b6ec32225d Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Fri, 6 Oct 2023 12:03:28 +0100
Subject: [PATCH 2/3] [lldb][lldbsuite] Add expectedFailureWindows decorator
---
lldb/packages/Python/lldbsuite/test/decorators.py | 3 +++
1 file changed, 3 insertions(+)
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):
>From eac7b78ad0e655da2cf997690a55e8a928657e47 Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Fri, 6 Oct 2023 12:04:18 +0100
Subject: [PATCH 3/3] [lldb[test] TestCppUnionStaticMembers.py: XFAIL
assertions on windows
These tests never worked since their introduction in
https://github.com/llvm/llvm-project/pull/68300
---
.../cpp/union-static-data-members/TestCppUnionStaticMembers.py | 1 +
1 file changed, 1 insertion(+)
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 01e8a25276bc43c..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
@@ -27,6 +27,7 @@ def test_print_union(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"""
More information about the lldb-commits
mailing list