[Lldb-commits] [lldb] cdc38c9 - [lldb] Skip parts of TestCallOverriddenMethod.py on Linux

Raphael Isemann via lldb-commits lldb-commits at lists.llvm.org
Fri Nov 8 06:55:30 PST 2019


Author: Raphael Isemann
Date: 2019-11-08T15:55:02+01:00
New Revision: cdc38c93fa22f0bee1bd7b84a27c32abb4a3aba8

URL: https://github.com/llvm/llvm-project/commit/cdc38c93fa22f0bee1bd7b84a27c32abb4a3aba8
DIFF: https://github.com/llvm/llvm-project/commit/cdc38c93fa22f0bee1bd7b84a27c32abb4a3aba8.diff

LOG: [lldb] Skip parts of TestCallOverriddenMethod.py on Linux

The function call and the constructor call fail now several Linux
bots (Swift CI, my own bot and Stella's Debian system), so let's disable
the relevant test parts until we can figure out why it is failing.

Added: 
    

Modified: 
    lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/TestCallOverriddenMethod.py

Removed: 
    


################################################################################
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 09369f43819c..9c25597391de 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
@@ -26,7 +26,7 @@ def setUp(self):
         # Find the line number to break for main.c.
         self.line = line_number('main.cpp', '// Set breakpoint here')
 
-    def test(self):
+    def test_call_on_base(self):
         """Test calls to overridden methods in derived classes."""
         self.build()
 
@@ -42,14 +42,28 @@ def test(self):
         # class method is never an override).
         self.expect("expr b->foo()", substrs=["2"])
 
+        # Test calling the base class.
+        self.expect("expr realbase.foo()", substrs=["1"])
+
+    @skipIfLinux # Returns wrong result code on some platforms.
+    def test_call_on_derived(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 call to overridden method in derived class (this will fail if the
         # overrides table is not correctly set up, as Derived::foo will be assigned
         # a vtable entry that does not exist in the compiled program).
         self.expect("expr d.foo()", substrs=["2"])
 
-        # Test calling the base class.
-        self.expect("expr realbase.foo()", substrs=["1"])
-
+    @skipIfLinux # Calling constructor causes SIGABRT
     @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr43707")
     def test_call_on_temporary(self):
         """Test calls to overridden methods in derived classes."""


        


More information about the lldb-commits mailing list