[U-Boot] [PATCH 6/8] test/py: add various utility code
Simon Glass
sjg at chromium.org
Fri Jan 22 04:36:09 CET 2016
Hi Stephen,
On 20 January 2016 at 15:15, Stephen Warren <swarren at wwwdotorg.org> wrote:
> From: Stephen Warren <swarren at nvidia.com>
>
> Add various common utility functions. These will be used by a forthcoming
> re-written UMS test, and a brand-new DFU test.
>
> Signed-off-by: Stephen Warren <swarren at nvidia.com>
> ---
> test/py/u_boot_console_base.py | 19 +++++
> test/py/u_boot_utils.py | 171 +++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 190 insertions(+)
> create mode 100644 test/py/u_boot_utils.py
Acked-by: Simon Glass <sjg at chromium.org>
>
> diff --git a/test/py/u_boot_console_base.py b/test/py/u_boot_console_base.py
> index 433bec6e9fdd..06f61f987180 100644
> --- a/test/py/u_boot_console_base.py
> +++ b/test/py/u_boot_console_base.py
> @@ -215,6 +215,25 @@ class ConsoleBase(object):
> self.log.action('Sending Ctrl-C')
> self.run_command(chr(3), wait_for_echo=False, send_nl=False)
>
> + def wait_for(self, text):
> + '''Wait for a pattern to be emitted by U-Boot.
I meant to say we should use """ for function comments to keep it
consistent with the rest of U-Boot. Maybe could adjust this in a
follow-on patch?
> +
> + This is useful when a long-running command such as "dfu" is executing,
> + and it periodically emits some text that should show up at a specific
> + location in the log file.
> +
> + Args:
> + text: The text to wait for; either a string (containing raw text,
> + not a regular expression) or an re object.
> +
> + Returns:
> + Nothing.
> + '''
> +
> + if type(text) == type(''):
> + text = re.escape(text)
> + self.p.expect([text])
Does this potentially wait forever?
> +
> def drain_console(self):
> '''Read from and log the U-Boot console for a short time.
>
> diff --git a/test/py/u_boot_utils.py b/test/py/u_boot_utils.py
> new file mode 100644
> index 000000000000..539af618dbf2
> --- /dev/null
> +++ b/test/py/u_boot_utils.py
> @@ -0,0 +1,171 @@
> +# Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
> +#
> +# SPDX-License-Identifier: GPL-2.0
> +
> +# Utility code shared across multiple tests.
> +
> +import hashlib
> +import os
> +import os.path
> +import sys
> +import time
> +
> +def md5sum_data(data):
> + '''Calculate the MD5 hash of some data.
> +
> + Args:
> + data: The data to hash.
> +
> + Returns:
> + The hash of the data, as a binary string.
> + '''
> +
> + h = hashlib.md5()
> + h.update(data)
> + return h.digest()
Or just:
return hashlib.md5().update(data).digest()
Regards,
Simon
More information about the U-Boot
mailing list