diff mbox series

[4/5] tests/acceptance: Test Linux on the Fuloong 2E machine

Message ID 20210624202747.1433023-5-f4bug@amsat.org (mailing list archive)
State New, archived
Headers show
Series hw/mips: Fix the Fuloong 2E machine with PMON bios | expand

Commit Message

Philippe Mathieu-Daudé June 24, 2021, 8:27 p.m. UTC
Test the kernel from Lemote rescue image:
http://dev.lemote.com/files/resource/download/rescue/rescue-yl
Once downloaded, set the RESCUE_YL_PATH environment variable
to point to the downloaded image and test as:

  $ RESCUE_YL_PATH=~/images/fuloong2e/rescue-yl \
    AVOCADO_ALLOW_UNTRUSTED_CODE=1 \
    avocado --show=app,console run tests/acceptance/machine_mips_fuloong2e.py
  Fetching asset from tests/acceptance/machine_mips_fuloong2e.py:MipsFuloong2e.test_linux_kernel_isa_serial
   (1/1) tests/acceptance/machine_mips_fuloong2e.py:MipsFuloong2e.test_linux_kernel_isa_serial:
  console: Linux version 2.6.27.7lemote (root@debian) (gcc version 4.1.3 20080623 (prerelease) (Debian 4.1.2-23)) #6 Fri Dec 12 00:11:25 CST 2008
  console: busclock=33000000, cpuclock=-2145008360,memsize=256,highmemsize=0
  console: console [early0] enabled
  console: CPU revision is: 00006302 (ICT Loongson-2)
  PASS (0.16 s)
  JOB TIME   : 0.51 s

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 MAINTAINERS                                |  1 +
 tests/acceptance/machine_mips_fuloong2e.py | 42 ++++++++++++++++++++++
 2 files changed, 43 insertions(+)
 create mode 100644 tests/acceptance/machine_mips_fuloong2e.py

Comments

Wainer dos Santos Moschetta June 28, 2021, 7:21 p.m. UTC | #1
On 6/24/21 5:27 PM, Philippe Mathieu-Daudé wrote:
> Test the kernel from Lemote rescue image:
> http://dev.lemote.com/files/resource/download/rescue/rescue-yl
> Once downloaded, set the RESCUE_YL_PATH environment variable
> to point to the downloaded image and test as:
>
>    $ RESCUE_YL_PATH=~/images/fuloong2e/rescue-yl \
>      AVOCADO_ALLOW_UNTRUSTED_CODE=1 \
>      avocado --show=app,console run tests/acceptance/machine_mips_fuloong2e.py
>    Fetching asset from tests/acceptance/machine_mips_fuloong2e.py:MipsFuloong2e.test_linux_kernel_isa_serial
>     (1/1) tests/acceptance/machine_mips_fuloong2e.py:MipsFuloong2e.test_linux_kernel_isa_serial:
>    console: Linux version 2.6.27.7lemote (root@debian) (gcc version 4.1.3 20080623 (prerelease) (Debian 4.1.2-23)) #6 Fri Dec 12 00:11:25 CST 2008
>    console: busclock=33000000, cpuclock=-2145008360,memsize=256,highmemsize=0
>    console: console [early0] enabled
>    console: CPU revision is: 00006302 (ICT Loongson-2)
>    PASS (0.16 s)
>    JOB TIME   : 0.51 s
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>   MAINTAINERS                                |  1 +
>   tests/acceptance/machine_mips_fuloong2e.py | 42 ++++++++++++++++++++++
>   2 files changed, 43 insertions(+)
>   create mode 100644 tests/acceptance/machine_mips_fuloong2e.py

Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>

>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 1a041eaf864..1c515b4ba14 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1176,6 +1176,7 @@ F: hw/isa/vt82c686.c
>   F: hw/pci-host/bonito.c
>   F: hw/usb/vt82c686-uhci-pci.c
>   F: include/hw/isa/vt82c686.h
> +F: tests/acceptance/machine_mips_fuloong2e.py
>   
>   Loongson-3 virtual platforms
>   M: Huacai Chen <chenhuacai@kernel.org>
> diff --git a/tests/acceptance/machine_mips_fuloong2e.py b/tests/acceptance/machine_mips_fuloong2e.py
> new file mode 100644
> index 00000000000..0ac285e2af1
> --- /dev/null
> +++ b/tests/acceptance/machine_mips_fuloong2e.py
> @@ -0,0 +1,42 @@
> +# Functional tests for the Lemote Fuloong-2E machine.
> +#
> +# Copyright (c) 2019 Philippe Mathieu-Daudé <f4bug@amsat.org>
> +#
> +# This work is licensed under the terms of the GNU GPL, version 2 or later.
> +# See the COPYING file in the top-level directory.
> +#
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +
> +import os
> +
> +from avocado import skipUnless
> +from avocado_qemu import Test
> +from avocado_qemu import wait_for_console_pattern
> +
> +class MipsFuloong2e(Test):
> +
> +    timeout = 60
> +
> +    @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
> +    @skipUnless(os.getenv('RESCUE_YL_PATH'), 'RESCUE_YL_PATH not available')
> +    def test_linux_kernel_isa_serial(self):
> +        """
> +        :avocado: tags=arch:mips64el
> +        :avocado: tags=machine:fuloong2e
> +        :avocado: tags=endian:little
> +        :avocado: tags=device:bonito64
> +        :avocado: tags=device:via686b
> +        """
> +        # Recovery system for the Yeeloong laptop
> +        # (enough to test the fuloong2e southbridge, accessing its ISA bus)
> +        # http://dev.lemote.com/files/resource/download/rescue/rescue-yl
> +        kernel_hash = 'ec4d1bd89a8439c41033ca63db60160cc6d6f09a'
> +        kernel_path = self.fetch_asset('file://' + os.getenv('RESCUE_YL_PATH'),
> +                                       asset_hash=kernel_hash)
> +
> +        self.vm.set_console()
> +        self.vm.add_args('-kernel', kernel_path)
> +        self.vm.launch()
> +        wait_for_console_pattern(self, 'Linux version 2.6.27.7lemote')
> +        cpu_revision = 'CPU revision is: 00006302 (ICT Loongson-2)'
> +        wait_for_console_pattern(self, cpu_revision)
diff mbox series

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index 1a041eaf864..1c515b4ba14 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1176,6 +1176,7 @@  F: hw/isa/vt82c686.c
 F: hw/pci-host/bonito.c
 F: hw/usb/vt82c686-uhci-pci.c
 F: include/hw/isa/vt82c686.h
+F: tests/acceptance/machine_mips_fuloong2e.py
 
 Loongson-3 virtual platforms
 M: Huacai Chen <chenhuacai@kernel.org>
diff --git a/tests/acceptance/machine_mips_fuloong2e.py b/tests/acceptance/machine_mips_fuloong2e.py
new file mode 100644
index 00000000000..0ac285e2af1
--- /dev/null
+++ b/tests/acceptance/machine_mips_fuloong2e.py
@@ -0,0 +1,42 @@ 
+# Functional tests for the Lemote Fuloong-2E machine.
+#
+# Copyright (c) 2019 Philippe Mathieu-Daudé <f4bug@amsat.org>
+#
+# This work is licensed under the terms of the GNU GPL, version 2 or later.
+# See the COPYING file in the top-level directory.
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+import os
+
+from avocado import skipUnless
+from avocado_qemu import Test
+from avocado_qemu import wait_for_console_pattern
+
+class MipsFuloong2e(Test):
+
+    timeout = 60
+
+    @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
+    @skipUnless(os.getenv('RESCUE_YL_PATH'), 'RESCUE_YL_PATH not available')
+    def test_linux_kernel_isa_serial(self):
+        """
+        :avocado: tags=arch:mips64el
+        :avocado: tags=machine:fuloong2e
+        :avocado: tags=endian:little
+        :avocado: tags=device:bonito64
+        :avocado: tags=device:via686b
+        """
+        # Recovery system for the Yeeloong laptop
+        # (enough to test the fuloong2e southbridge, accessing its ISA bus)
+        # http://dev.lemote.com/files/resource/download/rescue/rescue-yl
+        kernel_hash = 'ec4d1bd89a8439c41033ca63db60160cc6d6f09a'
+        kernel_path = self.fetch_asset('file://' + os.getenv('RESCUE_YL_PATH'),
+                                       asset_hash=kernel_hash)
+
+        self.vm.set_console()
+        self.vm.add_args('-kernel', kernel_path)
+        self.vm.launch()
+        wait_for_console_pattern(self, 'Linux version 2.6.27.7lemote')
+        cpu_revision = 'CPU revision is: 00006302 (ICT Loongson-2)'
+        wait_for_console_pattern(self, cpu_revision)