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
pull/12708/head
Hamdi Sahloul 6 years ago committed by Alexander Alekhin
parent 8f2eb60719
commit 1059735bfb
  1. 2
      modules/ts/misc/report.py
  2. 2
      modules/ts/misc/summary.py
  3. 8
      modules/ts/misc/table_formatter.py
  4. 2
      modules/ts/misc/testlog_parser.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:

@ -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()

@ -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):

@ -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)

Loading…
Cancel
Save