HomePhabricator

[lldb_test_suite] Fix lldb test suite targeting remote Android

Description

[lldb_test_suite] Fix lldb test suite targeting remote Android

Summary:
Fixed Android.rules for running test suite on remote android

  • the build configuration is not compatible with ndk structure, change it to link to static libc++
  • generally clang should be able to use libc++ and will link against the right library, but some libc++ installations require the user manually link libc++abi.
  • add flag -lc++abi to fix the test binary build failure

Added skipIfTargetAndroid skipUnlessTargetAndroid for better test support

  • the skipIfPlatform method will ask lldbplatformutil.getPlatform() for platform info which is actually the os type, and Android is not os type but environment
  • create this function to handle the android target condition

To Run Test on Remote Android
1 start lldb-server on your devices
2 run lldb-dotest with following configuration:
./lldb-dotest --out-of-tree-debugserver --arch aarch64 --platform-name remote-android --platform-url connect://localhost:12345 --platform-working-dir /data/local/tmp/ --compiler your/ndk/clang

Reviewers: xiaobai, labath

Reviewed By: labath

Subscribers: labath, javed.absar, kristof.beyls, srhines, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D64118