summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2018-12-11 23:26:32 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-12-13 16:32:14 +0000
commit9ab94cea589fca4394ec1fd8dc06b23fd8e990b9 (patch)
treedbc838b854ded6627414392f965de2e2f31e4c96
parent2322dc4f414da0281fdaffa7bc2205fb82a63d12 (diff)
downloadopenembedded-core-contrib-9ab94cea589fca4394ec1fd8dc06b23fd8e990b9.tar.gz
oeqa/sdk: clarify ELF assertion message
For example, instead of saying "3 != 62", say "Binary was x86-64 but expected i586". Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/sdk/case.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/meta/lib/oeqa/sdk/case.py b/meta/lib/oeqa/sdk/case.py
index ea15d6a107..d8611c8b30 100644
--- a/meta/lib/oeqa/sdk/case.py
+++ b/meta/lib/oeqa/sdk/case.py
@@ -1,6 +1,7 @@
# Copyright (C) 2016 Intel Corporation
# Released under the MIT license (see COPYING.MIT)
+import os
import subprocess
from oeqa.core.case import OETestCase
@@ -26,11 +27,13 @@ class OESDKTestCase(OETestCase):
return tarball
def check_elf(self, path, target_os=None, target_arch=None):
+ """
+ Verify that the ELF binary $path matches the specified target
+ OS/architecture, or if not specified the currently configured MACHINE's
+ OS/architecture.
+ """
import oe.qa, oe.elf
- elf = oe.qa.ELFFile(path)
- elf.open()
-
if not target_os or not target_arch:
output = self._run("echo $OECORE_TARGET_OS:$OECORE_TARGET_ARCH")
target_os, target_arch = output.strip().split(":")
@@ -38,7 +41,11 @@ class OESDKTestCase(OETestCase):
machine_data = oe.elf.machine_dict(None)[target_os][target_arch]
(machine, osabi, abiversion, endian, bits) = machine_data
- self.assertEqual(machine, elf.machine())
+ elf = oe.qa.ELFFile(path)
+ elf.open()
+
+ self.assertEqual(machine, elf.machine(),
+ "Binary was %s but expected %s" %
+ (oe.qa.elf_machine_to_string(elf.machine()), oe.qa.elf_machine_to_string(machine)))
self.assertEqual(bits, elf.abiSize())
self.assertEqual(endian, elf.isLittleEndian())
-