[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] BootLinuxConsoleTest: Test the Quadra 800
From: |
Laurent Vivier |
Subject: |
Re: [Qemu-devel] [PATCH] BootLinuxConsoleTest: Test the Quadra 800 |
Date: |
Wed, 11 Sep 2019 09:08:14 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
Le 10/09/2019 à 22:02, Philippe Mathieu-Daudé a écrit :
> On 9/10/19 7:07 PM, Cleber Rosa wrote:
>> On Tue, Sep 10, 2019 at 06:34:30PM +0200, Philippe Mathieu-Daudé wrote:
>>> This test boots a Linux kernel on a Quadra 800 board
>>> and verify the serial is working.
>>>
>>> Example:
>>>
>>> $ avocado --show=app,console run -t machine:q800
>>> tests/acceptance/boot_linux_console.py
>>> console: ABCFGHIJK
>>> console: Linux version 5.2.0-2-m68k (address@hidden) (gcc version 8.3.0
>>> (Debian 8.3.0-21)) #1 Debian 5.2.9-2 (2019-08-21)
>>> console: Detected Macintosh model: 35
>>> console: Apple Macintosh Quadra 800
>>> console: Built 1 zonelists, mobility grouping on. Total pages: 32448
>>> console: Kernel command line: printk.time=0 console=ttyS0 vga=off
>>> [...]
>>> console: Calibrating delay loop... 1236.99 BogoMIPS (lpj=6184960)
>>> [...]
>>> console: NuBus: Scanning NuBus slots.
>>> console: Slot 9: Board resource not found!
>>> console: SCSI subsystem initialized
>>> console: clocksource: Switched to clocksource via1
>>> [...]
>>> console: macfb: framebuffer at 0xf9001000, mapped to 0x(ptrval), size 468k
>>> console: macfb: mode is 800x600x8, linelength=800
>>> console: Console: switching to colour frame buffer device 100x37
>>> console: fb0: DAFB frame buffer device
>>> console: pmac_zilog: 0.6 (Benjamin Herrenschmidt <address@hidden>)
>>> console: scc.0: ttyS0 at MMIO 0x50f0c022 (irq = 4, base_baud = 230400) is
>>> a Z85c30 ESCC - Serial port
>>> console: scc.1: ttyS1 at MMIO 0x50f0c020 (irq = 4, base_baud = 230400) is
>>> a Z85c30 ESCC - Serial port
>>> console: Non-volatile memory driver v1.3
>>> console: adb: Mac II ADB Driver v1.0 for Unified ADB
>>> console: mousedev: PS/2 mouse device common for all mice
>>> console: random: fast init done
>>> console: Detected ADB keyboard, type <unknown>.
>>> console: input: ADB keyboard as /devices/virtual/input/input0
>>> console: input: ADB mouse as /devices/virtual/input/input1
>>> console: rtc-generic rtc-generic: registered as rtc0
>>> console: ledtrig-cpu: registered to indicate activity on CPUs
>>> [...]
>>> console: rtc-generic rtc-generic: setting system clock to
>>> 2019-09-10T16:20:25 UTC (1568132425)
>>> console: List of all partitions:
>>> console: No filesystem could mount root, tried:
>>> JOB TIME : 2.91 s
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
>>> ---
>>> Based-on: <address@hidden>
>>> "hw/m68k: add Apple Machintosh Quadra 800 machine"
>>> https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg01775.html
>>> ---
>>> tests/acceptance/boot_linux_console.py | 24 ++++++++++++++++++++++++
>>> 1 file changed, 24 insertions(+)
>>>
>>> diff --git a/tests/acceptance/boot_linux_console.py
>>> b/tests/acceptance/boot_linux_console.py
>>> index 2504ef0150..8e346bb0f4 100644
>>> --- a/tests/acceptance/boot_linux_console.py
>>> +++ b/tests/acceptance/boot_linux_console.py
>>> @@ -373,3 +373,27 @@ class BootLinuxConsole(Test):
>>> self.vm.launch()
>>> console_pattern = 'Kernel command line: %s' % kernel_command_line
>>> self.wait_for_console_pattern(console_pattern)
>>> +
>>> + def test_m68k_q800(self):
>>> + """
>>> + :avocado: tags=arch:m68k
>>> + :avocado: tags=machine:q800
>>> + """
>>> + deb_url =
>>> ('http://ftp.ports.debian.org/debian-ports/pool-m68k/main'
>>> +
>>> '/l/linux/kernel-image-5.2.0-2-m68k-di_5.2.9-2_m68k.udeb')
>>> + deb_hash = '0797e05129595f22f3c0142db5e199769a723bf9'
>>> + deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash)
>>> + kernel_path = self.extract_from_deb(deb_path,
>>> + '/boot/vmlinux-5.2.0-2-m68k')
>>> +
>>> + self.vm.set_machine('q800')
>>> + self.vm.set_console()
>>> + kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
>>> + 'console=ttyS0 vga=off')
>>> + self.vm.add_args('-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)
>>> + console_pattern = 'No filesystem could mount root'
>>> + self.wait_for_console_pattern(console_pattern)
>>> --
>>> 2.20.1
>>>
>>
>> LGTM.
>>
>> Of course it needs to wait for the series adding the machine type.
>> If there's a new version of the series, shouldn't this be included
>> there?
>
> At some point I'd like we enforce the rule "each new machine is added
> with an integration test".
> So far we are still trying to figure out what is the best use of Avocado
> for QEMU, and what are good/cheap tests, how easy it is to add/use them,
> and so on. We are improving :)
> So, with this idea, indeed machine tests should go with the the series
> that introduce it.
> Meanwhile (there is no enforcement) I'm following new machines and
> trying to catch them, ask the developer how to test them if there is no
> guidelines, and add tests.
>
> Laurent, do you agree to queue this patch to your series?
>
I've added it to the series.
Thanks,
Laurent