[PATCH v2] UBUNTU: SAUCE: ubuntu_boot: fix second test execution
Po-Hsu Lin
po-hsu.lin at canonical.com
Fri Jun 4 03:04:44 UTC 2021
On Thu, Jun 3, 2021 at 9:04 PM Krzysztof Kozlowski
<krzysztof.kozlowski at canonical.com> wrote:
>
> The setup() might not be called on second test run and actually autotest
> design assumes setup() for given version will be called exactly once.
> It is expected from setup() to modify only persistent state of the
> system, so on next run it's execution is not needed. Runtime-only
> settings should not be configured via setup().
>
> This fixes failure on second test execution:
>
> 00:54:03 INFO | START ubuntu_boot.log_check ubuntu_boot.log_check
> 00:54:03 DEBUG| Persistent state client._record_indent now set to 2
> 00:54:03 DEBUG| Persistent state client.unexpected_reboot now set to ('ubuntu_boot.log_check', 'ubuntu_boot.log_check')
> 00:54:03 DEBUG| Waiting for pid 19403 for 300 seconds
> 00:54:03 WARNI| System python is too old, crash handling disabled
> 00:54:03 ERROR| Exception escaping from test:
> Traceback (most recent call last):
> File "/home/azure/autotest/client/shared/test.py", line 411, in _exec
> _call_test_function(self.execute, *p_args, **p_dargs)
> File "/home/azure/autotest/client/shared/test.py", line 830, in _call_test_function
> raise error.UnhandledTestFail(e)
> UnhandledTestFail: Unhandled AttributeError: 'ubuntu_boot' object has no attribute 'centos'
> Traceback (most recent call last):
> File "/home/azure/autotest/client/shared/test.py", line 823, in _call_test_function
> return func(*args, **dargs)
> File "/home/azure/autotest/client/shared/test.py", line 291, in execute
> postprocess_profiled_run, args, dargs)
> File "/home/azure/autotest/client/shared/test.py", line 212, in _call_run_once
> self.run_once(*args, **dargs)
> File "/home/azure/autotest/client/tests/ubuntu_boot/ubuntu_boot.py", line 63, in run_once
> if not self.log_check():
> File "/home/azure/autotest/client/tests/ubuntu_boot/ubuntu_boot.py", line 25, in log_check
> if self.centos:
> AttributeError: 'ubuntu_boot' object has no attribute 'centos'
>
> Fixes: e14cb0e1bd0c ("UBUNTU SAUCE: ubuntu_boot Centos Support")
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski at canonical.com>
>
> ---
>
> Changes since v1:
> 1. Add prefix to subject
> ---
> ubuntu_boot/ubuntu_boot.py | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/ubuntu_boot/ubuntu_boot.py b/ubuntu_boot/ubuntu_boot.py
> index a67f21d49fc7..b67a588285f8 100644
> --- a/ubuntu_boot/ubuntu_boot.py
> +++ b/ubuntu_boot/ubuntu_boot.py
> @@ -12,17 +12,17 @@ class ubuntu_boot(test.test):
> cmd = 'yes "" | DEBIAN_FRONTEND=noninteractive apt-get install --yes --force-yes ' + ' '.join(pkgs)
> self.results = utils.system_output(cmd, retain_output=True)
>
> + def log_check(self):
> + '''Test for checking error patterns in log files'''
> '''Centos Specific Boot Test Checks'''
> - self.centos = False
> + centos = False
> os_dist = platform.linux_distribution()[0].split(' ')[0]
> if os_dist == 'CentOS':
> - self.centos = True
> + centos = True
>
> - def log_check(self):
> - '''Test for checking error patterns in log files'''
> # dmesg will be cleared out in autotest with dmesg -c before the test starts
> # Let's check for /var/log/syslog instead
> - if self.centos:
> + if centos:
> logfile = '/var/log/messages'
I think this if statement can be simplified along with the one above:
if os_dist == 'CentOS':
logfile = '/var/log/messages'
And drop the centos variable.
Thanks
Sam
> else:
> logfile = '/var/log/syslog'
> --
> 2.27.0
>
>
> --
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
More information about the kernel-team
mailing list