diff mbox series

[nft,v2] tests: json_echo: convert to py3

Message ID 20190528003653.7565-1-shekhar250198@gmail.com
State Accepted
Delegated to: Pablo Neira
Headers show
Series [nft,v2] tests: json_echo: convert to py3 | expand

Commit Message

Shekhar Sharma May 28, 2019, 12:36 a.m. UTC
This patch converts the run-test.py file to run on both python3 and python2.
The version history of the patch is:
v1: modified print and other statments.
v2: updated the shebang and order of import statements.
 

Signed-off-by: Shekhar Sharma <shekhar250198@gmail.com>
---
 tests/json_echo/run-test.py | 45 +++++++++++++++++++------------------
 1 file changed, 23 insertions(+), 22 deletions(-)

Comments

Phil Sutter May 28, 2019, 4:06 p.m. UTC | #1
Hi,

On Tue, May 28, 2019 at 06:06:53AM +0530, Shekhar Sharma wrote:
> This patch converts the run-test.py file to run on both python3 and python2.
> The version history of the patch is:
> v1: modified print and other statments.
> v2: updated the shebang and order of import statements.

I personally prefer to keep the respin-changelog out of the commit
message, again in a section between commit message and diffstat. My
approach is to rather make sure the commit message itself is up to date
and contains everything relevant worth keeping from the changelog. But
the topic is rather controversial (David Miller e.g. prefers the
changelog as part of the commit message), so you've just read a purely
informational monologue. :)

> Signed-off-by: Shekhar Sharma <shekhar250198@gmail.com>

Acked-by: Phil Sutter <phil@nwl.cc>

Thanks, Phil
Shekhar Sharma May 28, 2019, 4:13 p.m. UTC | #2
On Tue, May 28, 2019, 9:36 PM Phil Sutter <phil@nwl.cc> wrote:
>
> Hi,
>
> On Tue, May 28, 2019 at 06:06:53AM +0530, Shekhar Sharma wrote:
> > This patch converts the run-test.py file to run on both python3 and python2.
> > The version history of the patch is:
> > v1: modified print and other statments.
> > v2: updated the shebang and order of import statements.
>
> I personally prefer to keep the respin-changelog out of the commit
> message, again in a section between commit message and diffstat. My
> approach is to rather make sure the commit message itself is up to date
> and contains everything relevant worth keeping from the changelog. But
> the topic is rather controversial (David Miller e.g. prefers the
> changelog as part of the commit message), so you've just read a purely
> informational monologue. :)
>
> > Signed-off-by: Shekhar Sharma <shekhar250198@gmail.com>
>
> Acked-by: Phil Sutter <phil@nwl.cc>
>
> Thanks, Phil


Informational monologues like these are very useful to people like me. :-).
I very highly value suggestions like these.

With regards,
Shekhar
Pablo Neira Ayuso May 29, 2019, 7:47 a.m. UTC | #3
On Tue, May 28, 2019 at 06:06:53AM +0530, Shekhar Sharma wrote:
> This patch converts the run-test.py file to run on both python3 and python2.

Applied, thanks Shekhar.
Pablo Neira Ayuso May 29, 2019, 7:49 a.m. UTC | #4
On Tue, May 28, 2019 at 06:06:53AM +0530, Shekhar Sharma wrote:
> diff --git a/tests/json_echo/run-test.py b/tests/json_echo/run-test.py
> index 0132b139..dd7797fb 100755
> --- a/tests/json_echo/run-test.py
> +++ b/tests/json_echo/run-test.py
> @@ -1,5 +1,6 @@
> -#!/usr/bin/python2
> +#!/usr/bin/python
>  
> +from __future__ import print_function
>  import sys
>  import os
>  import json
> @@ -13,8 +14,8 @@ from nftables import Nftables
>  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.")
>      sys.exit(1)
>  
>  nftables = Nftables(sofile = 'src/.libs/libnftables.so')
> @@ -79,26 +80,26 @@ add_quota = { "add": {
>  # helper functions
>  
>  def exit_err(msg):
> -    print "Error: %s" % msg
> +    print("Error: %s" %msg)
>      sys.exit(1)
>  
>  def exit_dump(e, obj):
> -    print "FAIL: %s" % e
> -    print "Output was:"
> +    print("FAIL: {}".format(e))
> +    print("Output was:")
>      json.dumps(out, sort_keys = True, indent = 4, separators = (',', ': '))
>      sys.exit(1)
>  
>  def do_flush():
>      rc, out, err = nftables.json_cmd({ "nftables": [flush_ruleset] })
>      if not rc is 0:
> -        exit_err("flush ruleset failed: %s" % err)
> +        exit_err("flush ruleset failed: {}".format(err))
>  
>  def do_command(cmd):
>      if not type(cmd) is list:
>          cmd = [cmd]
>      rc, out, err = nftables.json_cmd({ "nftables": cmd })
>      if not rc is 0:
> -        exit_err("command failed: %s" % err)
> +        exit_err("command failed: {}".format(err))
>      return out
>  
>  def do_list_ruleset():
> @@ -123,7 +124,7 @@ def get_handle(output, search):
>              if not k in data:
>                  continue
>              found = True
> -            for key in search[k].keys():
> +            for key in list(search[k].keys()):

list() is not necessary, as Eric already mentioned, right?

Your patch is already in git.netfilter.org, so I have already pushed
it out BTW. If this is the case, just avoid this in your follow up
patches for other existing scripts. Thanks.
Shekhar Sharma May 29, 2019, 9:45 a.m. UTC | #5
On Wed, May 29, 2019 at 1:19 PM Pablo Neira Ayuso <pablo@netfilter.org> wrote:
>
> On Tue, May 28, 2019 at 06:06:53AM +0530, Shekhar Sharma wrote:
> > diff --git a/tests/json_echo/run-test.py b/tests/json_echo/run-test.py
> > index 0132b139..dd7797fb 100755
> > --- a/tests/json_echo/run-test.py
> > +++ b/tests/json_echo/run-test.py
> > @@ -1,5 +1,6 @@
> > -#!/usr/bin/python2
> > +#!/usr/bin/python
> >
> > +from __future__ import print_function
> >  import sys
> >  import os
> >  import json
> > @@ -13,8 +14,8 @@ from nftables import Nftables
> >  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.")
> >      sys.exit(1)
> >
> >  nftables = Nftables(sofile = 'src/.libs/libnftables.so')
> > @@ -79,26 +80,26 @@ add_quota = { "add": {
> >  # helper functions
> >
> >  def exit_err(msg):
> > -    print "Error: %s" % msg
> > +    print("Error: %s" %msg)
> >      sys.exit(1)
> >
> >  def exit_dump(e, obj):
> > -    print "FAIL: %s" % e
> > -    print "Output was:"
> > +    print("FAIL: {}".format(e))
> > +    print("Output was:")
> >      json.dumps(out, sort_keys = True, indent = 4, separators = (',', ': '))
> >      sys.exit(1)
> >
> >  def do_flush():
> >      rc, out, err = nftables.json_cmd({ "nftables": [flush_ruleset] })
> >      if not rc is 0:
> > -        exit_err("flush ruleset failed: %s" % err)
> > +        exit_err("flush ruleset failed: {}".format(err))
> >
> >  def do_command(cmd):
> >      if not type(cmd) is list:
> >          cmd = [cmd]
> >      rc, out, err = nftables.json_cmd({ "nftables": cmd })
> >      if not rc is 0:
> > -        exit_err("command failed: %s" % err)
> > +        exit_err("command failed: {}".format(err))
> >      return out
> >
> >  def do_list_ruleset():
> > @@ -123,7 +124,7 @@ def get_handle(output, search):
> >              if not k in data:
> >                  continue
> >              found = True
> > -            for key in search[k].keys():
> > +            for key in list(search[k].keys()):
>
> list() is not necessary, as Eric already mentioned, right?
>
> Your patch is already in git.netfilter.org, so I have already pushed
> it out BTW. If this is the case, just avoid this in your follow up
> patches for other existing scripts. Thanks.

Sure, I will change it in the follow up patches.

Thanks!
Shekhar
diff mbox series

Patch

diff --git a/tests/json_echo/run-test.py b/tests/json_echo/run-test.py
index 0132b139..dd7797fb 100755
--- a/tests/json_echo/run-test.py
+++ b/tests/json_echo/run-test.py
@@ -1,5 +1,6 @@ 
-#!/usr/bin/python2
+#!/usr/bin/python
 
+from __future__ import print_function
 import sys
 import os
 import json
@@ -13,8 +14,8 @@  from nftables import Nftables
 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.")
     sys.exit(1)
 
 nftables = Nftables(sofile = 'src/.libs/libnftables.so')
@@ -79,26 +80,26 @@  add_quota = { "add": {
 # helper functions
 
 def exit_err(msg):
-    print "Error: %s" % msg
+    print("Error: %s" %msg)
     sys.exit(1)
 
 def exit_dump(e, obj):
-    print "FAIL: %s" % e
-    print "Output was:"
+    print("FAIL: {}".format(e))
+    print("Output was:")
     json.dumps(out, sort_keys = True, indent = 4, separators = (',', ': '))
     sys.exit(1)
 
 def do_flush():
     rc, out, err = nftables.json_cmd({ "nftables": [flush_ruleset] })
     if not rc is 0:
-        exit_err("flush ruleset failed: %s" % err)
+        exit_err("flush ruleset failed: {}".format(err))
 
 def do_command(cmd):
     if not type(cmd) is list:
         cmd = [cmd]
     rc, out, err = nftables.json_cmd({ "nftables": cmd })
     if not rc is 0:
-        exit_err("command failed: %s" % err)
+        exit_err("command failed: {}".format(err))
     return out
 
 def do_list_ruleset():
@@ -123,7 +124,7 @@  def get_handle(output, search):
             if not k in data:
                 continue
             found = True
-            for key in search[k].keys():
+            for key in list(search[k].keys()):
                 if key == "handle":
                     continue
                 if not key in data[k] or search[k][key] != data[k][key]:
@@ -140,7 +141,7 @@  def get_handle(output, search):
 
 do_flush()
 
-print "Adding table t"
+print("Adding table t")
 out = do_command(add_table)
 handle = get_handle(out, add_table["add"])
 
@@ -152,7 +153,7 @@  if handle != handle_cmp:
 
 add_table["add"]["table"]["handle"] = handle
 
-print "Adding chain c"
+print("Adding chain c")
 out = do_command(add_chain)
 handle = get_handle(out, add_chain["add"])
 
@@ -164,7 +165,7 @@  if handle != handle_cmp:
 
 add_chain["add"]["chain"]["handle"] = handle
 
-print "Adding set s"
+print("Adding set s")
 out = do_command(add_set)
 handle = get_handle(out, add_set["add"])
 
@@ -176,7 +177,7 @@  if handle != handle_cmp:
 
 add_set["add"]["set"]["handle"] = handle
 
-print "Adding rule"
+print("Adding rule")
 out = do_command(add_rule)
 handle = get_handle(out, add_rule["add"])
 
@@ -188,7 +189,7 @@  if handle != handle_cmp:
 
 add_rule["add"]["rule"]["handle"] = handle
 
-print "Adding counter"
+print("Adding counter")
 out = do_command(add_counter)
 handle = get_handle(out, add_counter["add"])
 
@@ -200,7 +201,7 @@  if handle != handle_cmp:
 
 add_counter["add"]["counter"]["handle"] = handle
 
-print "Adding quota"
+print("Adding quota")
 out = do_command(add_quota)
 handle = get_handle(out, add_quota["add"])
 
@@ -222,37 +223,37 @@  add_set["add"]["set"]["name"] = "s2"
 add_counter["add"]["counter"]["name"] = "c2"
 add_quota["add"]["quota"]["name"] = "q2"
 
-print "Adding table t2"
+print("Adding table t2")
 out = do_command(add_table)
 handle = get_handle(out, add_table["add"])
 if handle == add_table["add"]["table"]["handle"]:
    exit_err("handle not changed in re-added table!")
 
-print "Adding chain c2"
+print("Adding chain c2")
 out = do_command(add_chain)
 handle = get_handle(out, add_chain["add"])
 if handle == add_chain["add"]["chain"]["handle"]:
    exit_err("handle not changed in re-added chain!")
 
-print "Adding set s2"
+print("Adding set s2")
 out = do_command(add_set)
 handle = get_handle(out, add_set["add"])
 if handle == add_set["add"]["set"]["handle"]:
    exit_err("handle not changed in re-added set!")
 
-print "Adding rule again"
+print("Adding rule again")
 out = do_command(add_rule)
 handle = get_handle(out, add_rule["add"])
 if handle == add_rule["add"]["rule"]["handle"]:
    exit_err("handle not changed in re-added rule!")
 
-print "Adding counter c2"
+print("Adding counter c2")
 out = do_command(add_counter)
 handle = get_handle(out, add_counter["add"])
 if handle == add_counter["add"]["counter"]["handle"]:
    exit_err("handle not changed in re-added counter!")
 
-print "Adding quota q2"
+print("Adding quota q2")
 out = do_command(add_quota)
 handle = get_handle(out, add_quota["add"])
 if handle == add_quota["add"]["quota"]["handle"]:
@@ -269,7 +270,7 @@  add_quota["add"]["quota"]["name"] = "q"
 
 do_flush()
 
-print "doing multi add"
+print("doing multi add")
 # XXX: Add table separately, otherwise this triggers cache bug
 out = do_command(add_table)
 thandle = get_handle(out, add_table["add"])