Message ID | 20190609181738.10074-1-shekhar250198@gmail.com |
---|---|
State | Changes Requested |
Delegated to: | Pablo Neira |
Headers | show |
Series | [nft,v6,1/2] tests: py: conversion to python3 | expand |
On Sun, Jun 09, 2019 at 11:47:38PM +0530, Shekhar Sharma wrote: > This patch converts the 'nft-test.py' file to run on both python 2 and python3. > > Signed-off-by: Shekhar Sharma <shekhar250198@gmail.com> > --- A couple nits below, but otherwise Acked-by: Eric Garver <eric@garver.life> > The version hystory of this patch is: > v1:conversion to py3 by changing the print statements. > v2:add the '__future__' package for compatibility with py2 and py3. > v3:solves the 'version' problem in argparse by adding a new argument. > v4:uses .format() method to make print statements clearer. > v5:updated the shebang and corrected the sequence of import statements. > v6:resent the same with small changes > > tests/py/nft-test.py | 42 ++++++++++++++++++++++-------------------- > 1 file changed, 22 insertions(+), 20 deletions(-) > > diff --git a/tests/py/nft-test.py b/tests/py/nft-test.py > index 09d00dba..4e18ae54 100755 > --- a/tests/py/nft-test.py > +++ b/tests/py/nft-test.py > @@ -1,4 +1,4 @@ > -#!/usr/bin/python2 > +#!/usr/bin/python nit: I think this shebang is more correct as it allows virtualenvs #!/usr/bin/env python But we can always call the tests with an explicit interpreter # .../my/bin/python ./nft-test.py > # > # (C) 2014 by Ana Rey Botello <anarey@gmail.com> > # [..] > @@ -1358,6 +1359,10 @@ def main(): > parser.add_argument('-s', '--schema', action='store_true', > dest='enable_schema', > help='verify json input/output against schema') > + nit: This adds a line with a tab, which both git-am and flake8 complain about. > + parser.add_argument('-v', '--version', action='version', > + version='1.0', > + help='print the version information') > > args = parser.parse_args() > global debug_option, need_fix_option, enable_json_option, enable_json_schema > @@ -1372,15 +1377,15 @@ def main(): [..]
On Tue, Jun 11, 2019 at 9:09 PM Eric Garver <eric@garver.life> wrote: > > On Sun, Jun 09, 2019 at 11:47:38PM +0530, Shekhar Sharma wrote: > > This patch converts the 'nft-test.py' file to run on both python 2 and python3. > > > > Signed-off-by: Shekhar Sharma <shekhar250198@gmail.com> > > --- > > A couple nits below, but otherwise > > Acked-by: Eric Garver <eric@garver.life> > > > The version hystory of this patch is: > > v1:conversion to py3 by changing the print statements. > > v2:add the '__future__' package for compatibility with py2 and py3. > > v3:solves the 'version' problem in argparse by adding a new argument. > > v4:uses .format() method to make print statements clearer. > > v5:updated the shebang and corrected the sequence of import statements. > > v6:resent the same with small changes > > > > tests/py/nft-test.py | 42 ++++++++++++++++++++++-------------------- > > 1 file changed, 22 insertions(+), 20 deletions(-) > > > > diff --git a/tests/py/nft-test.py b/tests/py/nft-test.py > > index 09d00dba..4e18ae54 100755 > > --- a/tests/py/nft-test.py > > +++ b/tests/py/nft-test.py > > @@ -1,4 +1,4 @@ > > -#!/usr/bin/python2 > > +#!/usr/bin/python > > nit: I think this shebang is more correct as it allows virtualenvs > > #!/usr/bin/env python > > But we can always call the tests with an explicit interpreter > > # .../my/bin/python ./nft-test.py > Sure, I will update it and post the patch. > > # > > # (C) 2014 by Ana Rey Botello <anarey@gmail.com> > > # > [..] > > @@ -1358,6 +1359,10 @@ def main(): > > parser.add_argument('-s', '--schema', action='store_true', > > dest='enable_schema', > > help='verify json input/output against schema') > > + > > nit: This adds a line with a tab, which both git-am and flake8 complain > about. > Will remove it. > > + parser.add_argument('-v', '--version', action='version', > > + version='1.0', > > + help='print the version information') > > > > args = parser.parse_args() > > global debug_option, need_fix_option, enable_json_option, enable_json_schema > > @@ -1372,15 +1377,15 @@ def main(): > [..] Since i have to update and resend the netns patch, i think i will make changes for these nits in that. Is it okay? or should i send a separate patch? Thanks! Shekhar
On Wed, Jun 12, 2019 at 01:24:52PM +0530, shekhar sharma wrote: > On Tue, Jun 11, 2019 at 9:09 PM Eric Garver <eric@garver.life> wrote: > > > > On Sun, Jun 09, 2019 at 11:47:38PM +0530, Shekhar Sharma wrote: > > > This patch converts the 'nft-test.py' file to run on both python 2 and python3. > > > > > > Signed-off-by: Shekhar Sharma <shekhar250198@gmail.com> > > > --- > > > > A couple nits below, but otherwise > > > > Acked-by: Eric Garver <eric@garver.life> > > > > > The version hystory of this patch is: > > > v1:conversion to py3 by changing the print statements. > > > v2:add the '__future__' package for compatibility with py2 and py3. > > > v3:solves the 'version' problem in argparse by adding a new argument. > > > v4:uses .format() method to make print statements clearer. > > > v5:updated the shebang and corrected the sequence of import statements. > > > v6:resent the same with small changes > > > > > > tests/py/nft-test.py | 42 ++++++++++++++++++++++-------------------- > > > 1 file changed, 22 insertions(+), 20 deletions(-) > > > > > > diff --git a/tests/py/nft-test.py b/tests/py/nft-test.py > > > index 09d00dba..4e18ae54 100755 > > > --- a/tests/py/nft-test.py > > > +++ b/tests/py/nft-test.py > > > @@ -1,4 +1,4 @@ > > > -#!/usr/bin/python2 > > > +#!/usr/bin/python > > > > nit: I think this shebang is more correct as it allows virtualenvs > > > > #!/usr/bin/env python > > > > But we can always call the tests with an explicit interpreter > > > > # .../my/bin/python ./nft-test.py > > > Sure, I will update it and post the patch. > > > > # > > > # (C) 2014 by Ana Rey Botello <anarey@gmail.com> > > > # > > [..] > > > @@ -1358,6 +1359,10 @@ def main(): > > > parser.add_argument('-s', '--schema', action='store_true', > > > dest='enable_schema', > > > help='verify json input/output against schema') > > > + > > > > nit: This adds a line with a tab, which both git-am and flake8 complain > > about. > > > Will remove it. > > > > + parser.add_argument('-v', '--version', action='version', > > > + version='1.0', > > > + help='print the version information') > > > > > > args = parser.parse_args() > > > global debug_option, need_fix_option, enable_json_option, enable_json_schema > > > @@ -1372,15 +1377,15 @@ def main(): > > [..] > > Since i have to update and resend the netns patch, i think i will make > changes for these nits in that. > Is it okay? or should i send a separate patch? Sending another revision is okay.
diff --git a/tests/py/nft-test.py b/tests/py/nft-test.py index 09d00dba..4e18ae54 100755 --- a/tests/py/nft-test.py +++ b/tests/py/nft-test.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python # # (C) 2014 by Ana Rey Botello <anarey@gmail.com> # @@ -13,6 +13,7 @@ # Thanks to the Outreach Program for Women (OPW) for sponsoring this test # infrastructure. +from __future__ import print_function import sys import os import argparse @@ -1016,9 +1017,9 @@ def execute_cmd(cmd, filename, lineno, stdout_log=False, debug=False): :param debug: temporarily set these debug flags ''' global log_file - print >> log_file, "command: %s" % cmd + print("command: {}".format(cmd),file=log_file) if debug_option: - print cmd + print(cmd) if debug: debug_old = nftables.get_debug() @@ -1212,7 +1213,7 @@ def run_test_file(filename, force_all_family_option, specific_file): sys.stdout.flush() if signal_received == 1: - print "\nSignal received. Cleaning up and Exitting..." + print("\nSignal received. Cleaning up and Exitting...") cleanup_on_exit() sys.exit(0) @@ -1319,13 +1320,13 @@ def run_test_file(filename, force_all_family_option, specific_file): if specific_file: if force_all_family_option: - print print_result_all(filename, tests, total_warning, total_error, - total_unit_run) + print(print_result_all(filename, tests, total_warning, total_error, + total_unit_run)) else: - print print_result(filename, tests, total_warning, total_error) + print(print_result(filename, tests, total_warning, total_error)) else: if tests == passed and tests > 0: - print filename + ": " + Colors.GREEN + "OK" + Colors.ENDC + print(filename + ": " + Colors.GREEN + "OK" + Colors.ENDC) f.close() del table_list[:] @@ -1336,7 +1337,7 @@ def run_test_file(filename, force_all_family_option, specific_file): def main(): - parser = argparse.ArgumentParser(description='Run nft tests', version='1.0') + parser = argparse.ArgumentParser(description='Run nft tests') parser.add_argument('filenames', nargs='*', metavar='path/to/file.t', help='Run only these tests') @@ -1358,6 +1359,10 @@ def main(): parser.add_argument('-s', '--schema', action='store_true', dest='enable_schema', help='verify json input/output against schema') + + parser.add_argument('-v', '--version', action='version', + version='1.0', + help='print the version information') args = parser.parse_args() global debug_option, need_fix_option, enable_json_option, enable_json_schema @@ -1372,15 +1377,15 @@ def main(): signal.signal(signal.SIGTERM, signal_handler) if os.getuid() != 0: - print "You need to be root to run this, sorry" + print("You need to be root to run this, sorry") return # Change working directory to repository root os.chdir(TESTS_PATH + "/../..") if not os.path.exists('src/.libs/libnftables.so'): - print "The nftables library does not exist. " \ - "You need to build the project." + print("The nftables library does not exist. " + "You need to build the project.") return if args.enable_schema and not args.enable_json: @@ -1434,18 +1439,15 @@ def main(): run_total += file_unit_run if test_files == 0: - print "No test files to run" + print("No test files to run") else: if not specific_file: if force_all_family_option: - print "%d test files, %d files passed, %d unit tests, " \ - "%d total executed, %d error, %d warning" \ - % (test_files, files_ok, tests, run_total, errors, - warnings) + print("{} test files, {} files passed, {} unit tests, ".format(test_files,files_ok,tests)) + print("{} total executed, {} error, {} warning".format(run_total, errors, warnings)) else: - print "%d test files, %d files passed, %d unit tests, " \ - "%d error, %d warning" \ - % (test_files, files_ok, tests, errors, warnings) + print("{} test files, {} files passed, {} unit tests, ".format(test_files,files_ok,tests)) + print("{} error, {} warning".format(errors, warnings)) if __name__ == '__main__':
This patch converts the 'nft-test.py' file to run on both python 2 and python3. Signed-off-by: Shekhar Sharma <shekhar250198@gmail.com> --- The version hystory of this patch is: v1:conversion to py3 by changing the print statements. v2:add the '__future__' package for compatibility with py2 and py3. v3:solves the 'version' problem in argparse by adding a new argument. v4:uses .format() method to make print statements clearer. v5:updated the shebang and corrected the sequence of import statements. v6:resent the same with small changes tests/py/nft-test.py | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-)