qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]