diff options
author | Pavel Labath <labath@google.com> | 2018-03-20 12:46:33 +0000 |
---|---|---|
committer | Pavel Labath <labath@google.com> | 2018-03-20 12:46:33 +0000 |
commit | e92ecd3196db3612a3ee06b2d195adff26fa2019 (patch) | |
tree | f8ab3fe2b71e24466e871290dc6e0b3c00357098 /lldb/packages/Python/lldbsuite/test/expression_command | |
parent | 76c29ee8158142b9c97ad56f5da7f99970bbbd9f (diff) | |
download | bcm5719-llvm-e92ecd3196db3612a3ee06b2d195adff26fa2019.tar.gz bcm5719-llvm-e92ecd3196db3612a3ee06b2d195adff26fa2019.zip |
Fix some tests for PPC64le architecture
Summary:
- Fix test jump for powerpc64le
Jumping directly to the return line on power architecture dos not means
returning the value that is seen on the code. The last test fails, because
it needs the execution of some assembly in the beginning of the function.
Avoiding this test for this architecture.
- Avoid evaluate environ variable name on Linux
On Linux the Symbol environ conflicts with another variable, then in
order to avoid it, this test was moved into a specific test, which is not
supported if the OS is Linux.
- Added PPC64le as MIPS behavior
Checking the disassembler output, on PPC64le machines behaves as MPIS.
Added method to identify PPC64le architecture and checking it when
disassembling instructions in the test case.
Reviewers: labath
Reviewed By: labath
Subscribers: clayborg, labath, luporl, alexandreyy, sdardis, ki.stfu, arichardson
Differential Revision: https://reviews.llvm.org/D44101
Patch by Leonardo Bianconi <leonardo.bianconi@eldorado.org.br>.
llvm-svn: 327977
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/expression_command/test/TestExprs2.py | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/test/TestExprs2.py b/lldb/packages/Python/lldbsuite/test/expression_command/test/TestExprs2.py index 8a949bcd779..db7c2edc6ac 100644 --- a/lldb/packages/Python/lldbsuite/test/expression_command/test/TestExprs2.py +++ b/lldb/packages/Python/lldbsuite/test/expression_command/test/TestExprs2.py @@ -43,23 +43,38 @@ class ExprCommands2TestCase(TestBase): startstr="(int *) $0 = 0x") # (int *) $0 = 0x00007fff5fbff258 - # Do anonymous symbols work? - self.expect("expression ((char**)environ)[0]", - startstr="(char *) $1 = 0x") - # (char *) $1 = 0x00007fff5fbff298 "Apple_PubSub_Socket_Render=/tmp/launch-7AEsUD/Render" - # Do return values containing the contents of expression locals work? self.expect("expression int i = 5; i", - startstr="(int) $2 = 5") + startstr="(int) $1 = 5") # (int) $2 = 5 - self.expect("expression $2 + 1", - startstr="(int) $3 = 6") + self.expect("expression $1 + 1", + startstr="(int) $2 = 6") # (int) $3 = 6 # Do return values containing the results of static expressions work? self.expect("expression 20 + 3", - startstr="(int) $4 = 23") + startstr="(int) $3 = 23") # (int) $4 = 5 - self.expect("expression $4 + 1", - startstr="(int) $5 = 24") + self.expect("expression $3 + 1", + startstr="(int) $4 = 24") # (int) $5 = 6 + + @skipIfLinux + @expectedFailureAll( + oslist=["windows"], + bugnumber="llvm.org/pr24489: Name lookup not working correctly on Windows") + def test_expr_symbols(self): + """Test symbols.""" + self.build() + + 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=False) + + self.runCmd("run", RUN_SUCCEEDED) + + # Do anonymous symbols work? + self.expect("expression ((char**)environ)[0]", + startstr="(char *) $1 = 0x") + # (char *) $1 = 0x00007fff5fbff298 "Apple_PubSub_Socket_Render=/tmp/launch-7AEsUD/Render" |