[dpdk-dev] [PATCH] autotest: fix for pure python3 environments
Bruce Richardson
bruce.richardson at intel.com
Thu Jun 4 18:25:12 CEST 2020
On Thu, May 07, 2020 at 09:26:29AM +0200, Christian Ehrhardt wrote:
> Without this fix in a pure python3 environment this will run into
> issues like:
> ModuleNotFoundError: No module named 'StringIO'
> or later string encoding issues on check_output.
>
> Signed-off-by: Christian Ehrhardt <christian.ehrhardt at canonical.com>
> ---
> app/test/autotest_runner.py | 16 +++++++---------
> 1 file changed, 7 insertions(+), 9 deletions(-)
>
> diff --git a/app/test/autotest_runner.py b/app/test/autotest_runner.py
> index 95e74c760d..dfa5f2b2dd 100644
> --- a/app/test/autotest_runner.py
> +++ b/app/test/autotest_runner.py
> @@ -4,7 +4,7 @@
> # The main logic behind running autotests in parallel
>
> from __future__ import print_function
> -import StringIO
> +import io
> import csv
> from multiprocessing import Pool, Queue
> import pexpect
> @@ -45,11 +45,9 @@ def get_numa_nodes():
> def first_cpu_on_node(node_nr):
> cpu_path = glob.glob("/sys/devices/system/node/node%d/cpu*" % node_nr)
> r = re.compile(r"cpu(\d+)")
> - cpu_name = filter(None,
> - map(r.match,
> - map(os.path.basename, cpu_path)
> - )
> - )
> + cpu_name = [_f for _f in map(r.match,
> + list(map(os.path.basename, cpu_path))
> + ) if _f]
> # for compatibility between python 3 and 2 we need to make interable out
> # of filter return as it returns list in python 2 and a generator in 3
> m = next(iter(cpu_name))
If this is python3 only, then you can remove the "iter()" call above and
the comment about the python2 compatibility.
/Bruce
More information about the dev
mailing list