versioner: improve the test script.
Make it actually run under python3, and add checking for unexpected
success.
Change-Id: I9aac0e8cc1526fd63db21e57554f3aa5a9b4091d
diff --git a/tools/versioner/run_tests.py b/tools/versioner/run_tests.py
index 18b2aa9..9bac3e2 100755
--- a/tools/versioner/run_tests.py
+++ b/tools/versioner/run_tests.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3
+#!/usr/bin/env python2
import os
import subprocess
@@ -13,6 +13,7 @@
def indent(text, spaces=4):
+ text = text.decode("utf-8")
prefix = " "
return "\n".join([prefix + line for line in text.split("\n")])
@@ -24,9 +25,17 @@
(output, _) = process.communicate()
if os.path.exists("expected_fail"):
- with open("expected_fail") as f:
+ with open("expected_fail", "rb") as f:
expected_output = f.read()
- if not output.endswith(expected_output):
+ if process.returncode == 0:
+ print("{} {}: unexpected success:".format(prefix_fail, test_name))
+ print("")
+ print(" Expected:")
+ print(indent(expected_output))
+ print(" Actual:")
+ print(indent(output))
+ return False
+ elif not output.endswith(expected_output):
print("{} {}: expected output mismatch".format(
prefix_fail, test_name))
print("")