From: Shekhar Sharma <shekhar250198@gmail.com>
To: netfilter-devel@vger.kernel.org
Cc: Shekhar Sharma <shekhar250198@gmail.com>
Subject: [PATCH iptables v3]iptables-test.py : fix python3.
Date: Thu, 20 Jun 2019 16:19:32 +0530 [thread overview]
Message-ID: <20190620104932.3356-1-shekhar250198@gmail.com> (raw)
This converts the iptables-test.py file to run on both python2 and python3.
The error regarding out.find() has been fixed by
using method .encode('utf-8') in it's argument.
Signed-off-by: Shekhar Sharma <shekhar250198@gmail.com>
---
The version history of this patch is:
v2: change print statments.
v3: add .encode('utf-8') to out.find(). (To solve TypeError)
iptables-test.py | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/iptables-test.py b/iptables-test.py
index 532dee7..dc5f0ea 100755
--- a/iptables-test.py
+++ b/iptables-test.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
#
# (C) 2012-2013 by Pablo Neira Ayuso <pablo@netfilter.org>
#
@@ -10,6 +10,7 @@
# This software has been sponsored by Sophos Astaro <http://www.sophos.com>
#
+from __future__ import print_function
import sys
import os
import subprocess
@@ -45,7 +46,7 @@ def print_error(reason, filename=None, lineno=None):
'''
Prints an error with nice colors, indicating file and line number.
'''
- print (filename + ": " + Colors.RED + "ERROR" +
+ print(filename + ": " + Colors.RED + "ERROR" +
Colors.ENDC + ": line %d (%s)" % (lineno, reason))
@@ -140,7 +141,7 @@ def run_test(iptables, rule, rule_save, res, filename, lineno, netns):
return -1
# find the rule
- matching = out.find(rule_save)
+ matching = out.find(rule_save.encode('utf-8'))
if matching < 0:
reason = "cannot find: " + iptables + " -I " + rule
print_error(reason, filename, lineno)
@@ -166,7 +167,7 @@ def execute_cmd(cmd, filename, lineno):
if cmd.startswith('iptables ') or cmd.startswith('ip6tables ') or cmd.startswith('ebtables ') or cmd.startswith('arptables '):
cmd = os.path.abspath(os.path.curdir) + "/iptables/" + EXECUTEABLE + " " + cmd
- print >> log_file, "command: %s" % cmd
+ print("command: {}".format(cmd), file=log_file)
ret = subprocess.call(cmd, shell=True, universal_newlines=True,
stderr=subprocess.STDOUT, stdout=log_file)
log_file.flush()
@@ -249,7 +250,7 @@ def run_test_file(filename, netns):
continue
if len(chain_array) == 0:
- print "broken test, missing chain, leaving"
+ print("broken test, missing chain, leaving")
sys.exit()
test_passed = True
@@ -282,7 +283,7 @@ def run_test_file(filename, netns):
if netns:
execute_cmd("ip netns del ____iptables-container-test", filename, 0)
if total_test_passed:
- print filename + ": " + Colors.GREEN + "OK" + Colors.ENDC
+ print(filename + ": " + Colors.GREEN + "OK" + Colors.ENDC)
f.close()
return tests, passed
@@ -302,7 +303,7 @@ def show_missing():
missing = [test_name(i) for i in libfiles
if not test_name(i) in testfiles]
- print '\n'.join(missing)
+ print('\n'.join(missing))
#
@@ -336,7 +337,7 @@ def main():
EXECUTEABLE = "xtables-nft-multi"
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
os.putenv("XTABLES_LIBDIR", os.path.abspath(EXTENSIONS_PATH))
@@ -351,7 +352,7 @@ def main():
try:
log_file = open(LOGFILE, 'w')
except IOError:
- print "Couldn't open log file %s" % LOGFILE
+ print("Couldn't open log file %s" % LOGFILE)
return
file_list = [os.path.join(EXTENSIONS_PATH, i)
@@ -365,8 +366,7 @@ def main():
passed += file_passed
test_files += 1
- print ("%d test files, %d unit tests, %d passed" %
- (test_files, tests, passed))
+ print("%d test files, %d unit tests, %d passed" % (test_files, tests, passed))
if __name__ == '__main__':
--
2.17.1
next reply other threads:[~2019-06-20 10:49 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-20 10:49 Shekhar Sharma [this message]
2019-06-26 17:34 ` [PATCH iptables v3]iptables-test.py : fix python3 Pablo Neira Ayuso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190620104932.3356-1-shekhar250198@gmail.com \
--to=shekhar250198@gmail.com \
--cc=netfilter-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.