All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tests/acceptance: Add a test for the integratorcp arm machine
@ 2020-01-31 17:02 Thomas Huth
  2020-01-31 17:29 ` Philippe Mathieu-Daudé
  2020-01-31 18:16 ` Wainer dos Santos Moschetta
  0 siblings, 2 replies; 3+ messages in thread
From: Thomas Huth @ 2020-01-31 17:02 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Philippe Mathieu-Daudé,
	Wainer dos Santos Moschetta, qemu-arm, Cleber Rosa,
	Alex Bennée

There is a kernel and initrd available on github which we can use
for testing this machine.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 MAINTAINERS                                  |  1 +
 tests/acceptance/machine_arm_integratorcp.py | 43 ++++++++++++++++++++
 2 files changed, 44 insertions(+)
 create mode 100644 tests/acceptance/machine_arm_integratorcp.py

diff --git a/MAINTAINERS b/MAINTAINERS
index 6e4976d366..6a03835037 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -599,6 +599,7 @@ S: Maintained
 F: hw/arm/integratorcp.c
 F: hw/misc/arm_integrator_debug.c
 F: include/hw/misc/arm_integrator_debug.h
+F: tests/acceptance/machine_arm_integratorcp.py
 
 MCIMX6UL EVK / i.MX6ul
 M: Peter Maydell <peter.maydell@linaro.org>
diff --git a/tests/acceptance/machine_arm_integratorcp.py b/tests/acceptance/machine_arm_integratorcp.py
new file mode 100644
index 0000000000..4f9ab40f2f
--- /dev/null
+++ b/tests/acceptance/machine_arm_integratorcp.py
@@ -0,0 +1,43 @@
+# Functional test that boots a Linux kernel and checks the console
+#
+# Copyright (c) 2020 Red Hat, Inc.
+#
+# Author:
+#  Thomas Huth <thuth@redhat.com>
+#
+# This work is licensed under the terms of the GNU GPL, version 2 or
+# later.  See the COPYING file in the top-level directory.
+
+import os
+
+from avocado import skipUnless
+from avocado_qemu import Test
+from avocado_qemu import wait_for_console_pattern
+
+class IntegratorMachine(Test):
+    """Boots the Linux kernel and checks that the console is operational"""
+
+    timeout = 90
+
+    @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
+    def test_integratorcp(self):
+        """
+        :avocado: tags=arch:arm
+        :avocado: tags=machine:integratorcp
+        """
+        kernel_url = ('https://github.com/zayac/qemu-arm/raw/master/'
+                      'arm-test/kernel/zImage.integrator')
+        kernel_hash = '0d7adba893c503267c946a3cbdc63b4b54f25468'
+        kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
+
+        initrd_url = ('https://github.com/zayac/qemu-arm/raw/master/'
+                      'arm-test/kernel/arm_root.img')
+        initrd_hash = 'b51e4154285bf784e017a37586428332d8c7bd8b'
+        initrd_path = self.fetch_asset(initrd_url, asset_hash=initrd_hash)
+
+        self.vm.set_console()
+        self.vm.add_args('-kernel', kernel_path,
+                         '-initrd', initrd_path,
+                         '-append', 'printk.time=0 console=ttyAMA0')
+        self.vm.launch()
+        wait_for_console_pattern(self, 'Log in as root')
-- 
2.18.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] tests/acceptance: Add a test for the integratorcp arm machine
  2020-01-31 17:02 [PATCH] tests/acceptance: Add a test for the integratorcp arm machine Thomas Huth
@ 2020-01-31 17:29 ` Philippe Mathieu-Daudé
  2020-01-31 18:16 ` Wainer dos Santos Moschetta
  1 sibling, 0 replies; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-31 17:29 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel
  Cc: Peter Maydell, qemu-arm, Alex Bennée,
	Wainer dos Santos Moschetta, Cleber Rosa

On 1/31/20 6:02 PM, Thomas Huth wrote:
> There is a kernel and initrd available on github which we can use
> for testing this machine.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   MAINTAINERS                                  |  1 +
>   tests/acceptance/machine_arm_integratorcp.py | 43 ++++++++++++++++++++
>   2 files changed, 44 insertions(+)
>   create mode 100644 tests/acceptance/machine_arm_integratorcp.py
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 6e4976d366..6a03835037 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -599,6 +599,7 @@ S: Maintained
>   F: hw/arm/integratorcp.c
>   F: hw/misc/arm_integrator_debug.c
>   F: include/hw/misc/arm_integrator_debug.h
> +F: tests/acceptance/machine_arm_integratorcp.py
>   
>   MCIMX6UL EVK / i.MX6ul
>   M: Peter Maydell <peter.maydell@linaro.org>
> diff --git a/tests/acceptance/machine_arm_integratorcp.py b/tests/acceptance/machine_arm_integratorcp.py
> new file mode 100644
> index 0000000000..4f9ab40f2f
> --- /dev/null
> +++ b/tests/acceptance/machine_arm_integratorcp.py
> @@ -0,0 +1,43 @@
> +# Functional test that boots a Linux kernel and checks the console
> +#
> +# Copyright (c) 2020 Red Hat, Inc.
> +#
> +# Author:
> +#  Thomas Huth <thuth@redhat.com>
> +#
> +# This work is licensed under the terms of the GNU GPL, version 2 or
> +# later.  See the COPYING file in the top-level directory.
> +
> +import os
> +
> +from avocado import skipUnless
> +from avocado_qemu import Test
> +from avocado_qemu import wait_for_console_pattern
> +
> +class IntegratorMachine(Test):
> +    """Boots the Linux kernel and checks that the console is operational"""
> +
> +    timeout = 90
> +
> +    @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
> +    def test_integratorcp(self):
> +        """
> +        :avocado: tags=arch:arm
> +        :avocado: tags=machine:integratorcp
> +        """
> +        kernel_url = ('https://github.com/zayac/qemu-arm/raw/master/'
> +                      'arm-test/kernel/zImage.integrator')
> +        kernel_hash = '0d7adba893c503267c946a3cbdc63b4b54f25468'
> +        kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
> +
> +        initrd_url = ('https://github.com/zayac/qemu-arm/raw/master/'
> +                      'arm-test/kernel/arm_root.img')
> +        initrd_hash = 'b51e4154285bf784e017a37586428332d8c7bd8b'
> +        initrd_path = self.fetch_asset(initrd_url, asset_hash=initrd_hash)
> +
> +        self.vm.set_console()
> +        self.vm.add_args('-kernel', kernel_path,
> +                         '-initrd', initrd_path,
> +                         '-append', 'printk.time=0 console=ttyAMA0')
> +        self.vm.launch()
> +        wait_for_console_pattern(self, 'Log in as root')
> 

Nice. I see the framebuffer is also working.

I'd add a test on the CPU, and device listed:

Log in as root with no password.
qemu login: root
login[724]: root login  on `ttyAMA0'



BusyBox v1.1.2 (2006.05.04-15:30+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

# cat /proc/cpuinfo
Processor       : ARM926EJ-Sid(wb) rev 5 (v5l)
BogoMIPS        : 930.61
Features        : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant     : 0x0
CPU part        : 0x926
CPU revision    : 5
Cache type      : write-through
Cache clean     : not required
Cache lockdown  : not supported
Cache format    : Harvard
I size          : 4096
I assoc         : 4
I line length   : 32
I sets          : 32
D size          : 65536
D assoc         : 4
D line length   : 32
D sets          : 512

Hardware        : ARM-IntegratorCP
Revision        : 0000
Serial          : 0000000000000000
# cat /proc/io
/proc/iomem     /proc/ioports
# cat /proc/iomem
00000000-07ffffff : System RAM
   00022000-0020431f : Kernel text
   00206000-002670db : Kernel data
15000000-15000fff : mb:15
16000000-16000fff : mb:16
   16000000-16000fff : uart-pl011
17000000-17000fff : mb:17
   17000000-17000fff : uart-pl011
18000000-18000fff : mb:18
   18000000-18000fff : kmi-pl050
19000000-19000fff : mb:19
   19000000-19000fff : kmi-pl050
1c000000-1c000fff : mb:1c
   1c000000-1c000fff : mmci-pl18x
24000000-25ffffff : armflash.0
c0000000-c0000fff : mb:c0
   c0000000-c0000fff : clcd-pl11x
c8000000-c800000f : smc91x.0
   c8000000-c800000f : smc91x
#

Anyway this can be done in another patch on top, so:

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] tests/acceptance: Add a test for the integratorcp arm machine
  2020-01-31 17:02 [PATCH] tests/acceptance: Add a test for the integratorcp arm machine Thomas Huth
  2020-01-31 17:29 ` Philippe Mathieu-Daudé
@ 2020-01-31 18:16 ` Wainer dos Santos Moschetta
  1 sibling, 0 replies; 3+ messages in thread
From: Wainer dos Santos Moschetta @ 2020-01-31 18:16 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel
  Cc: Alex Bennée, Peter Maydell, qemu-arm,
	Philippe Mathieu-Daudé,
	Cleber Rosa


On 1/31/20 3:02 PM, Thomas Huth wrote:
> There is a kernel and initrd available on github which we can use
> for testing this machine.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   MAINTAINERS                                  |  1 +
>   tests/acceptance/machine_arm_integratorcp.py | 43 ++++++++++++++++++++
>   2 files changed, 44 insertions(+)
>   create mode 100644 tests/acceptance/machine_arm_integratorcp.py

This was piece of cake! ;)

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

>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 6e4976d366..6a03835037 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -599,6 +599,7 @@ S: Maintained
>   F: hw/arm/integratorcp.c
>   F: hw/misc/arm_integrator_debug.c
>   F: include/hw/misc/arm_integrator_debug.h
> +F: tests/acceptance/machine_arm_integratorcp.py
>   
>   MCIMX6UL EVK / i.MX6ul
>   M: Peter Maydell <peter.maydell@linaro.org>
> diff --git a/tests/acceptance/machine_arm_integratorcp.py b/tests/acceptance/machine_arm_integratorcp.py
> new file mode 100644
> index 0000000000..4f9ab40f2f
> --- /dev/null
> +++ b/tests/acceptance/machine_arm_integratorcp.py
> @@ -0,0 +1,43 @@
> +# Functional test that boots a Linux kernel and checks the console
> +#
> +# Copyright (c) 2020 Red Hat, Inc.
> +#
> +# Author:
> +#  Thomas Huth <thuth@redhat.com>
> +#
> +# This work is licensed under the terms of the GNU GPL, version 2 or
> +# later.  See the COPYING file in the top-level directory.
> +
> +import os
> +
> +from avocado import skipUnless
> +from avocado_qemu import Test
> +from avocado_qemu import wait_for_console_pattern
> +
> +class IntegratorMachine(Test):
> +    """Boots the Linux kernel and checks that the console is operational"""
> +
> +    timeout = 90
> +
> +    @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
> +    def test_integratorcp(self):
> +        """
> +        :avocado: tags=arch:arm
> +        :avocado: tags=machine:integratorcp
> +        """
> +        kernel_url = ('https://github.com/zayac/qemu-arm/raw/master/'
> +                      'arm-test/kernel/zImage.integrator')
> +        kernel_hash = '0d7adba893c503267c946a3cbdc63b4b54f25468'
> +        kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
> +
> +        initrd_url = ('https://github.com/zayac/qemu-arm/raw/master/'
> +                      'arm-test/kernel/arm_root.img')
> +        initrd_hash = 'b51e4154285bf784e017a37586428332d8c7bd8b'
> +        initrd_path = self.fetch_asset(initrd_url, asset_hash=initrd_hash)
> +
> +        self.vm.set_console()
> +        self.vm.add_args('-kernel', kernel_path,
> +                         '-initrd', initrd_path,
> +                         '-append', 'printk.time=0 console=ttyAMA0')
> +        self.vm.launch()
> +        wait_for_console_pattern(self, 'Log in as root')



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-01-31 18:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-31 17:02 [PATCH] tests/acceptance: Add a test for the integratorcp arm machine Thomas Huth
2020-01-31 17:29 ` Philippe Mathieu-Daudé
2020-01-31 18:16 ` Wainer dos Santos Moschetta

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.