diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2021-11-08 18:50:09 +0100 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2021-11-08 18:50:09 +0100 |
commit | 114f3c8cc427333dbae331dfd2ecae64676b087e (patch) | |
tree | 6b609b516b20585ab8ad70cd86055c37132fd169 /tests/avocado/boot_linux.py | |
parent | 5e10ccc2706768bcba608f5d174d4079944c270a (diff) | |
parent | b94d00898a9ee708b4d4b79432c2272905a56b06 (diff) |
Merge remote-tracking branch 'remotes/philmd/tags/avocado-20211108' into staging
Integration testing patches
- Rename tests/acceptance/ -> tests/avocado/
- Rename avocado_qemu.Test -> avocado_qemu.QemuSystemTest
- Introduce QemuUserTest class
- Add the first linux-user test, covering the bFLT loader
# gpg: Signature made Mon 08 Nov 2021 05:16:46 PM CET
# gpg: using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full]
* remotes/philmd/tags/avocado-20211108:
tests/avocado: Remove p7zip binary availability check
tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest
tests/avocado: Add bFLT loader linux-user test
tests/avocado: Share useful helpers from virtiofs_submounts test
tests/avocado: Introduce QemuUserTest base class
tests/avocado: Make pick_default_qemu_bin() more generic
tests/avocado: Extract QemuBaseTest from Test
tests/acceptance: rename tests acceptance to tests avocado
tests/acceptance: introduce new check-avocado target
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'tests/avocado/boot_linux.py')
-rw-r--r-- | tests/avocado/boot_linux.py | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/tests/avocado/boot_linux.py b/tests/avocado/boot_linux.py new file mode 100644 index 0000000000..ab19146d1e --- /dev/null +++ b/tests/avocado/boot_linux.py @@ -0,0 +1,138 @@ +# Functional test that boots a complete Linux system via a cloud image +# +# Copyright (c) 2018-2020 Red Hat, Inc. +# +# Author: +# Cleber Rosa <crosa@redhat.com> +# +# This work is licensed under the terms of the GNU GPL, version 2 or +# later. See the COPYING file in the top-level directory. + +import os + +from avocado_qemu import LinuxTest, BUILD_DIR + +from avocado import skipIf + + +class BootLinuxX8664(LinuxTest): + """ + :avocado: tags=arch:x86_64 + """ + + def test_pc_i440fx_tcg(self): + """ + :avocado: tags=machine:pc + :avocado: tags=accel:tcg + """ + self.require_accelerator("tcg") + self.vm.add_args("-accel", "tcg") + self.launch_and_wait(set_up_ssh_connection=False) + + def test_pc_i440fx_kvm(self): + """ + :avocado: tags=machine:pc + :avocado: tags=accel:kvm + """ + self.require_accelerator("kvm") + self.vm.add_args("-accel", "kvm") + self.launch_and_wait(set_up_ssh_connection=False) + + def test_pc_q35_tcg(self): + """ + :avocado: tags=machine:q35 + :avocado: tags=accel:tcg + """ + self.require_accelerator("tcg") + self.vm.add_args("-accel", "tcg") + self.launch_and_wait(set_up_ssh_connection=False) + + def test_pc_q35_kvm(self): + """ + :avocado: tags=machine:q35 + :avocado: tags=accel:kvm + """ + self.require_accelerator("kvm") + self.vm.add_args("-accel", "kvm") + self.launch_and_wait(set_up_ssh_connection=False) + + +class BootLinuxAarch64(LinuxTest): + """ + :avocado: tags=arch:aarch64 + :avocado: tags=machine:virt + :avocado: tags=machine:gic-version=2 + """ + + def add_common_args(self): + self.vm.add_args('-bios', + os.path.join(BUILD_DIR, 'pc-bios', + 'edk2-aarch64-code.fd')) + self.vm.add_args('-device', 'virtio-rng-pci,rng=rng0') + self.vm.add_args('-object', 'rng-random,id=rng0,filename=/dev/urandom') + + def test_virt_tcg_gicv2(self): + """ + :avocado: tags=accel:tcg + :avocado: tags=cpu:max + :avocado: tags=device:gicv2 + """ + self.require_accelerator("tcg") + self.vm.add_args("-accel", "tcg") + self.vm.add_args("-machine", "virt,gic-version=2") + self.add_common_args() + self.launch_and_wait(set_up_ssh_connection=False) + + def test_virt_tcg_gicv3(self): + """ + :avocado: tags=accel:tcg + :avocado: tags=cpu:max + :avocado: tags=device:gicv3 + """ + self.require_accelerator("tcg") + self.vm.add_args("-accel", "tcg") + self.vm.add_args("-machine", "virt,gic-version=3") + self.add_common_args() + self.launch_and_wait(set_up_ssh_connection=False) + + def test_virt_kvm(self): + """ + :avocado: tags=accel:kvm + :avocado: tags=cpu:host + """ + self.require_accelerator("kvm") + self.vm.add_args("-accel", "kvm") + self.vm.add_args("-machine", "virt,gic-version=host") + self.add_common_args() + self.launch_and_wait(set_up_ssh_connection=False) + + +class BootLinuxPPC64(LinuxTest): + """ + :avocado: tags=arch:ppc64 + """ + + def test_pseries_tcg(self): + """ + :avocado: tags=machine:pseries + :avocado: tags=accel:tcg + """ + self.require_accelerator("tcg") + self.vm.add_args("-accel", "tcg") + self.launch_and_wait(set_up_ssh_connection=False) + + +class BootLinuxS390X(LinuxTest): + """ + :avocado: tags=arch:s390x + """ + + @skipIf(os.getenv('GITLAB_CI'), 'Running on GitLab') + def test_s390_ccw_virtio_tcg(self): + """ + :avocado: tags=machine:s390-ccw-virtio + :avocado: tags=accel:tcg + """ + self.require_accelerator("tcg") + self.vm.add_args("-accel", "tcg") + self.launch_and_wait(set_up_ssh_connection=False) |