From: Aleksandar Markovic <amarkovic@wavecomp.com>
This patch restructures code organization around the test case
executions. At the same time, rather than outputing a cryptic message:
FAIL: True not found in [False],
the following will be reported too, if the command output does not meet
specified expectations:
'lspci -d 11ab:4620' output doesn't contain the word 'GT-64120'
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
tests/acceptance/linux_ssh_mips_malta.py | 36 +++++++++++++++++++-------------
1 file changed, 21 insertions(+), 15 deletions(-)
diff --git a/tests/acceptance/linux_ssh_mips_malta.py b/tests/acceptance/linux_ssh_mips_malta.py
index aafb0c3..8368e1f 100644
--- a/tests/acceptance/linux_ssh_mips_malta.py
+++ b/tests/acceptance/linux_ssh_mips_malta.py
@@ -145,27 +145,33 @@ class LinuxSSH(Test):
self.ssh_disconnect_vm()
self.wait_for_console_pattern('Power down')
- def run_common_commands(self):
- stdout, stderr = self.ssh_command('lspci -d 11ab:4620')
- self.assertIn(True, ["GT-64120" in line for line in stdout])
-
- stdout, stderr = self.ssh_command('cat /sys/bus/i2c/devices/i2c-0/name')
- self.assertIn(True, ["SMBus PIIX4 adapter" in line
- for line in stdout])
-
- stdout, stderr = self.ssh_command('cat /proc/mtd')
- self.assertIn(True, ["YAMON" in line
- for line in stdout])
+ def ssh_command_output_contains(self, cmd, exp):
+ stdout, _ = self.ssh_command(cmd)
+ for line in stdout:
+ if exp in line:
+ break
+ else:
+ self.fail('"%s" output does not contain "%s"' % (cmd, exp))
+ def run_common_commands(self):
+ self.ssh_command_output_contains(
+ 'lspci -d 11ab:4620',
+ 'GT-64120')
+ self.ssh_command_output_contains(
+ 'cat /sys/bus/i2c/devices/i2c-0/name',
+ 'SMBus PIIX4 adapter')
+ self.ssh_command_output_contains(
+ 'cat /proc/mtd',
+ 'YAMON')
# Empty 'Board Config'
- stdout, stderr = self.ssh_command('md5sum /dev/mtd2ro')
- self.assertIn(True, ["0dfbe8aa4c20b52e1b8bf3cb6cbdf193" in line
- for line in stdout])
+ self.ssh_command_output_contains(
+ 'md5sum /dev/mtd2ro',
+ '0dfbe8aa4c20b52e1b8bf3cb6cbdf193')
def do_test_mips_malta(self, endianess, kernel_path, uname_m):
self.boot_debian_wheezy_image_and_ssh_login(endianess, kernel_path)
- stdout, stderr = self.ssh_command('uname -a')
+ stdout, _ = self.ssh_command('uname -a')
self.assertIn(True, [uname_m + " GNU/Linux" in line for line in stdout])
self.run_common_commands()
--
2.7.4
On 8/2/19 5:35 PM, Aleksandar Markovic wrote:
> From: Aleksandar Markovic <amarkovic@wavecomp.com>
>
> This patch restructures code organization around the test case
> executions. At the same time, rather than outputing a cryptic message:
>
> FAIL: True not found in [False],
>
> the following will be reported too, if the command output does not meet
> specified expectations:
>
> 'lspci -d 11ab:4620' output doesn't contain the word 'GT-64120'
>
> Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
> ---
> tests/acceptance/linux_ssh_mips_malta.py | 36 +++++++++++++++++++-------------
> 1 file changed, 21 insertions(+), 15 deletions(-)
>
> diff --git a/tests/acceptance/linux_ssh_mips_malta.py b/tests/acceptance/linux_ssh_mips_malta.py
> index aafb0c3..8368e1f 100644
> --- a/tests/acceptance/linux_ssh_mips_malta.py
> +++ b/tests/acceptance/linux_ssh_mips_malta.py
> @@ -145,27 +145,33 @@ class LinuxSSH(Test):
> self.ssh_disconnect_vm()
> self.wait_for_console_pattern('Power down')
>
> - def run_common_commands(self):
> - stdout, stderr = self.ssh_command('lspci -d 11ab:4620')
> - self.assertIn(True, ["GT-64120" in line for line in stdout])
> -
> - stdout, stderr = self.ssh_command('cat /sys/bus/i2c/devices/i2c-0/name')
> - self.assertIn(True, ["SMBus PIIX4 adapter" in line
> - for line in stdout])
> -
> - stdout, stderr = self.ssh_command('cat /proc/mtd')
> - self.assertIn(True, ["YAMON" in line
> - for line in stdout])
> + def ssh_command_output_contains(self, cmd, exp):
> + stdout, _ = self.ssh_command(cmd)
> + for line in stdout:
> + if exp in line:
> + break
> + else:
> + self.fail('"%s" output does not contain "%s"' % (cmd, exp))
Or easier using 'return':
def ssh_command_output_contains(self, cmd, exp):
stdout, _ = self.ssh_command(cmd)
for line in stdout:
if exp in line:
return
self.fail('"%s" output does not contain "%s"' % (cmd, exp))
Regardless, thanks for the cleanup!
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>
> + def run_common_commands(self):
> + self.ssh_command_output_contains(
> + 'lspci -d 11ab:4620',
> + 'GT-64120')
> + self.ssh_command_output_contains(
> + 'cat /sys/bus/i2c/devices/i2c-0/name',
> + 'SMBus PIIX4 adapter')
> + self.ssh_command_output_contains(
> + 'cat /proc/mtd',
> + 'YAMON')
> # Empty 'Board Config'
> - stdout, stderr = self.ssh_command('md5sum /dev/mtd2ro')
> - self.assertIn(True, ["0dfbe8aa4c20b52e1b8bf3cb6cbdf193" in line
> - for line in stdout])
> + self.ssh_command_output_contains(
> + 'md5sum /dev/mtd2ro',
> + '0dfbe8aa4c20b52e1b8bf3cb6cbdf193')
>
> def do_test_mips_malta(self, endianess, kernel_path, uname_m):
> self.boot_debian_wheezy_image_and_ssh_login(endianess, kernel_path)
>
> - stdout, stderr = self.ssh_command('uname -a')
> + stdout, _ = self.ssh_command('uname -a')
> self.assertIn(True, [uname_m + " GNU/Linux" in line for line in stdout])
>
> self.run_common_commands()
>
On Fri, Aug 02, 2019 at 05:35:57PM +0200, Aleksandar Markovic wrote:
> From: Aleksandar Markovic <amarkovic@wavecomp.com>
>
> This patch restructures code organization around the test case
> executions. At the same time, rather than outputing a cryptic message:
>
> FAIL: True not found in [False],
>
> the following will be reported too, if the command output does not meet
> specified expectations:
>
> 'lspci -d 11ab:4620' output doesn't contain the word 'GT-64120'
>
> Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
> ---
> tests/acceptance/linux_ssh_mips_malta.py | 36 +++++++++++++++++++-------------
> 1 file changed, 21 insertions(+), 15 deletions(-)
>
> diff --git a/tests/acceptance/linux_ssh_mips_malta.py b/tests/acceptance/linux_ssh_mips_malta.py
> index aafb0c3..8368e1f 100644
> --- a/tests/acceptance/linux_ssh_mips_malta.py
> +++ b/tests/acceptance/linux_ssh_mips_malta.py
> @@ -145,27 +145,33 @@ class LinuxSSH(Test):
> self.ssh_disconnect_vm()
> self.wait_for_console_pattern('Power down')
>
> - def run_common_commands(self):
> - stdout, stderr = self.ssh_command('lspci -d 11ab:4620')
> - self.assertIn(True, ["GT-64120" in line for line in stdout])
> -
> - stdout, stderr = self.ssh_command('cat /sys/bus/i2c/devices/i2c-0/name')
> - self.assertIn(True, ["SMBus PIIX4 adapter" in line
> - for line in stdout])
> -
> - stdout, stderr = self.ssh_command('cat /proc/mtd')
> - self.assertIn(True, ["YAMON" in line
> - for line in stdout])
> + def ssh_command_output_contains(self, cmd, exp):
> + stdout, _ = self.ssh_command(cmd)
> + for line in stdout:
> + if exp in line:
> + break
> + else:
> + self.fail('"%s" output does not contain "%s"' % (cmd, exp))
>
> + def run_common_commands(self):
> + self.ssh_command_output_contains(
> + 'lspci -d 11ab:4620',
> + 'GT-64120')
> + self.ssh_command_output_contains(
> + 'cat /sys/bus/i2c/devices/i2c-0/name',
> + 'SMBus PIIX4 adapter')
> + self.ssh_command_output_contains(
> + 'cat /proc/mtd',
> + 'YAMON')
> # Empty 'Board Config'
> - stdout, stderr = self.ssh_command('md5sum /dev/mtd2ro')
> - self.assertIn(True, ["0dfbe8aa4c20b52e1b8bf3cb6cbdf193" in line
> - for line in stdout])
> + self.ssh_command_output_contains(
> + 'md5sum /dev/mtd2ro',
> + '0dfbe8aa4c20b52e1b8bf3cb6cbdf193')
>
> def do_test_mips_malta(self, endianess, kernel_path, uname_m):
> self.boot_debian_wheezy_image_and_ssh_login(endianess, kernel_path)
>
> - stdout, stderr = self.ssh_command('uname -a')
> + stdout, _ = self.ssh_command('uname -a')
> self.assertIn(True, [uname_m + " GNU/Linux" in line for line in stdout])
This should also make use of ssh_command_output_contains(), that is:
self.ssh_command_output_contains('uname -a',
uname_m + " GNU/Linux")
Other than that, it LGTM.
- Cleber.
>
> self.run_common_commands()
> --
> 2.7.4
>
© 2016 - 2026 Red Hat, Inc.