[dpdk-dev] [PATCH v1 0/4] app: make python apps python2/3 compliant
Neil Horman
nhorman at tuxdriver.com
Fri Dec 9 16:28:37 CET 2016
On Thu, Dec 08, 2016 at 03:51:01PM +0000, John McNamara wrote:
> These patches refactor the DPDK Python applications to make them Python 2/3
> compatible.
>
> In order to do this the patchset starts by making the apps PEP8 compliant in
> accordance with the DPDK Coding guidelines:
>
> http://dpdk.org/doc/guides/contributing/coding_style.html#python-code
>
> Implementing PEP8 and Python 2/3 compliance means that we can check all future
> Python patches for consistency. Python 2/3 support also makes downstream
> packaging easier as more distros move to Python 3 as the system python.
>
> See the previous discussion about Python2/3 compatibilty here:
>
> http://dpdk.org/ml/archives/dev/2016-December/051683.html
>
> I've tested that the apps compile with python 2 and 3 and I've tested some
> of the apps for consistent output but it needs additional testing.
>
> John McNamara (4):
> app: make python apps pep8 compliant
> app: make python apps python2/3 compliant
> app: give python apps a consistent shebang line
> doc: add required python versions to coding guidelines
>
> app/cmdline_test/cmdline_test.py | 87 ++-
> app/cmdline_test/cmdline_test_data.py | 403 +++++-----
> app/test/autotest.py | 46 +-
> app/test/autotest_data.py | 831 +++++++++++----------
> app/test/autotest_runner.py | 740 +++++++++---------
> app/test/autotest_test_funcs.py | 481 ++++++------
> doc/guides/conf.py | 11 +-
> doc/guides/contributing/coding_style.rst | 3 +-
> examples/ip_pipeline/config/diagram-generator.py | 13 +-
> .../ip_pipeline/config/pipeline-to-core-mapping.py | 11 +-
> tools/cpu_layout.py | 79 +-
> tools/dpdk-devbind.py | 26 +-
> tools/dpdk-pmdinfo.py | 73 +-
> 13 files changed, 1410 insertions(+), 1394 deletions(-)
>
> --
> 2.7.4
>
I think the changelog is deceptive. It claims to make all the utilities python2
and 3 compliant. But compliance with python3 is more than just stylistic
formatting. After this series several of these apps continue to fail under
python3. dpdk-pmdinfo as an example:
[nhorman at hmsreliant dpdk]$ ./tools/dpdk-pmdinfo.py ./build/app/testacl
Traceback (most recent call last):
File "./tools/dpdk-pmdinfo.py", line 607, in <module>
main()
File "./tools/dpdk-pmdinfo.py", line 596, in main
readelf.process_dt_needed_entries()
File "./tools/dpdk-pmdinfo.py", line 437, in process_dt_needed_entries
rc = tag.needed.find("librte_pmd")
TypeError: a bytes-like object is required, not 'str'
I'm not saying its a bad patchset, but the changelog should reflect that the
change is purely stylistic, not functional.
Neil
More information about the dev
mailing list