summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/functionalities/object-file
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2015-10-28 17:43:26 +0000
committerZachary Turner <zturner@google.com>2015-10-28 17:43:26 +0000
commitc432c8f856e0bd84de980a9d9bb2d31b06fa95b1 (patch)
tree4efa528e074a6e2df782345e4cd97f5d85d038c4 /lldb/packages/Python/lldbsuite/test/functionalities/object-file
parenta8a3bd210086b50242903ed95048fe5e53897878 (diff)
downloadbcm5719-llvm-c432c8f856e0bd84de980a9d9bb2d31b06fa95b1.tar.gz
bcm5719-llvm-c432c8f856e0bd84de980a9d9bb2d31b06fa95b1.zip
Move lldb/test to lldb/packages/Python/lldbsuite/test.
This is the conclusion of an effort to get LLDB's Python code structured into a bona-fide Python package. This has a number of benefits, but most notably the ability to more easily share Python code between different but related pieces of LLDB's Python infrastructure (for example, `scripts` can now share code with `test`). llvm-svn: 251532
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/object-file')
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/object-file/TestImageListMultiArchitecture.py41
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-freebsd-10.0-x86_64-clang-3.3bin0 -> 7477 bytes
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-freebsd-10.0-x86_64-gcc-4.7.3bin0 -> 7520 bytes
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-netbsd-6.1-x86_64-gcc-4.5.3bin0 -> 7352 bytes
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-ubuntu-14.04-x86_64-clang-3.5prebin0 -> 8112 bytes
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-ubuntu-14.04-x86_64-gcc-4.8.2bin0 -> 8056 bytes
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-unknown-kalimba_arch4-kcc-36bin0 -> 17224 bytes
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-unknown-kalimba_arch5-kcc-39bin0 -> 28356 bytes
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello.c8
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello.cpp8
10 files changed, 57 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/object-file/TestImageListMultiArchitecture.py b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/TestImageListMultiArchitecture.py
new file mode 100644
index 00000000000..56489529d2e
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/TestImageListMultiArchitecture.py
@@ -0,0 +1,41 @@
+"""
+Test lldb 'image list' on object files across multiple architectures.
+This exercises classes like ObjectFileELF and their support for opening
+foreign-architecture object files.
+"""
+
+from __future__ import print_function
+
+import use_lldb_suite
+
+import os.path
+import lldb
+from lldbtest import *
+import lldbutil
+import re
+
+class TestImageListMultiArchitecture(TestBase):
+
+ mydir = TestBase.compute_mydir(__file__)
+
+ @no_debug_info_test
+ def test_image_list_shows_multiple_architectures(self):
+ """Test that image list properly shows the correct architecture for a set of different architecture object files."""
+ images = {
+ "hello-freebsd-10.0-x86_64-clang-3.3": re.compile(r"x86_64-(\*)?-freebsd10.0(-unknown)? x86_64"),
+ "hello-freebsd-10.0-x86_64-gcc-4.7.3": re.compile(r"x86_64-(\*)?-freebsd10.0(-unknown)? x86_64"),
+ "hello-netbsd-6.1-x86_64-gcc-4.5.3": re.compile(r"x86_64-(\*)?-netbsd(-unknown)? x86_64"),
+ "hello-ubuntu-14.04-x86_64-gcc-4.8.2": re.compile(r"x86_64-(\*)?-linux(-unknown)? x86_64"),
+ "hello-ubuntu-14.04-x86_64-clang-3.5pre": re.compile(r"x86_64-(\*)?-linux(-unknown)? x86_64"),
+ "hello-unknown-kalimba_arch4-kcc-36": re.compile(r"kalimba4-csr-(unknown|\*)(-unknown)? kalimba"),
+ "hello-unknown-kalimba_arch5-kcc-39": re.compile(r"kalimba5-csr-(unknown|\*)(-unknown)? kalimba"),
+ }
+
+ for image_name in images:
+ file_name = os.path.abspath(os.path.join(os.path.dirname(__file__), "bin", image_name))
+ expected_triple_and_arch_regex = images[image_name]
+
+ self.runCmd("file {}".format(file_name))
+ self.match("image list -t -A", [expected_triple_and_arch_regex])
+ # Revert to the host platform after all of this is done
+ self.runCmd("platform select host")
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-freebsd-10.0-x86_64-clang-3.3 b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-freebsd-10.0-x86_64-clang-3.3
new file mode 100644
index 00000000000..cea323639b4
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-freebsd-10.0-x86_64-clang-3.3
Binary files differ
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-freebsd-10.0-x86_64-gcc-4.7.3 b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-freebsd-10.0-x86_64-gcc-4.7.3
new file mode 100644
index 00000000000..38f43f8acb9
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-freebsd-10.0-x86_64-gcc-4.7.3
Binary files differ
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-netbsd-6.1-x86_64-gcc-4.5.3 b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-netbsd-6.1-x86_64-gcc-4.5.3
new file mode 100644
index 00000000000..6d531320ae9
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-netbsd-6.1-x86_64-gcc-4.5.3
Binary files differ
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-ubuntu-14.04-x86_64-clang-3.5pre b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-ubuntu-14.04-x86_64-clang-3.5pre
new file mode 100644
index 00000000000..8bdcf4d5b59
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-ubuntu-14.04-x86_64-clang-3.5pre
Binary files differ
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-ubuntu-14.04-x86_64-gcc-4.8.2 b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-ubuntu-14.04-x86_64-gcc-4.8.2
new file mode 100644
index 00000000000..01efbb061b7
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-ubuntu-14.04-x86_64-gcc-4.8.2
Binary files differ
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-unknown-kalimba_arch4-kcc-36 b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-unknown-kalimba_arch4-kcc-36
new file mode 100644
index 00000000000..8e4dd8c883c
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-unknown-kalimba_arch4-kcc-36
Binary files differ
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-unknown-kalimba_arch5-kcc-39 b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-unknown-kalimba_arch5-kcc-39
new file mode 100644
index 00000000000..f80268a08e5
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello-unknown-kalimba_arch5-kcc-39
Binary files differ
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello.c b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello.c
new file mode 100644
index 00000000000..8c804005afe
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int main(int argc, char **argv)
+{
+ printf("Hello, world\n");
+ return 0;
+}
+
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello.cpp b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello.cpp
new file mode 100644
index 00000000000..8c804005afe
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/object-file/bin/hello.cpp
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int main(int argc, char **argv)
+{
+ printf("Hello, world\n");
+ return 0;
+}
+
OpenPOWER on IntegriCloud