On 1/31/19 3:02 PM, Wainer dos Santos Moschetta wrote:
>
> 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'}
Here, a QMP response like "<<< {'return': {}}" would be expected.
Since I can not reproduce this on my system (or on Travis-CI jobs I've
sent), can you tell me on top of which commit you've applied these patches?
Thanks!
- Cleber.
> 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)
>