On 01/17/2019 04:56 PM, Cleber Rosa wrote:
Just like the previous tests, boots a Linux kernel on a aarch64 target
using the virt machine.
One special option added is the CPU type, given that the kernel
selected fails to boot on the virt machine's default CPU (cortex-a15).
Signed-off-by: Cleber Rosa <cr...@redhat.com>
---
.travis.yml | 2 +-
tests/acceptance/boot_linux_console.py | 20 ++++++++++++++++++++
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/.travis.yml b/.travis.yml
index 54100eea5a..595e8c0b6c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -187,7 +187,7 @@ matrix:
# Acceptance (Functional) tests
- env:
- - CONFIG="--python=/usr/bin/python3
--target-list=x86_64-softmmu,mips-softmmu,mips64el-softmmu,ppc64-softmmu"
+ - CONFIG="--python=/usr/bin/python3
--target-list=x86_64-softmmu,mips-softmmu,mips64el-softmmu,ppc64-softmmu,aarch64-softmmu"
- TEST_CMD="make check-acceptance"
addons:
apt:
diff --git a/tests/acceptance/boot_linux_console.py
b/tests/acceptance/boot_linux_console.py
index f3ccd23a7a..107700b517 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -138,3 +138,23 @@ class BootLinuxConsole(Test):
self.vm.launch()
console_pattern = 'Kernel command line: %s' % kernel_command_line
self.wait_for_console_pattern(console_pattern)
+
+ def test_aarch64_virt(self):
That test case fails on my system (Fedora 29 x86_64). Avocado seems
unable to kill the VM so it reaches the timeout.
I compiled QEMU with default configuration:
$ configure --python=/usr/bin/python3 --target-list=x86_64-softmmu
--target-list=x86_64-softmmu,mips-softmmu,mips64el-softmmu,ppc64-softmmu,aarch64-softmmu)
Follows a snippet of the Avocado's job.log file:
----
2019-01-31 14:41:34,912 test L0602 INFO | START
07-/root/src/qemu/tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_aarch64_virt
2019-01-31 14:41:34,912 test L0298 DEBUG| DATA
(filename=output.expected) => NOT FOUND (data sources: variant, test, file)
2019-01-31 14:41:34,913 parameters L0146 DEBUG| PARAMS (key=arch,
path=*, default=aarch64) => 'aarch64'
2019-01-31 14:41:34,913 parameters L0146 DEBUG| PARAMS
(key=qemu_bin, path=*, default=aarch64-softmmu/qemu-system-aarch64) =>
'aarch64-softmmu/qemu-system-aarch64'
2019-01-31 14:41:34,915 download L0070 INFO | Fetching
https://sjc.edge.kernel.org/fedora-buffet/fedora/linux/releases/29/Server/aarch64/os/images/pxeboot/vmlinuz
-> /var/lib/avocado/data/cache/by_name/vmlinuz.3upct2pr
2019-01-31 14:41:35,490 download L0054 DEBUG| Retrieved URL
"https://sjc.edge.kernel.org/fedora-buffet/fedora/linux/releases/29/Server/aarch64/os/images/pxeboot/vmlinuz":
content-length 8623423, date: "Thu, 31 Jan 2019 19:41:35 GMT",
last-modified: "Sun, 21 Oct 2018 00:43:09 GMT"
2019-01-31 14:41:41,765 qemu L0317 DEBUG| VM launch command:
'aarch64-softmmu/qemu-system-aarch64 -chardev
socket,id=mon,path=/var/tmp/tmpizirkcud/qemu-32609-monitor.sock -mon
chardev=mon,mode=control -display none -vga none -machine virt -chardev
socket,id=console,path=/var/tmp/tmpizirkcud/qemu-32609-console.sock,server,nowait
-serial chardev:console -cpu cortex-a53 -kernel
/var/lib/avocado/data/cache/by_name/vmlinuz -append console=ttyAMA0'
2019-01-31 14:41:41,779 qmp L0167 DEBUG| >>> {'execute':
'qmp_capabilities'}
2019-01-31 14:41:41,931 qmp L0175 DEBUG| <<< {'return': {}}
2019-01-31 14:41:42,830 boot_linux_conso L0041 DEBUG| [ 0.000000]
Booting Linux on physical CPU 0x0000000000 [0x410fd034]
(...)
2019-01-31 14:41:42,833 boot_linux_conso L0041 DEBUG| [ 0.000000]
Policy zone: DMA32
2019-01-31 14:41:42,833 boot_linux_conso L0041 DEBUG| [ 0.000000]
Kernel command line: console=ttyAMA0
2019-01-31 14:41:42,833 qmp L0167 DEBUG| >>> {'execute':
'quit'}
2019-01-31 14:44:35,636 qemu L0357 WARNI| qemu received
signal -9: aarch64-softmmu/qemu-system-aarch64 -chardev
socket,id=mon,path=/var/tmp/tmpizirkcud/qemu-32609-monitor.sock -mon
chardev=mon,mode=control -display none -vga none -machine virt -chardev
socket,id=console,path=/var/tmp/tmpizirkcud/qemu-32609-console.sock,server,nowait
-serial chardev:console -cpu cortex-a53 -kernel
/var/lib/avocado/data/cache/by_name/vmlinuz -append console=ttyAMA0
(...)
2019-01-31 14:44:35,663 runner L0253 ERROR| ERROR Test
reported status but did not finish -> TestAbortError:
07-/root/src/qemu/tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_aarch64_virt.
2019-01-31 14:44:35,664 runner L0062 ERROR| Runner error
occurred: Timeout reached
----
- Wainer
+ """
+ :avocado: tags=arch:aarch64
+ :avocado: tags=machine:virt
+ """
+ kernel_url = ('https://sjc.edge.kernel.org/fedora-buffet/fedora/linux/'
+ 'releases/29/Server/aarch64/os/images/pxeboot/vmlinuz')
+ kernel_hash = '8c73e469fc6ea06a58dc83a628fc695b693b8493'
+ kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
+
+ self.vm.set_machine('virt')
+ self.vm.set_console()
+ kernel_command_line = 'console=ttyAMA0'
+ self.vm.add_args('-cpu', 'cortex-a53',
+ '-kernel', kernel_path,
+ '-append', kernel_command_line)
+ self.vm.launch()
+ console_pattern = 'Kernel command line: %s' % kernel_command_line
+ self.wait_for_console_pattern(console_pattern)