Message ID | 20220823152558.301624-2-alex.bennee@linaro.org |
---|---|
State | Accepted |
Commit | 48acf68cfe08496284fb12bf598721dea82d74a9 |
Headers | show |
Series | [PULL,1/6] tests/avocado: push default timeout to QemuBaseTest | expand |
On 8/23/22 08:25, Alex Bennée wrote: > All of the QEMU tests eventually end up derrived from this class. Move > the default timeout from LinuxTest to ensure we catch them all. As 15 > minutes is fairly excessive we drop the default down to 2 minutes > which is a more reasonable target for tests to aim for. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> > Message-Id: <20220822165608.2980552-2-alex.bennee@linaro.org> > > diff --git a/tests/avocado/avocado_qemu/__init__.py b/tests/avocado/avocado_qemu/__init__.py > index ed4853c805..0efd2bd212 100644 > --- a/tests/avocado/avocado_qemu/__init__.py > +++ b/tests/avocado/avocado_qemu/__init__.py > @@ -227,6 +227,10 @@ def exec_command_and_wait_for_pattern(test, command, > _console_interaction(test, success_message, failure_message, command + '\r') > > class QemuBaseTest(avocado.Test): > + > + # default timeout for all tests, can be overridden > + timeout = 120 > + > def _get_unique_tag_val(self, tag_name): > """ > Gets a tag value, if unique for a key > @@ -512,7 +516,6 @@ class LinuxTest(LinuxSSHMixIn, QemuSystemTest): > to start with than the more vanilla `QemuSystemTest` class. > """ > > - timeout = 900 > distro = None > username = 'root' > password = 'password' Bah. https://gitlab.com/qemu-project/qemu/-/jobs/2923804714 (001/192) tests/avocado/boot_linux.py:BootLinuxX8664.test_pc_i440fx_tcg: INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred: Timeout reached\nOriginal status: ERROR\n{'name': '001-tests/avocado/boot_linux.py:BootLinuxX8664.test_pc_i440fx_tcg', 'logdir': '/builds/qemu-project/qemu/build/tests/results/job-2022-08-23T21.03-6d06db2/t... (120.85 s) (003/192) tests/avocado/boot_linux.py:BootLinuxX8664.test_pc_q35_tcg: INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred: Timeout reached\nOriginal status: ERROR\n{'name': '003-tests/avocado/boot_linux.py:BootLinuxX8664.test_pc_q35_tcg', 'logdir': '/builds/qemu-project/qemu/build/tests/results/job-2022-08-23T21.03-6d06db2/test... (120.81 s) The previous successful run had (001/192) tests/avocado/boot_linux.py:BootLinuxX8664.test_pc_i440fx_tcg: PASS (257.00 s) (003/192) tests/avocado/boot_linux.py:BootLinuxX8664.test_pc_q35_tcg: PASS (238.67 s) r~
Richard Henderson <richard.henderson@linaro.org> writes: > On 8/23/22 08:25, Alex Bennée wrote: >> All of the QEMU tests eventually end up derrived from this class. Move >> the default timeout from LinuxTest to ensure we catch them all. As 15 >> minutes is fairly excessive we drop the default down to 2 minutes >> which is a more reasonable target for tests to aim for. >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> >> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> >> Message-Id: <20220822165608.2980552-2-alex.bennee@linaro.org> >> diff --git a/tests/avocado/avocado_qemu/__init__.py >> b/tests/avocado/avocado_qemu/__init__.py >> index ed4853c805..0efd2bd212 100644 >> --- a/tests/avocado/avocado_qemu/__init__.py >> +++ b/tests/avocado/avocado_qemu/__init__.py >> @@ -227,6 +227,10 @@ def exec_command_and_wait_for_pattern(test, command, >> _console_interaction(test, success_message, failure_message, command + '\r') >> class QemuBaseTest(avocado.Test): >> + >> + # default timeout for all tests, can be overridden >> + timeout = 120 >> + >> def _get_unique_tag_val(self, tag_name): >> """ >> Gets a tag value, if unique for a key >> @@ -512,7 +516,6 @@ class LinuxTest(LinuxSSHMixIn, QemuSystemTest): >> to start with than the more vanilla `QemuSystemTest` class. >> """ >> - timeout = 900 >> distro = None >> username = 'root' >> password = 'password' > > Bah. > > https://gitlab.com/qemu-project/qemu/-/jobs/2923804714 Hmm weird - the avocado CFI job doesn't even appear on my CI list (even with push-ci-now). Anyway I've reverted the timeout to 900s and sent a v2 of the PR. I'll drop it back down to 120s next cycle and explicitly increase the timeouts for the known slow tests. > > (001/192) > tests/avocado/boot_linux.py:BootLinuxX8664.test_pc_i440fx_tcg: > INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred: > Timeout reached\nOriginal status: ERROR\n{'name': > '001-tests/avocado/boot_linux.py:BootLinuxX8664.test_pc_i440fx_tcg', > 'logdir': > '/builds/qemu-project/qemu/build/tests/results/job-2022-08-23T21.03-6d06db2/t... > (120.85 s) > (003/192) tests/avocado/boot_linux.py:BootLinuxX8664.test_pc_q35_tcg: > INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred: > Timeout reached\nOriginal status: ERROR\n{'name': > '003-tests/avocado/boot_linux.py:BootLinuxX8664.test_pc_q35_tcg', > 'logdir': > '/builds/qemu-project/qemu/build/tests/results/job-2022-08-23T21.03-6d06db2/test... > (120.81 s) > > The previous successful run had > > (001/192) tests/avocado/boot_linux.py:BootLinuxX8664.test_pc_i440fx_tcg: PASS (257.00 s) > (003/192) tests/avocado/boot_linux.py:BootLinuxX8664.test_pc_q35_tcg: PASS (238.67 s) > > > r~
On 24/08/2022 11.19, Alex Bennée wrote: > > Richard Henderson <richard.henderson@linaro.org> writes: > >> On 8/23/22 08:25, Alex Bennée wrote: >>> All of the QEMU tests eventually end up derrived from this class. Move >>> the default timeout from LinuxTest to ensure we catch them all. As 15 >>> minutes is fairly excessive we drop the default down to 2 minutes >>> which is a more reasonable target for tests to aim for. >>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> >>> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> >>> Message-Id: <20220822165608.2980552-2-alex.bennee@linaro.org> >>> diff --git a/tests/avocado/avocado_qemu/__init__.py >>> b/tests/avocado/avocado_qemu/__init__.py >>> index ed4853c805..0efd2bd212 100644 >>> --- a/tests/avocado/avocado_qemu/__init__.py >>> +++ b/tests/avocado/avocado_qemu/__init__.py >>> @@ -227,6 +227,10 @@ def exec_command_and_wait_for_pattern(test, command, >>> _console_interaction(test, success_message, failure_message, command + '\r') >>> class QemuBaseTest(avocado.Test): >>> + >>> + # default timeout for all tests, can be overridden >>> + timeout = 120 >>> + >>> def _get_unique_tag_val(self, tag_name): >>> """ >>> Gets a tag value, if unique for a key >>> @@ -512,7 +516,6 @@ class LinuxTest(LinuxSSHMixIn, QemuSystemTest): >>> to start with than the more vanilla `QemuSystemTest` class. >>> """ >>> - timeout = 900 >>> distro = None >>> username = 'root' >>> password = 'password' >> >> Bah. >> >> https://gitlab.com/qemu-project/qemu/-/jobs/2923804714 > > > Hmm weird - the avocado CFI job doesn't even appear on my CI list (even > with push-ci-now). You likely have to set QEMU_CI_AVOCADO_TESTING in your gitlab settings, see docs/devel/ci-jobs.rst.inc. I think we really have to rework the way we run (or rather not run) the avocado tests - since with the current default behavior, they'll be ignored by most people by default. Thomas
diff --git a/tests/avocado/avocado_qemu/__init__.py b/tests/avocado/avocado_qemu/__init__.py index ed4853c805..0efd2bd212 100644 --- a/tests/avocado/avocado_qemu/__init__.py +++ b/tests/avocado/avocado_qemu/__init__.py @@ -227,6 +227,10 @@ def exec_command_and_wait_for_pattern(test, command, _console_interaction(test, success_message, failure_message, command + '\r') class QemuBaseTest(avocado.Test): + + # default timeout for all tests, can be overridden + timeout = 120 + def _get_unique_tag_val(self, tag_name): """ Gets a tag value, if unique for a key @@ -512,7 +516,6 @@ class LinuxTest(LinuxSSHMixIn, QemuSystemTest): to start with than the more vanilla `QemuSystemTest` class. """ - timeout = 900 distro = None username = 'root' password = 'password'