Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lldb / test / API / functionalities / object-file / TestImageListMultiArchitecture.py
blobe1959fe4edbdda3005bbe853dcd78ac8edf5def0
1 """
2 Test lldb 'image list' on object files across multiple architectures.
3 This exercises classes like ObjectFileELF and their support for opening
4 foreign-architecture object files.
5 """
8 import os.path
9 import re
11 import lldb
12 from lldbsuite.test.decorators import *
13 from lldbsuite.test.lldbtest import *
14 from lldbsuite.test import lldbutil
17 class TestImageListMultiArchitecture(TestBase):
18 @no_debug_info_test
19 @skipIfRemote
20 def test_image_list_shows_multiple_architectures(self):
21 """Test that image list properly shows the correct architecture for a set of different architecture object files."""
22 images = {
23 "hello-freebsd-10.0-x86_64-clang-3.3": re.compile(
24 r"x86_64-(\*)?-freebsd10.0(-unknown)? x86_64"
26 "hello-freebsd-10.0-x86_64-gcc-4.7.3": re.compile(
27 r"x86_64-(\*)?-freebsd10.0(-unknown)? x86_64"
29 "hello-netbsd-6.1-x86_64-gcc-4.5.3": re.compile(
30 r"x86_64-(\*)?-netbsd6.1.4(-unknown)? x86_64"
32 "hello-ubuntu-14.04-x86_64-gcc-4.8.2": re.compile(
33 r"x86_64-(\*)?-linux(-unknown)? x86_64"
35 "hello-ubuntu-14.04-x86_64-clang-3.5pre": re.compile(
36 r"x86_64-(\*)?-linux(-unknown)? x86_64"
40 for image_name in images:
41 file_name = os.path.abspath(
42 os.path.join(os.path.dirname(__file__), "bin", image_name)
44 expected_triple_and_arch_regex = images[image_name]
46 self.runCmd("file {}".format(file_name))
47 self.match("image list -t -A", [expected_triple_and_arch_regex])
48 # Revert to the host platform after all of this is done
49 self.runCmd("platform select host")