[Lldb-commits] [lldb] a0c6ebd - [lldb] Refactor TestFixIts so that most of it can run on aarch64-linux

Raphael Isemann via lldb-commits lldb-commits at lists.llvm.org
Fri Apr 10 04:39:05 PDT 2020


Author: Raphael Isemann
Date: 2020-04-10T13:38:45+02:00
New Revision: a0c6ebd58fabd4d42fce2233ee4c28e7febfe62f

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

LOG: [lldb] Refactor TestFixIts so that most of it can run on aarch64-linux

The final function call to `test_X` is failing on aarch64-linux with SIGILL.
Function calls to previous expressions seem to just not work on aarch64-linux
but I don't see another way to test the multiple-run Fix-Its.

This patch refactors the test that the skipIf for aarch64 Linux only covers
the part of the test that was added D77214.

Added: 
    

Modified: 
    lldb/test/API/commands/expression/fixits/TestFixIts.py

Removed: 
    


################################################################################
diff  --git a/lldb/test/API/commands/expression/fixits/TestFixIts.py b/lldb/test/API/commands/expression/fixits/TestFixIts.py
index b348e2dca2cc..4f1d974c753b 100644
--- a/lldb/test/API/commands/expression/fixits/TestFixIts.py
+++ b/lldb/test/API/commands/expression/fixits/TestFixIts.py
@@ -23,7 +23,6 @@ def test_with_dummy_target(self):
         self.assertEqual(result, lldb.eReturnStatusSuccessFinishResult, "The expression was successful.")
         self.assertTrue("Fix-it applied" in ret_val.GetError(), "Found the applied FixIt.")
 
-    @expectedFailureAll(archs=["aarch64"], oslist=["linux"])
     def test_with_target(self):
         """Test calling expressions with errors that can be fixed by the FixIts."""
         self.build()
@@ -83,12 +82,22 @@ def test_with_target(self):
             error_string.find("my_pointer->second.a") != -1,
             "Fix was right")
 
+    # The final function call runs into SIGILL on aarch64-linux.
+    @expectedFailureAll(archs=["aarch64"], oslist=["linux"])
+    def test_with_multiple_retries(self):
+        """Test calling expressions with errors that can be fixed by the FixIts."""
+        self.build()
+        (target, process, self.thread, bkpt) = lldbutil.run_to_source_breakpoint(self,
+                                        'Stop here to evaluate expressions',
+                                         lldb.SBFileSpec("main.cpp"))
 
         # Test repeatedly applying Fix-Its to expressions and reparsing them.
         multiple_runs_options = lldb.SBExpressionOptions()
         multiple_runs_options.SetAutoApplyFixIts(True)
         multiple_runs_options.SetTopLevel(True)
 
+        frame = self.thread.GetFrameAtIndex(0)
+
         # An expression that needs two parse attempts with one Fix-It each
         # to be successfully parsed.
         two_runs_expr = """


        


More information about the lldb-commits mailing list