From 69b3363a5340439d3ff793988c4d628644dedd71 Mon Sep 17 00:00:00 2001 From: Raphael Isemann Date: Thu, 17 Oct 2019 21:27:26 +0000 Subject: [PATCH] [lldb] X-fail tests that use constructors in expressions on Windows These tests were testing a bug related to constructors. It seems that on Windows the expression command can't construct objects (or at least, call their constructor explicitly which is required for the tests), so this is just x-failing them until Windows actually supports constructor calls. llvm-svn: 375173 --- .../call-overridden-method/TestCallOverriddenMethod.py | 17 +++++++++++++++++ .../TestIgnoreArtificialConstructors.py | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/TestCallOverriddenMethod.py b/lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/TestCallOverriddenMethod.py index 93b9185..f630aef 100644 --- a/lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/TestCallOverriddenMethod.py +++ b/lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/TestCallOverriddenMethod.py @@ -53,3 +53,20 @@ class ExprCommandCallOverriddenMethod(TestBase): # Test with locally constructed instances. self.expect("expr Base().foo()", substrs=["1"]) self.expect("expr Derived().foo()", substrs=["2"]) + + @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr43707") + def test_call_on_temporary(self): + """Test calls to overridden methods in derived classes.""" + self.build() + + # Set breakpoint in main and run exe + self.runCmd("file " + self.getBuildArtifact("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) + + self.runCmd("run", RUN_SUCCEEDED) + + # Test with locally constructed instances. + self.expect("expr Base().foo()", substrs=["1"]) + self.expect("expr Derived().foo()", substrs=["2"]) diff --git a/lldb/packages/Python/lldbsuite/test/commands/expression/ignore-artificial-constructors/TestIgnoreArtificialConstructors.py b/lldb/packages/Python/lldbsuite/test/commands/expression/ignore-artificial-constructors/TestIgnoreArtificialConstructors.py index 0342465..e33423a 100644 --- a/lldb/packages/Python/lldbsuite/test/commands/expression/ignore-artificial-constructors/TestIgnoreArtificialConstructors.py +++ b/lldb/packages/Python/lldbsuite/test/commands/expression/ignore-artificial-constructors/TestIgnoreArtificialConstructors.py @@ -1,4 +1,5 @@ from lldbsuite.test import lldbinline from lldbsuite.test import decorators -lldbinline.MakeInlineTest(__file__, globals(), None) +lldbinline.MakeInlineTest(__file__, globals(), [lldbinline.expectedFailureAll( + oslist=["windows"], bugnumber="llvm.org/pr43707")]) -- 2.7.4