diff mbox series

[11/26] tests/acceptance: Add test that boots Linux up to BusyBox on Leon3

Message ID 20191028073441.6448-12-philmd@redhat.com (mailing list archive)
State New, archived
Headers show
Series tests/acceptance: Queue for 4.2 | expand

Commit Message

Philippe Mathieu-Daudé Oct. 28, 2019, 7:34 a.m. UTC
From: Philippe Mathieu-Daudé <f4bug@amsat.org>

Gaisler provides convenient images:
https://www.gaisler.com/index.php/downloads/linux

HOWTO build:
https://www.gaisler.com/index.php/products/operating-systems/linux

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 tests/acceptance/machine_sparc_leon3.py | 28 +++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

Comments

Cleber Rosa Oct. 28, 2019, 4:47 p.m. UTC | #1
On Mon, Oct 28, 2019 at 08:34:26AM +0100, Philippe Mathieu-Daudé wrote:
> From: Philippe Mathieu-Daudé <f4bug@amsat.org>
> 
> Gaisler provides convenient images:
> https://www.gaisler.com/index.php/downloads/linux
> 
> HOWTO build:
> https://www.gaisler.com/index.php/products/operating-systems/linux
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  tests/acceptance/machine_sparc_leon3.py | 28 +++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)
> 
> diff --git a/tests/acceptance/machine_sparc_leon3.py b/tests/acceptance/machine_sparc_leon3.py
> index a1394ba8ad..1172fd5da0 100644
> --- a/tests/acceptance/machine_sparc_leon3.py
> +++ b/tests/acceptance/machine_sparc_leon3.py
> @@ -10,6 +10,8 @@ import logging
>  
>  from avocado import skipIf
>  from avocado_qemu import MachineTest
> +from avocado_qemu import wait_for_console_pattern
> +from avocado_qemu import exec_command_and_wait_for_pattern
>  
>  
>  class Leon3Machine(MachineTest):
> @@ -35,3 +37,29 @@ class Leon3Machine(MachineTest):
>  
>          wait_for_console_pattern(self,'Copyright (c) 2001-2014 HelenOS project')
>          wait_for_console_pattern(self,'Booting the kernel ...')
> +
> +    def test_leon3_linux_kernel_4_9_busybox(self):
> +        """
> +        :avocado: tags=arch:sparc
> +        :avocado: tags=machine:leon3
> +        """
> +        kernel_url = ('https://www.gaisler.com/anonftp/linux/linux-4/images/'
> +                     'leon-linux-4.9/leon-linux-4.9-1.0/up/image.ram')
> +        kernel_hash = '289bd1bcca10cda76d0ef2264a8657adc251f5f5'
> +        kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
> +
> +        self.vm.set_machine('leon3_generic')
> +        self.vm.set_console()
> +        self.vm.add_args('-kernel', kernel_path)
> +
> +        self.vm.launch()
> +
> +        wait_for_console_pattern(self, 'TYPE: Leon3 System-on-a-Chip')
> +
> +        wait_for_console_pattern(self, 'Welcome to Buildroot')
> +
> +        wait_for_console_pattern(self, 'buildroot login:')
> +        exec_command_and_wait_for_pattern(self, 'root', '#')

On my testing, I never got passed this point (the prompt after the
username is never received/acknowledged).

> +        uname = 'Linux buildroot 4.9.54-00018-g62dab2c #2 ' \
> +                'Wed Oct 18 09:45:51 CEST 2017 sparc GNU/Linux'

A matter of style, certainly, but I find this better:

        uname = ('Linux buildroot 4.9.54-00018-g62dab2c #2 '
                 'Wed Oct 18 09:45:51 CEST 2017 sparc GNU/Linux')

- Cleber.

> +        exec_command_and_wait_for_pattern(self, 'uname -a', uname)
> -- 
> 2.21.0
>
diff mbox series

Patch

diff --git a/tests/acceptance/machine_sparc_leon3.py b/tests/acceptance/machine_sparc_leon3.py
index a1394ba8ad..1172fd5da0 100644
--- a/tests/acceptance/machine_sparc_leon3.py
+++ b/tests/acceptance/machine_sparc_leon3.py
@@ -10,6 +10,8 @@  import logging
 
 from avocado import skipIf
 from avocado_qemu import MachineTest
+from avocado_qemu import wait_for_console_pattern
+from avocado_qemu import exec_command_and_wait_for_pattern
 
 
 class Leon3Machine(MachineTest):
@@ -35,3 +37,29 @@  class Leon3Machine(MachineTest):
 
         wait_for_console_pattern(self,'Copyright (c) 2001-2014 HelenOS project')
         wait_for_console_pattern(self,'Booting the kernel ...')
+
+    def test_leon3_linux_kernel_4_9_busybox(self):
+        """
+        :avocado: tags=arch:sparc
+        :avocado: tags=machine:leon3
+        """
+        kernel_url = ('https://www.gaisler.com/anonftp/linux/linux-4/images/'
+                     'leon-linux-4.9/leon-linux-4.9-1.0/up/image.ram')
+        kernel_hash = '289bd1bcca10cda76d0ef2264a8657adc251f5f5'
+        kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
+
+        self.vm.set_machine('leon3_generic')
+        self.vm.set_console()
+        self.vm.add_args('-kernel', kernel_path)
+
+        self.vm.launch()
+
+        wait_for_console_pattern(self, 'TYPE: Leon3 System-on-a-Chip')
+
+        wait_for_console_pattern(self, 'Welcome to Buildroot')
+
+        wait_for_console_pattern(self, 'buildroot login:')
+        exec_command_and_wait_for_pattern(self, 'root', '#')
+        uname = 'Linux buildroot 4.9.54-00018-g62dab2c #2 ' \
+                'Wed Oct 18 09:45:51 CEST 2017 sparc GNU/Linux'
+        exec_command_and_wait_for_pattern(self, 'uname -a', uname)