[PATCH] tests/acceptance: Add boot tests for sh4 and mips64 QEMU advent calendar images

Thomas Huth posted 1 patch 5 years, 9 months ago
Test docker-quick@centos7 passed
Test FreeBSD passed
Test docker-mingw@fedora passed
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200211094239.20725-1-thuth@redhat.com
Maintainers: Fam Zheng <fam@euphon.net>, Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com>, Aurelien Jarno <aurelien@aurel32.net>, "Philippe Mathieu-Daudé" <philmd@redhat.com>, Aleksandar Markovic <amarkovic@wavecomp.com>, "Alex Bennée" <alex.bennee@linaro.org>
There is a newer version of this series
.travis.yml                            |  2 +-
tests/acceptance/boot_linux_console.py | 23 +++++++++++++++++++++--
2 files changed, 22 insertions(+), 3 deletions(-)
[PATCH] tests/acceptance: Add boot tests for sh4 and mips64 QEMU advent calendar images
Posted by Thomas Huth 5 years, 9 months ago
Now that we can select the second serial console in the acceptance tests
(see commit 746f244d9720 "Allow to use other serial consoles than default"),
we can also test the sh4 image from the QEMU advent calendar 2018.

And another recent commit (ec860426dfbe "Fix handling of LL/SC instructions")
fixed a problem with qemu-system-mips64, so the mips64 from the advent
calendar now works again and can be used for acceptance testing, too.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .travis.yml                            |  2 +-
 tests/acceptance/boot_linux_console.py | 23 +++++++++++++++++++++--
 2 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 5887055951..71a0097878 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -313,7 +313,7 @@ matrix:
     # Acceptance (Functional) tests
     - name: "GCC check-acceptance"
       env:
-        - CONFIG="--target-list=aarch64-softmmu,alpha-softmmu,arm-softmmu,m68k-softmmu,microblaze-softmmu,mips-softmmu,mips64el-softmmu,nios2-softmmu,or1k-softmmu,ppc-softmmu,ppc64-softmmu,s390x-softmmu,sparc-softmmu,x86_64-softmmu,xtensa-softmmu"
+        - CONFIG="--target-list=aarch64-softmmu,alpha-softmmu,arm-softmmu,m68k-softmmu,microblaze-softmmu,mips-softmmu,mips64-softmmu,mips64el-softmmu,nios2-softmmu,or1k-softmmu,ppc-softmmu,ppc64-softmmu,s390x-softmmu,sh4-softmmu,sparc-softmmu,x86_64-softmmu,xtensa-softmmu"
         - TEST_CMD="make check-acceptance"
       after_script:
         - python3 -c 'import json; r = json.load(open("tests/results/latest/results.json")); [print(t["logfile"]) for t in r["tests"] if t["status"] not in ("PASS", "SKIP")]' | xargs cat
diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
index 34d37eba3b..a38ee004b1 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -591,12 +591,12 @@ class BootLinuxConsole(Test):
         console_pattern = 'No filesystem could mount root'
         self.wait_for_console_pattern(console_pattern)
 
-    def do_test_advcal_2018(self, day, tar_hash, kernel_name):
+    def do_test_advcal_2018(self, day, tar_hash, kernel_name, console=0):
         tar_url = ('https://www.qemu-advent-calendar.org'
                    '/2018/download/day' + day + '.tar.xz')
         file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
         archive.extract(file_path, self.workdir)
-        self.vm.set_console()
+        self.vm.set_console(console_index=console)
         self.vm.add_args('-kernel',
                          self.workdir + '/day' + day + '/' + kernel_name)
         self.vm.launch()
@@ -670,6 +670,25 @@ class BootLinuxConsole(Test):
         self.vm.add_args('-M', 'graphics=off')
         self.do_test_advcal_2018('15', tar_hash, 'invaders.elf')
 
+    def test_mips64_malta(self):
+        """
+        :avocado: tags=arch:mips64
+        :avocado: tags=machine:malta
+        :avocado: tags=endian:big
+        """
+        tar_hash = '81b030201ec3f28cb1925297f6017d3a20d7ced5'
+        self.vm.add_args('-hda', self.workdir + '/day22/' + 'ri-li.qcow2',
+                         '-append', 'root=/dev/hda')
+        self.do_test_advcal_2018('22', tar_hash, 'vmlinux')
+
+    def test_sh4_r2d(self):
+        """
+        :avocado: tags=arch:sh4
+        :avocado: tags=machine:r2d
+        """
+        tar_hash = 'fe06a4fd8ccbf2e27928d64472939d47829d4c7e'
+        self.do_test_advcal_2018('09', tar_hash, 'zImage', console=1)
+
     def test_sparc_ss20(self):
         """
         :avocado: tags=arch:sparc
-- 
2.18.1


Re: [PATCH] tests/acceptance: Add boot tests for sh4 and mips64 QEMU advent calendar images
Posted by Wainer dos Santos Moschetta 5 years, 9 months ago
On 2/11/20 7:42 AM, Thomas Huth wrote:
> Now that we can select the second serial console in the acceptance tests
> (see commit 746f244d9720 "Allow to use other serial consoles than default"),
> we can also test the sh4 image from the QEMU advent calendar 2018.
>
> And another recent commit (ec860426dfbe "Fix handling of LL/SC instructions")
> fixed a problem with qemu-system-mips64, so the mips64 from the advent
> calendar now works again and can be used for acceptance testing, too.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   .travis.yml                            |  2 +-
>   tests/acceptance/boot_linux_console.py | 23 +++++++++++++++++++++--
>   2 files changed, 22 insertions(+), 3 deletions(-)

This change looks good.

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

>
> diff --git a/.travis.yml b/.travis.yml
> index 5887055951..71a0097878 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -313,7 +313,7 @@ matrix:
>       # Acceptance (Functional) tests
>       - name: "GCC check-acceptance"
>         env:
> -        - CONFIG="--target-list=aarch64-softmmu,alpha-softmmu,arm-softmmu,m68k-softmmu,microblaze-softmmu,mips-softmmu,mips64el-softmmu,nios2-softmmu,or1k-softmmu,ppc-softmmu,ppc64-softmmu,s390x-softmmu,sparc-softmmu,x86_64-softmmu,xtensa-softmmu"
> +        - CONFIG="--target-list=aarch64-softmmu,alpha-softmmu,arm-softmmu,m68k-softmmu,microblaze-softmmu,mips-softmmu,mips64-softmmu,mips64el-softmmu,nios2-softmmu,or1k-softmmu,ppc-softmmu,ppc64-softmmu,s390x-softmmu,sh4-softmmu,sparc-softmmu,x86_64-softmmu,xtensa-softmmu"
>           - TEST_CMD="make check-acceptance"
>         after_script:
>           - python3 -c 'import json; r = json.load(open("tests/results/latest/results.json")); [print(t["logfile"]) for t in r["tests"] if t["status"] not in ("PASS", "SKIP")]' | xargs cat
> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> index 34d37eba3b..a38ee004b1 100644
> --- a/tests/acceptance/boot_linux_console.py
> +++ b/tests/acceptance/boot_linux_console.py
> @@ -591,12 +591,12 @@ class BootLinuxConsole(Test):
>           console_pattern = 'No filesystem could mount root'
>           self.wait_for_console_pattern(console_pattern)
>   
> -    def do_test_advcal_2018(self, day, tar_hash, kernel_name):
> +    def do_test_advcal_2018(self, day, tar_hash, kernel_name, console=0):
>           tar_url = ('https://www.qemu-advent-calendar.org'
>                      '/2018/download/day' + day + '.tar.xz')
>           file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
>           archive.extract(file_path, self.workdir)
> -        self.vm.set_console()
> +        self.vm.set_console(console_index=console)
>           self.vm.add_args('-kernel',
>                            self.workdir + '/day' + day + '/' + kernel_name)
>           self.vm.launch()
> @@ -670,6 +670,25 @@ class BootLinuxConsole(Test):
>           self.vm.add_args('-M', 'graphics=off')
>           self.do_test_advcal_2018('15', tar_hash, 'invaders.elf')
>   
> +    def test_mips64_malta(self):
> +        """
> +        :avocado: tags=arch:mips64
> +        :avocado: tags=machine:malta
> +        :avocado: tags=endian:big
> +        """
> +        tar_hash = '81b030201ec3f28cb1925297f6017d3a20d7ced5'
> +        self.vm.add_args('-hda', self.workdir + '/day22/' + 'ri-li.qcow2',
> +                         '-append', 'root=/dev/hda')
> +        self.do_test_advcal_2018('22', tar_hash, 'vmlinux')
> +
> +    def test_sh4_r2d(self):
> +        """
> +        :avocado: tags=arch:sh4
> +        :avocado: tags=machine:r2d
> +        """
> +        tar_hash = 'fe06a4fd8ccbf2e27928d64472939d47829d4c7e'
> +        self.do_test_advcal_2018('09', tar_hash, 'zImage', console=1)
> +
>       def test_sparc_ss20(self):
>           """
>           :avocado: tags=arch:sparc


Re: [PATCH] tests/acceptance: Add boot tests for sh4 and mips64 QEMU advent calendar images
Posted by Thomas Huth 5 years, 9 months ago
On 11/02/2020 10.42, Thomas Huth wrote:
> Now that we can select the second serial console in the acceptance tests
> (see commit 746f244d9720 "Allow to use other serial consoles than default"),
> we can also test the sh4 image from the QEMU advent calendar 2018.
> 
> And another recent commit (ec860426dfbe "Fix handling of LL/SC instructions")
> fixed a problem with qemu-system-mips64, so the mips64 from the advent
> calendar now works again and can be used for acceptance testing, too.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  .travis.yml                            |  2 +-
>  tests/acceptance/boot_linux_console.py | 23 +++++++++++++++++++++--
>  2 files changed, 22 insertions(+), 3 deletions(-)
> 
> diff --git a/.travis.yml b/.travis.yml
> index 5887055951..71a0097878 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -313,7 +313,7 @@ matrix:
>      # Acceptance (Functional) tests
>      - name: "GCC check-acceptance"
>        env:
> -        - CONFIG="--target-list=aarch64-softmmu,alpha-softmmu,arm-softmmu,m68k-softmmu,microblaze-softmmu,mips-softmmu,mips64el-softmmu,nios2-softmmu,or1k-softmmu,ppc-softmmu,ppc64-softmmu,s390x-softmmu,sparc-softmmu,x86_64-softmmu,xtensa-softmmu"
> +        - CONFIG="--target-list=aarch64-softmmu,alpha-softmmu,arm-softmmu,m68k-softmmu,microblaze-softmmu,mips-softmmu,mips64-softmmu,mips64el-softmmu,nios2-softmmu,or1k-softmmu,ppc-softmmu,ppc64-softmmu,s390x-softmmu,sh4-softmmu,sparc-softmmu,x86_64-softmmu,xtensa-softmmu"
>          - TEST_CMD="make check-acceptance"
>        after_script:
>          - python3 -c 'import json; r = json.load(open("tests/results/latest/results.json")); [print(t["logfile"]) for t in r["tests"] if t["status"] not in ("PASS", "SKIP")]' | xargs cat
> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> index 34d37eba3b..a38ee004b1 100644
> --- a/tests/acceptance/boot_linux_console.py
> +++ b/tests/acceptance/boot_linux_console.py
> @@ -591,12 +591,12 @@ class BootLinuxConsole(Test):
>          console_pattern = 'No filesystem could mount root'
>          self.wait_for_console_pattern(console_pattern)
>  
> -    def do_test_advcal_2018(self, day, tar_hash, kernel_name):
> +    def do_test_advcal_2018(self, day, tar_hash, kernel_name, console=0):
>          tar_url = ('https://www.qemu-advent-calendar.org'
>                     '/2018/download/day' + day + '.tar.xz')
>          file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
>          archive.extract(file_path, self.workdir)
> -        self.vm.set_console()
> +        self.vm.set_console(console_index=console)
>          self.vm.add_args('-kernel',
>                           self.workdir + '/day' + day + '/' + kernel_name)
>          self.vm.launch()
> @@ -670,6 +670,25 @@ class BootLinuxConsole(Test):
>          self.vm.add_args('-M', 'graphics=off')
>          self.do_test_advcal_2018('15', tar_hash, 'invaders.elf')
>  
> +    def test_mips64_malta(self):
> +        """
> +        :avocado: tags=arch:mips64
> +        :avocado: tags=machine:malta
> +        :avocado: tags=endian:big
> +        """
> +        tar_hash = '81b030201ec3f28cb1925297f6017d3a20d7ced5'
> +        self.vm.add_args('-hda', self.workdir + '/day22/' + 'ri-li.qcow2',
> +                         '-append', 'root=/dev/hda')
> +        self.do_test_advcal_2018('22', tar_hash, 'vmlinux')

It's maybe nicer to place the malta test alphabetically earlier ... I'll
send a v2...

> +    def test_sh4_r2d(self):
> +        """
> +        :avocado: tags=arch:sh4
> +        :avocado: tags=machine:r2d
> +        """
> +        tar_hash = 'fe06a4fd8ccbf2e27928d64472939d47829d4c7e'
> +        self.do_test_advcal_2018('09', tar_hash, 'zImage', console=1)
> +
>      def test_sparc_ss20(self):
>          """
>          :avocado: tags=arch:sparc
> 

 Thomas