summaryrefslogtreecommitdiff
path: root/debian/tests/10_uefi_boot_tests.py
diff options
context:
space:
mode:
authorSteve McIntyre <93sam@debian.org>2024-04-17 20:21:14 +0000
committerSteve McIntyre <93sam@debian.org>2024-04-17 20:21:14 +0000
commitee48d7e5297e1273e398051e5268c4b8993fd7b1 (patch)
treeae498d04fbce554aa7793373e6e636cb83a55e22 /debian/tests/10_uefi_boot_tests.py
parentf4f4e39e16af685d5d6de16c4fcc0e04f651ab70 (diff)
parentc62e4f08ea8651808c03627b9049eef6f9618c29 (diff)
downloadefi-boot-shim-ee48d7e5297e1273e398051e5268c4b8993fd7b1.tar.gz
efi-boot-shim-ee48d7e5297e1273e398051e5268c4b8993fd7b1.zip
Merge branch 'tests' into 'master'
Tests See merge request efi-team/shim!14
Diffstat (limited to 'debian/tests/10_uefi_boot_tests.py')
-rwxr-xr-xdebian/tests/10_uefi_boot_tests.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/debian/tests/10_uefi_boot_tests.py b/debian/tests/10_uefi_boot_tests.py
new file mode 100755
index 00000000..7ef4df44
--- /dev/null
+++ b/debian/tests/10_uefi_boot_tests.py
@@ -0,0 +1,51 @@
+#
+# UEFI boot testing
+#
+# 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, UEFINotAvailable, UEFIVirtualMachine
+
+
+class UEFIBootTests(UEFITestsBase):
+ """
+ Validate UEFI signatures for common problems
+ """
+ @classmethod
+ def setUpClass(klass):
+ UEFITestsBase.setUpClass()
+ klass.base_image = UEFIVirtualMachine(arch=klass.image_arch)
+ #klass.base_image.prepare()
+
+ def testCanary(self):
+ """Validate that a control/canary (unchanged) image boots fine"""
+ canary = UEFIVirtualMachine(self.base_image)
+ canary.run()
+ self.assertBoots(canary)
+
+ def testNewShim(self):
+ """Validate that a new SHIM binary on the image will boot"""
+ new_shim = UEFIVirtualMachine(self.base_image)
+ new_shim.update(src='/usr/lib/shim/shimx64.efi.signed', dst='/boot/efi/EFI/debian/shimx64.efi')
+ new_shim.update(src='/usr/lib/shim/shimx64.efi.signed', dst='/boot/efi/EFI/BOOT/BOOTX64.efi')
+ new_shim.run()
+ self.assertBoots(new_shim)
+
+
+unittest.main(testRunner=unittest.TextTestRunner(stream=sys.stdout, verbosity=2))