test_edk2.py 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import os
  2. import infra.basetest
  3. class TestEdk2(infra.basetest.BRTest):
  4. config = \
  5. """
  6. BR2_aarch64=y
  7. BR2_TOOLCHAIN_EXTERNAL=y
  8. BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
  9. BR2_TARGET_ROOTFS_EXT2=y
  10. BR2_TARGET_ROOTFS_EXT2_4=y
  11. # BR2_TARGET_ROOTFS_TAR is not set
  12. BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/aarch64-sbsa/assemble-flash-images support/scripts/genimage.sh"
  13. BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/qemu/aarch64-sbsa/genimage.cfg"
  14. BR2_LINUX_KERNEL=y
  15. BR2_LINUX_KERNEL_CUSTOM_VERSION=y
  16. BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.58"
  17. BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
  18. BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="support/testing/tests/boot/test_edk2/linux.config"
  19. BR2_TARGET_EDK2=y
  20. BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA=y
  21. BR2_TARGET_GRUB2=y
  22. BR2_TARGET_GRUB2_ARM64_EFI=y
  23. BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
  24. BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y
  25. BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.11"
  26. BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu_sbsa"
  27. BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
  28. BR2_PACKAGE_HOST_GENIMAGE=y
  29. BR2_PACKAGE_HOST_DOSFSTOOLS=y
  30. BR2_PACKAGE_HOST_MTOOLS=y
  31. BR2_PACKAGE_HOST_QEMU=y
  32. BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y
  33. """
  34. def __init__(self, names):
  35. """Setup common test variables."""
  36. super(TestEdk2, self).__init__(names)
  37. """All EDK2 releases <= edk2-stable202408 can't be fetched from git
  38. anymore due to a missing git submodule as reported by [1].
  39. Usually Buildroot fall-back using https://sources.buildroot.net
  40. thanks to BR2_BACKUP_SITE where a backup of the generated archive
  41. is available. But the BRConfigTest remove BR2_BACKUP_SITE default
  42. value while generating the .config used by TestEdk2.
  43. Replace the BR2_BACKUP_SITE override from BRConfigTest in order
  44. to continue testing EDK2 package using the usual backup site.
  45. To be removed with the next EDK2 version bump using this commit
  46. [2].
  47. [1] https://github.com/tianocore/edk2/issues/6398
  48. [2] https://github.com/tianocore/edk2/commit/95d8a1c255cfb8e063d679930d08ca6426eb5701
  49. """
  50. self.config = self.config.replace('BR2_BACKUP_SITE=""\n', '')
  51. def test_run(self):
  52. hda = os.path.join(self.builddir, "images", "disk.img")
  53. flash0 = os.path.join(self.builddir, "images", "SBSA_FLASH0.fd")
  54. flash1 = os.path.join(self.builddir, "images", "SBSA_FLASH1.fd")
  55. self.emulator.boot(arch="aarch64",
  56. options=["-M", "sbsa-ref",
  57. "-cpu", "cortex-a57",
  58. "-m", "512M",
  59. "-pflash", flash0,
  60. "-pflash", flash1,
  61. "-hda", hda])
  62. self.emulator.login()