diff options
Diffstat (limited to 'debian/tests/01_sanity_tests.py')
| -rwxr-xr-x | debian/tests/01_sanity_tests.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/debian/tests/01_sanity_tests.py b/debian/tests/01_sanity_tests.py new file mode 100755 index 00000000..63d98631 --- /dev/null +++ b/debian/tests/01_sanity_tests.py @@ -0,0 +1,54 @@ +# +# UEFI Shim sanity checks for tests +# +# Copyright (C) 2019 Canonical, Ltd. +# Author: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +import subprocess +import sys +import unittest + +from uefi_tests_base import UEFITestsBase + + +class SanityTests(UEFITestsBase): + ''' + Sanity checks for uefi tests + ''' + + def testArchitectureSuffixes(self): + """Ensure sanity of our concept of architecture suffixes for UEFI""" + + machine = subprocess.check_output(['uname', '-m']).rstrip().decode('utf-8') + if machine == 'x86_64': + self.assertEqual('x64', self.arch_suffix) + self.assertEqual('x86_64-efi', self.grub_arch) + self.assertEqual('qemu-system-x86_64', self.qemu_arch) + elif machine == 'aarch64': + self.assertEqual('aa64', self.arch_suffix) + self.assertEqual('arm64-efi', self.grub_arch) + self.assertEqual('qemu-system-aarch64', self.qemu_arch) + + def testQemuAvailable(self): + """Ensure QEMU is available for this architecture""" + try: + out = subprocess.run([self.qemu_arch, '-version'], stdout=None) + out.check_returncode() + except: + raise UEFINotAvailable(feature="qemu", arch=self.arch_machine, + details="%s failed to run" % self.qemu_arch) + + +unittest.main(testRunner=unittest.TextTestRunner(stream=sys.stdout, verbosity=2)) |
