aboutsummaryrefslogtreecommitdiff
path: root/binutils/testsuite/binutils-all/objdump.exp
diff options
context:
space:
mode:
Diffstat (limited to 'binutils/testsuite/binutils-all/objdump.exp')
-rw-r--r--binutils/testsuite/binutils-all/objdump.exp42
1 files changed, 35 insertions, 7 deletions
diff --git a/binutils/testsuite/binutils-all/objdump.exp b/binutils/testsuite/binutils-all/objdump.exp
index b46fd0a..c229194 100644
--- a/binutils/testsuite/binutils-all/objdump.exp
+++ b/binutils/testsuite/binutils-all/objdump.exp
@@ -740,34 +740,62 @@ proc test_objdump_dotnet_assemblies {} {
set test "dotnet-assemblies"
- set got [binutils_run "$base_dir/testsuite/gentestdlls" "tmpdir"]
- set want "wrote dotnet-linux-x86-64.dll"
+ set got [binutils_run "$base_dir/testsuite/gentestdlls" "tmpdir pei-i386 pei-x86-64"]
+ set want "wrote linux-pei-x86-64.dll"
+ # The test program is hardcoded to generate valid dlls on any target
if ![regexp $want $got] then {
- unsupported "$test"
+ fail "$test"
}
- set test "dotnet-assemblies (32-bit)"
+ # First test an ordinary x86 PE format DLL.
+ set test "dotnet-assemblies (ordinary x86 DLL)"
set want "file format pei-i386"
- set got [binutils_run $OBJDUMP "-x tmpdir/simple-i386.dll"]
+ set got [binutils_run $OBJDUMP "-x tmpdir/simple-pei-i386.dll"]
if ![regexp $want $got] then {
if [regexp "file format not recognized" $got] then {
+ # If the target does not recognize vanilla x86 PE format files
+ # then it cannot be expected to recognize .NET assemblies. But
+ # this means that these tests are unsupported, rather than failures.
unsupported $test
} else {
fail "$test"
}
+ # In either case, if cannot pass this test, then
+ # there is no point in running any further tests.
+ return
+ }
+ pass $test
+
+ # Next check a 32-bit .NET DLL.
+ set test "dotnet-assemblies (32-bit .NET)"
+ set got [binutils_run $OBJDUMP "-x tmpdir/linux-pei-i386.dll"]
+ if ![regexp $want $got] then {
+ fail "$test"
} else {
pass $test
}
- set test "dotnet-assemblies (64-bit)"
+ # Next check an ordrinary x86_64 PE format DLL.
+ set test "dotnet-assemblies (ordinary x86_64 DLL)"
set want "file format pei-x86-64"
- set got [binutils_run $OBJDUMP "-x tmpdir/dotnet-linux-x86-64.dll"]
+ set got [binutils_run $OBJDUMP "-x tmpdir/simple-pei-x86-64.dll"]
if ![regexp $want $got] then {
if [regexp "file format not recognized" $got] then {
+ # If the target does not support 64-bit PE format
+ # files, then the following tests are unsupported.
unsupported $test
} else {
fail "$test"
}
+ return
+ }
+ pass $test
+
+ # Finally check a 64-bit .NET DLL.
+ set test "dotnet-assemblies (64-bit)"
+ set got [binutils_run $OBJDUMP "-x tmpdir/linux-pei-x86-64.dll"]
+ if ![regexp $want $got] then {
+ fail "$test"
} else {
pass $test
}