aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael J. Spencer <bigcheesegs@gmail.com>2011-01-20 06:39:15 +0000
committerMichael J. Spencer <bigcheesegs@gmail.com>2011-01-20 06:39:15 +0000
commitdb26073c6a00c2077a45e73c5d8c399550402afc (patch)
tree48b7c3d482564995adffbe0b60d3f9b38bfe24c9
parent92e1deb05182c116bf39bec5f4df3769b5abc7f4 (diff)
Object: Add some tests!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123899 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Object/TestObjectFiles/trivial-object-test.coff-i386bin0 -> 346 bytes
-rw-r--r--test/Object/TestObjectFiles/trivial-object-test.coff-x86-64bin0 -> 347 bytes
-rw-r--r--test/Object/TestObjectFiles/trivial-object-test.elf-i386bin0 -> 716 bytes
-rw-r--r--test/Object/TestObjectFiles/trivial-object-test.elf-x86-64bin0 -> 1024 bytes
-rw-r--r--test/Object/TestObjectFiles/trivial-object-test.macho-i386bin0 -> 552 bytes
-rw-r--r--test/Object/TestObjectFiles/trivial-object-test.macho-x86-64bin0 -> 552 bytes
-rw-r--r--test/Object/dg.exp3
-rw-r--r--test/Object/nm-trivial-object.test19
-rw-r--r--test/Object/objdump-trivial-object.test54
9 files changed, 76 insertions, 0 deletions
diff --git a/test/Object/TestObjectFiles/trivial-object-test.coff-i386 b/test/Object/TestObjectFiles/trivial-object-test.coff-i386
new file mode 100644
index 0000000000..8cfd9949b1
--- /dev/null
+++ b/test/Object/TestObjectFiles/trivial-object-test.coff-i386
Binary files differ
diff --git a/test/Object/TestObjectFiles/trivial-object-test.coff-x86-64 b/test/Object/TestObjectFiles/trivial-object-test.coff-x86-64
new file mode 100644
index 0000000000..077591482c
--- /dev/null
+++ b/test/Object/TestObjectFiles/trivial-object-test.coff-x86-64
Binary files differ
diff --git a/test/Object/TestObjectFiles/trivial-object-test.elf-i386 b/test/Object/TestObjectFiles/trivial-object-test.elf-i386
new file mode 100644
index 0000000000..1a0ea40dfe
--- /dev/null
+++ b/test/Object/TestObjectFiles/trivial-object-test.elf-i386
Binary files differ
diff --git a/test/Object/TestObjectFiles/trivial-object-test.elf-x86-64 b/test/Object/TestObjectFiles/trivial-object-test.elf-x86-64
new file mode 100644
index 0000000000..889f5d96a6
--- /dev/null
+++ b/test/Object/TestObjectFiles/trivial-object-test.elf-x86-64
Binary files differ
diff --git a/test/Object/TestObjectFiles/trivial-object-test.macho-i386 b/test/Object/TestObjectFiles/trivial-object-test.macho-i386
new file mode 100644
index 0000000000..099bd1ebf2
--- /dev/null
+++ b/test/Object/TestObjectFiles/trivial-object-test.macho-i386
Binary files differ
diff --git a/test/Object/TestObjectFiles/trivial-object-test.macho-x86-64 b/test/Object/TestObjectFiles/trivial-object-test.macho-x86-64
new file mode 100644
index 0000000000..93eeb5dece
--- /dev/null
+++ b/test/Object/TestObjectFiles/trivial-object-test.macho-x86-64
Binary files differ
diff --git a/test/Object/dg.exp b/test/Object/dg.exp
new file mode 100644
index 0000000000..be82c51392
--- /dev/null
+++ b/test/Object/dg.exp
@@ -0,0 +1,3 @@
+load_lib llvm.exp
+
+RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{test}]]
diff --git a/test/Object/nm-trivial-object.test b/test/Object/nm-trivial-object.test
new file mode 100644
index 0000000000..6de1780a16
--- /dev/null
+++ b/test/Object/nm-trivial-object.test
@@ -0,0 +1,19 @@
+RUN: llvm-nm %p/TestObjectFiles/trivial-object-test.coff-i386 \
+RUN: | FileCheck %s -check-prefix COFF
+RUN: llvm-nm %p/TestObjectFiles/trivial-object-test.coff-x86-64 \
+RUN: | FileCheck %s -check-prefix COFF
+RUN: llvm-nm %p/TestObjectFiles/trivial-object-test.elf-i386 \
+RUN: | FileCheck %s -check-prefix ELF
+RUN: llvm-nm %p/TestObjectFiles/trivial-object-test.elf-x86-64 \
+RUN: | FileCheck %s -check-prefix ELF
+
+COFF: 00000000 d .data
+COFF: 00000000 t .text
+COFF: 00000000 d L{{_?}}.str
+COFF: U {{_?}}SomeOtherFunction
+COFF: 00000000 T {{_?}}main
+COFF: U {{_?}}puts
+
+ELF: U SomeOtherFunction
+ELF: 00000000 T main
+ELF: U puts
diff --git a/test/Object/objdump-trivial-object.test b/test/Object/objdump-trivial-object.test
new file mode 100644
index 0000000000..c4855fdfd6
--- /dev/null
+++ b/test/Object/objdump-trivial-object.test
@@ -0,0 +1,54 @@
+RUN: llvm-objdump -d %p/TestObjectFiles/trivial-object-test.coff-i386 \
+RUN: | FileCheck %s -check-prefix COFF-i386
+RUN: llvm-objdump -d %p/TestObjectFiles/trivial-object-test.coff-x86-64 \
+RUN: | FileCheck %s -check-prefix COFF-x86-64
+RUN: llvm-objdump -d %p/TestObjectFiles/trivial-object-test.elf-i386 \
+RUN: | FileCheck %s -check-prefix ELF-i386
+RUN: llvm-objdump -d %p/TestObjectFiles/trivial-object-test.elf-x86-64 \
+RUN: | FileCheck %s -check-prefix ELF-x86-64
+
+COFF-i386: file format COFF-i386
+COFF-i386: Disassembly of section .text:
+COFF-i386: 0: 83 ec 0c subl $12, %esp
+COFF-i386: 3: c7 44 24 08 00 00 00 00 movl $0, 8(%esp)
+COFF-i386: b: c7 04 24 00 00 00 00 movl $0, (%esp)
+COFF-i386: 12: e8 00 00 00 00 calll 0
+COFF-i386: 17: e8 00 00 00 00 calll 0
+COFF-i386: 1c: 8b 44 24 08 movl 8(%esp), %eax
+COFF-i386: 20: 83 c4 0c addl $12, %esp
+COFF-i386: 23: c3 ret
+
+COFF-x86-64: file format COFF-x86-64
+COFF-x86-64: Disassembly of section .text:
+COFF-x86-64: 0: 48 83 ec 28 subq $40, %rsp
+COFF-x86-64: 4: c7 44 24 24 00 00 00 00 movl $0, 36(%rsp)
+COFF-x86-64: c: 48 8d 0d 00 00 00 00 leaq (%rip), %rcx
+COFF-x86-64: 13: e8 00 00 00 00 callq 0
+COFF-x86-64: 18: e8 00 00 00 00 callq 0
+COFF-x86-64: 1d: 8b 44 24 24 movl 36(%rsp), %eax
+COFF-x86-64: 21: 48 83 c4 28 addq $40, %rsp
+COFF-x86-64: 25: c3 ret
+
+
+ELF-i386: file format ELF32-i386
+ELF-i386: Disassembly of section .text:
+ELF-i386: 0: 83 ec 0c subl $12, %esp
+ELF-i386: 3: c7 44 24 08 00 00 00 00 movl $0, 8(%esp)
+ELF-i386: b: c7 04 24 00 00 00 00 movl $0, (%esp)
+ELF-i386: 12: e8 fc ff ff ff calll -4
+ELF-i386: 17: e8 fc ff ff ff calll -4
+ELF-i386: 1c: 8b 44 24 08 movl 8(%esp), %eax
+ELF-i386: 20: 83 c4 0c addl $12, %esp
+ELF-i386: 23: c3 ret
+
+ELF-x86-64: file format ELF64-x86-64
+ELF-x86-64: Disassembly of section .text:
+ELF-x86-64: 0: 48 83 ec 08 subq $8, %rsp
+ELF-x86-64: 4: c7 44 24 04 00 00 00 00 movl $0, 4(%rsp)
+ELF-x86-64: c: bf 00 00 00 00 movl $0, %edi
+ELF-x86-64: 11: e8 00 00 00 00 callq 0
+ELF-x86-64: 16: 30 c0 xorb %al, %al
+ELF-x86-64: 18: e8 00 00 00 00 callq 0
+ELF-x86-64: 1d: 8b 44 24 04 movl 4(%rsp), %eax
+ELF-x86-64: 21: 48 83 c4 08 addq $8, %rsp
+ELF-x86-64: 25: c3 ret