summaryrefslogtreecommitdiffstats
path: root/iptables-test.py
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2021-09-15 17:47:15 +0200
committerPhil Sutter <phil@nwl.cc>2021-09-22 23:51:07 +0200
commit2ed6dc7557b8c4a70bfd81684a72737312d7bd4b (patch)
tree8c19e97a7ce0b221f516f3652fdac614042cb3c0 /iptables-test.py
parent63ab4fe3a1919b668953542841f4397544c4bb15 (diff)
tests: iptables-test: Fix conditional colors on stderr
Štěpán's patch to make colored output depend on whether output is a TTY clashed with my change to print errors to stderr instead of stdout. Fix this by telling maybe_colored() if it should print colors or not as only caller knows where output is sent to. Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'iptables-test.py')
-rwxr-xr-xiptables-test.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/iptables-test.py b/iptables-test.py
index a876f616..0ba3d368 100755
--- a/iptables-test.py
+++ b/iptables-test.py
@@ -33,15 +33,16 @@ LOGFILE="/tmp/iptables-test.log"
log_file = None
STDOUT_IS_TTY = sys.stdout.isatty()
+STDERR_IS_TTY = sys.stderr.isatty()
-def maybe_colored(color, text):
+def maybe_colored(color, text, isatty):
terminal_sequences = {
'green': '\033[92m',
'red': '\033[91m',
}
return (
- terminal_sequences[color] + text + '\033[0m' if STDOUT_IS_TTY else text
+ terminal_sequences[color] + text + '\033[0m' if isatty else text
)
@@ -49,7 +50,7 @@ def print_error(reason, filename=None, lineno=None):
'''
Prints an error with nice colors, indicating file and line number.
'''
- print(filename + ": " + maybe_colored('red', "ERROR") +
+ print(filename + ": " + maybe_colored('red', "ERROR", STDERR_IS_TTY) +
": line %d (%s)" % (lineno, reason), file=sys.stderr)
@@ -288,7 +289,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 + ": " + maybe_colored('green', "OK"))
+ print(filename + ": " + maybe_colored('green', "OK", STDOUT_IS_TTY))
f.close()
return tests, passed