From 1059735bfbc93cd8bf83bce6d8eb1c891d28a058 Mon Sep 17 00:00:00 2001 From: Hamdi Sahloul <42140441+cv3d@users.noreply.github.com> Date: Sun, 30 Sep 2018 02:03:54 +0900 Subject: [PATCH] Merge pull request #12667 from cv3d:fix/ts_report TS: fix Python v2/v3 compatibility (#12667) * TS: fix Python2.7 compatibility * TS: fix Python3 compatibility * py3: use integer division '/' => '//' instead of cast --- modules/ts/misc/report.py | 2 +- modules/ts/misc/summary.py | 2 +- modules/ts/misc/table_formatter.py | 8 ++++---- modules/ts/misc/testlog_parser.py | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/ts/misc/report.py b/modules/ts/misc/report.py index 5c962b7..f0a87f2 100755 --- a/modules/ts/misc/report.py +++ b/modules/ts/misc/report.py @@ -66,7 +66,7 @@ if __name__ == "__main__": tbl.newColumn(m, metrix_table[m][0], align = "center") needNewRow = True - for case in sorted(tests): + for case in sorted(tests, key=lambda x: str(x)): if needNewRow: tbl.newRow() if not options.showall: diff --git a/modules/ts/misc/summary.py b/modules/ts/misc/summary.py index f03b62b..5549b6c 100755 --- a/modules/ts/misc/summary.py +++ b/modules/ts/misc/summary.py @@ -177,7 +177,7 @@ if __name__ == "__main__": prevGroupName = None needNewRow = True lastRow = None - for name in sorted(test_cases.iterkeys(), key=alphanum_keyselector): + for name in sorted(test_cases.keys(), key=alphanum_keyselector): cases = test_cases[name] if needNewRow: lastRow = tbl.newRow() diff --git a/modules/ts/misc/table_formatter.py b/modules/ts/misc/table_formatter.py index 6069dea..1c1fd78 100755 --- a/modules/ts/misc/table_formatter.py +++ b/modules/ts/misc/table_formatter.py @@ -98,7 +98,7 @@ class table(object): def layoutTable(self): columns = self.columns.values() - columns.sort(key=lambda c: c.index) + columns = sorted(columns, key=lambda c: c.index) colspanned = [] rowspanned = [] @@ -206,7 +206,7 @@ class table(object): cell.width = len(max(cell.text, key = lambda line: len(line))) def reformatTextValue(self, value): - if sys.version_info > (3,): # PY3 fix + if sys.version_info >= (2,7): unicode = str if isinstance(value, str): vstr = value @@ -340,7 +340,7 @@ class table(object): if align == "right": pattern = "%" + str(width) + "s" elif align == "center": - pattern = "%" + str((width - len(line)) / 2 + len(line)) + "s" + " " * (width - len(line) - (width - len(line)) / 2) + pattern = "%" + str((width - len(line)) // 2 + len(line)) + "s" + " " * (width - len(line) - (width - len(line)) // 2) else: pattern = "%-" + str(width) + "s" @@ -354,7 +354,7 @@ class table(object): if valign == "bottom": return height - space if valign == "middle": - return (height - space + 1) / 2 + return (height - space + 1) // 2 return 0 def htmlPrintTable(self, out, embeedcss = False): diff --git a/modules/ts/misc/testlog_parser.py b/modules/ts/misc/testlog_parser.py index 5f44140..80c5a0b 100755 --- a/modules/ts/misc/testlog_parser.py +++ b/modules/ts/misc/testlog_parser.py @@ -202,7 +202,7 @@ def parseLogFile(filename): if attr_name.startswith('cv_') } - tests = map(TestInfo, log.getElementsByTagName("testcase")) + tests = list(map(TestInfo, log.getElementsByTagName("testcase"))) return TestRunInfo(properties, tests) -- 2.7.4