From dbfba6a20e252a2c8daa145099299283d98564de Mon Sep 17 00:00:00 2001 From: stijn Date: Thu, 6 Aug 2015 12:34:48 +0200 Subject: [PATCH] tests: Fix exceptions when running cmdline tests on windows - subprocess.check_output can only handle strings on windows, not bytes, so convert the arguments as such - the pty module is for posix systems only so skip the tests needing it in case it is not available --- tests/run-tests | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/run-tests b/tests/run-tests index e9587e3de3..28857249ee 100755 --- a/tests/run-tests +++ b/tests/run-tests @@ -37,13 +37,18 @@ def run_micropython(pyb, args, test_file): with open(test_file, 'rb') as f: line = f.readline() if line.startswith(b'# cmdline:'): - args += line[10:].strip().split() + # subprocess.check_output on Windows only accepts strings, not bytes + args += [str(c, 'utf-8') for c in line[10:].strip().split()] # run the test, possibly with redirected input try: if test_file.startswith('cmdline/repl_'): # Need to use a PTY to test command line editing - import pty + try: + import pty + except ImportError: + # in case pty module is not available, like on Windows + return b'SKIP\n' import select def get():