[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