graphyte: Make "make test" python 2/3 compatible.
python2 is deprecated in 2020.
(1) Use list instead of map function to create lists.
(2) Decodes bytes input from socket to string.
(3) Encodes string output to socket to bytes.
(4) Adapts inspect library behavior changes.
(5) Replace iteritems() with items().
(6) Import packages from six.moves.
(7) Use python3 print function syntax.
BUG=chromium:1019481
TEST=make test PYTHON=python2; make test PYTHON=python3
Change-Id: I82dcf6efa00da4d7cb6e9f1ec63101c027f00047
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/graphyte/+/2058226
Commit-Queue: Cheng Yueh <cyueh@chromium.org>
Tested-by: Cheng Yueh <cyueh@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Yong Hong <yhong@chromium.org>
diff --git a/unittest_runner.py b/unittest_runner.py
index ba98c83..48eef53 100755
--- a/unittest_runner.py
+++ b/unittest_runner.py
@@ -4,6 +4,8 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+from __future__ import print_function
+
import logging
import os
import sys
@@ -15,11 +17,11 @@
def PassMessage(message):
- print '\033[22;32m%s\033[22;0m' % message
+ print('\033[22;32m%s\033[22;0m' % message)
def FailMessage(message):
- print '\033[22;31m%s\033[22;0m' % message
+ print('\033[22;31m%s\033[22;0m' % message)
def LogFilePath(dir_name, filename):
@@ -45,7 +47,8 @@
suite = unittest.defaultTestLoader.loadTestsFromName(module_name)
start_time = time.time()
log_file = LogFilePath(temp_dir, filename)
- result = unittest.TextTestRunner(stream=open(log_file, 'w')).run(suite)
+ with open(log_file, 'w') as stream:
+ result = unittest.TextTestRunner(stream=stream).run(suite)
duration = time.time() - start_time
if result.wasSuccessful():
PassMessage('*** PASS [%.2f s] %s' % (duration, filename))
@@ -55,14 +58,14 @@
failed_tests.append(filename)
total_tests += 1
- print '%d/%d tests passed' % (passed_tests, total_tests)
+ print('%d/%d tests passed' % (passed_tests, total_tests))
if failed_tests:
- print ''
- print 'Logs of %d failed tests:' % len(failed_tests)
+ print('')
+ print('Logs of %d failed tests:' % len(failed_tests))
for failed_test in failed_tests:
FailMessage(LogFilePath(temp_dir, failed_test))
- print 'To re-test failed unittests, run:'
- print 'make test UNITTEST_WHITELIST="%s"' % ' '.join(failed_tests)
+ print('To re-test failed unittests, run:')
+ print('make test UNITTEST_WHITELIST="%s"' % ' '.join(failed_tests))
if __name__ == '__main__':