[PATCH v2 2/8] tests/avocado: Mark x86-64 boot_linux.py TCG tests as long runtime

Nicholas Piggin posted 8 patches 10 months ago
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Thomas Huth <thuth@redhat.com>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>, Cleber Rosa <crosa@redhat.com>, Nicholas Piggin <npiggin@gmail.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, "Cédric Le Goater" <clg@kaod.org>, David Gibson <david@gibson.dropbear.id.au>, Harsh Prateek Bora <harshpb@linux.ibm.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, Paolo Bonzini <pbonzini@redhat.com>
[PATCH v2 2/8] tests/avocado: Mark x86-64 boot_linux.py TCG tests as long runtime
Posted by Nicholas Piggin 10 months ago
Re-testing gitlab CI shows the ppc64 and s390x boot_linux tests take
100-150 seconds each. The x86-64 TCG tests take a similar ~100s each,
and are the longest-running avocado tests in gitlab.
From avocado-system-centos:

  boot_linux.py:BootLinuxX8664.test_pc_i440fx_tcg:  PASS (112.34 s)
  boot_linux.py:BootLinuxX8664.test_pc_q35_tcg:  PASS (97.05 s)
  boot_linux.py:BootLinuxPPC64.test_pseries_tcg:  PASS (148.86 s)
  boot_linux.py:BootLinuxS390X.test_s390_ccw_virtio_tcg:  PASS (149.83 s)

So mark the x86-64 tests as SPEED=slow as well.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

The other way we could go is enabling them all since ppc64 and s390s are
now much faster than when they were originally disabled; or to only
enable q35, giving at least one boot_linux.py test.

[https://gitlab.com/npiggin/qemu/-/jobs/5842257510 for results]
---
 tests/avocado/boot_linux.py | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/tests/avocado/boot_linux.py b/tests/avocado/boot_linux.py
index de4c8805f7..7c9cf6ae15 100644
--- a/tests/avocado/boot_linux.py
+++ b/tests/avocado/boot_linux.py
@@ -14,6 +14,9 @@
 
 from avocado import skipUnless
 
+# We don't run TCG tests in CI, as booting the current Fedora OS in TCG tests
+# is very heavyweight (~100s per test). There are lighter weight distros which
+# we use in the machine_aarch64_virt.py, tux_baseline.py, etc.
 
 class BootLinuxX8664(LinuxTest):
     """
@@ -21,6 +24,7 @@ class BootLinuxX8664(LinuxTest):
     """
     timeout = 480
 
+    @skipUnless(os.getenv('SPEED') == 'slow', 'runtime limited')
     def test_pc_i440fx_tcg(self):
         """
         :avocado: tags=machine:pc
@@ -39,6 +43,7 @@ def test_pc_i440fx_kvm(self):
         self.vm.add_args("-accel", "kvm")
         self.launch_and_wait(set_up_ssh_connection=False)
 
+    @skipUnless(os.getenv('SPEED') == 'slow', 'runtime limited')
     def test_pc_q35_tcg(self):
         """
         :avocado: tags=machine:q35
@@ -58,9 +63,6 @@ def test_pc_q35_kvm(self):
         self.launch_and_wait(set_up_ssh_connection=False)
 
 
-# For Aarch64 we only boot KVM tests in CI as booting the current
-# Fedora OS in TCG tests is very heavyweight. There are lighter weight
-# distros which we use in the machine_aarch64_virt.py tests.
 class BootLinuxAarch64(LinuxTest):
     """
     :avocado: tags=arch:aarch64
@@ -84,14 +86,11 @@ def test_virt_kvm(self):
         self.launch_and_wait(set_up_ssh_connection=False)
 
 
-# See the tux_baseline.py tests for almost the same coverage in a lot
-# less time.
 class BootLinuxPPC64(LinuxTest):
     """
     :avocado: tags=arch:ppc64
     """
-
-    timeout = 360
+    timeout = 480
 
     @skipUnless(os.getenv('SPEED') == 'slow', 'runtime limited')
     def test_pseries_tcg(self):
@@ -108,8 +107,7 @@ class BootLinuxS390X(LinuxTest):
     """
     :avocado: tags=arch:s390x
     """
-
-    timeout = 240
+    timeout = 480
 
     @skipUnless(os.getenv('SPEED') == 'slow', 'runtime limited')
     def test_s390_ccw_virtio_tcg(self):
-- 
2.42.0
Re: [PATCH v2 2/8] tests/avocado: Mark x86-64 boot_linux.py TCG tests as long runtime
Posted by Cédric Le Goater 9 months, 3 weeks ago
On 1/17/24 15:12, Nicholas Piggin wrote:
> Re-testing gitlab CI shows the ppc64 and s390x boot_linux tests take
> 100-150 seconds each. The x86-64 TCG tests take a similar ~100s each,
> and are the longest-running avocado tests in gitlab.
>  From avocado-system-centos:
> 
>    boot_linux.py:BootLinuxX8664.test_pc_i440fx_tcg:  PASS (112.34 s)
>    boot_linux.py:BootLinuxX8664.test_pc_q35_tcg:  PASS (97.05 s)
>    boot_linux.py:BootLinuxPPC64.test_pseries_tcg:  PASS (148.86 s)
>    boot_linux.py:BootLinuxS390X.test_s390_ccw_virtio_tcg:  PASS (149.83 s)
> 
> So mark the x86-64 tests as SPEED=slow as well.
> 
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
> 
> The other way we could go is enabling them all since ppc64 and s390s are
> now much faster than when they were originally disabled; or to only
> enable q35, giving at least one boot_linux.py test.
> 
> [https://gitlab.com/npiggin/qemu/-/jobs/5842257510 for results]


Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.


> ---
>   tests/avocado/boot_linux.py | 16 +++++++---------
>   1 file changed, 7 insertions(+), 9 deletions(-)
> 
> diff --git a/tests/avocado/boot_linux.py b/tests/avocado/boot_linux.py
> index de4c8805f7..7c9cf6ae15 100644
> --- a/tests/avocado/boot_linux.py
> +++ b/tests/avocado/boot_linux.py
> @@ -14,6 +14,9 @@
>   
>   from avocado import skipUnless
>   
> +# We don't run TCG tests in CI, as booting the current Fedora OS in TCG tests
> +# is very heavyweight (~100s per test). There are lighter weight distros which
> +# we use in the machine_aarch64_virt.py, tux_baseline.py, etc.
>   
>   class BootLinuxX8664(LinuxTest):
>       """
> @@ -21,6 +24,7 @@ class BootLinuxX8664(LinuxTest):
>       """
>       timeout = 480
>   
> +    @skipUnless(os.getenv('SPEED') == 'slow', 'runtime limited')
>       def test_pc_i440fx_tcg(self):
>           """
>           :avocado: tags=machine:pc
> @@ -39,6 +43,7 @@ def test_pc_i440fx_kvm(self):
>           self.vm.add_args("-accel", "kvm")
>           self.launch_and_wait(set_up_ssh_connection=False)
>   
> +    @skipUnless(os.getenv('SPEED') == 'slow', 'runtime limited')
>       def test_pc_q35_tcg(self):
>           """
>           :avocado: tags=machine:q35
> @@ -58,9 +63,6 @@ def test_pc_q35_kvm(self):
>           self.launch_and_wait(set_up_ssh_connection=False)
>   
>   
> -# For Aarch64 we only boot KVM tests in CI as booting the current
> -# Fedora OS in TCG tests is very heavyweight. There are lighter weight
> -# distros which we use in the machine_aarch64_virt.py tests.
>   class BootLinuxAarch64(LinuxTest):
>       """
>       :avocado: tags=arch:aarch64
> @@ -84,14 +86,11 @@ def test_virt_kvm(self):
>           self.launch_and_wait(set_up_ssh_connection=False)
>   
>   
> -# See the tux_baseline.py tests for almost the same coverage in a lot
> -# less time.
>   class BootLinuxPPC64(LinuxTest):
>       """
>       :avocado: tags=arch:ppc64
>       """
> -
> -    timeout = 360
> +    timeout = 480
>   
>       @skipUnless(os.getenv('SPEED') == 'slow', 'runtime limited')
>       def test_pseries_tcg(self):
> @@ -108,8 +107,7 @@ class BootLinuxS390X(LinuxTest):
>       """
>       :avocado: tags=arch:s390x
>       """
> -
> -    timeout = 240
> +    timeout = 480
>   
>       @skipUnless(os.getenv('SPEED') == 'slow', 'runtime limited')
>       def test_s390_ccw_virtio_tcg(self):