[v2] tests/acceptance: Add a test for the canon-a1100 machine
diff mbox series

Message ID 20200129090420.13954-1-thuth@redhat.com
State New
Headers show
Series
  • [v2] tests/acceptance: Add a test for the canon-a1100 machine
Related show

Commit Message

Thomas Huth Jan. 29, 2020, 9:04 a.m. UTC
The canon-a1100 machine can be used with the Barebox firmware. The
QEMU Advent Calendar 2018 features a pre-compiled image which we
can use for testing.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Tested-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 v2:
 - Rename file and add class docstring to please pylint
 - Add entry to MAINTAINERS
 - Add :avocado: tags=device:pflash_cfi02

 MAINTAINERS                                |  1 +
 tests/acceptance/machine_arm_canona1100.py | 35 ++++++++++++++++++++++
 2 files changed, 36 insertions(+)
 create mode 100644 tests/acceptance/machine_arm_canona1100.py

Comments

Thomas Huth Feb. 10, 2020, 4:59 p.m. UTC | #1
On 29/01/2020 10.04, Thomas Huth wrote:
> The canon-a1100 machine can be used with the Barebox firmware. The
> QEMU Advent Calendar 2018 features a pre-compiled image which we
> can use for testing.
> 
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
> Tested-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  v2:
>  - Rename file and add class docstring to please pylint
>  - Add entry to MAINTAINERS
>  - Add :avocado: tags=device:pflash_cfi02
> 
>  MAINTAINERS                                |  1 +
>  tests/acceptance/machine_arm_canona1100.py | 35 ++++++++++++++++++++++
>  2 files changed, 36 insertions(+)
>  create mode 100644 tests/acceptance/machine_arm_canona1100.py
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index efd3f3875f..ddf6fe0794 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -561,6 +561,7 @@ S: Odd Fixes
>  F: include/hw/arm/digic.h
>  F: hw/*/digic*
>  F: include/hw/*/digic*
> +F: tests/acceptance/machine_arm_canona1100.py
[...]

 Hi Peter,

could you maybe take this patch through your ARM tree?

 Thanks,
  Thomas

Patch
diff mbox series

diff --git a/MAINTAINERS b/MAINTAINERS
index efd3f3875f..ddf6fe0794 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -561,6 +561,7 @@  S: Odd Fixes
 F: include/hw/arm/digic.h
 F: hw/*/digic*
 F: include/hw/*/digic*
+F: tests/acceptance/machine_arm_canona1100.py
 
 Gumstix
 M: Peter Maydell <peter.maydell@linaro.org>
diff --git a/tests/acceptance/machine_arm_canona1100.py b/tests/acceptance/machine_arm_canona1100.py
new file mode 100644
index 0000000000..0e5c43dbcf
--- /dev/null
+++ b/tests/acceptance/machine_arm_canona1100.py
@@ -0,0 +1,35 @@ 
+# Functional test that boots the canon-a1100 machine with firmware
+#
+# 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.
+
+from avocado_qemu import Test
+from avocado_qemu import wait_for_console_pattern
+from avocado.utils import archive
+
+class CanonA1100Machine(Test):
+    """Boots the barebox firmware and checks that the console is operational"""
+
+    timeout = 90
+
+    def test_arm_canona1100(self):
+        """
+        :avocado: tags=arch:arm
+        :avocado: tags=machine:canon-a1100
+        :avocado: tags=device:pflash_cfi02
+        """
+        tar_url = ('https://www.qemu-advent-calendar.org'
+                   '/2018/download/day18.tar.xz')
+        tar_hash = '068b5fc4242b29381acee94713509f8a876e9db6'
+        file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
+        archive.extract(file_path, self.workdir)
+        self.vm.set_console()
+        self.vm.add_args('-bios',
+                         self.workdir + '/day18/barebox.canon-a1100.bin')
+        self.vm.launch()
+        wait_for_console_pattern(self, 'running /env/bin/init')