diff options
author | Chris Johns <chrisj@rtems.org> | 2020-03-30 09:55:02 +1100 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2020-03-30 09:55:02 +1100 |
commit | ca7b290f94a19238ed068aad229854cf67dee9b5 (patch) | |
tree | 780b557ce717aa848d535e094ed504d650e5c1b6 /rtemstoolkit | |
parent | tester/gdb: Add lock timing and remote fetching registers. (diff) | |
download | rtems-tools-ca7b290f94a19238ed068aad229854cf67dee9b5.tar.bz2 |
rtemstoolkit/execute: Handle unicode input on python2
- Allow unicode as a type on python2. The unicode type is not
present on python3 so make the support conditional.
- Add some more diag prints to aid debugging.
Closes #3964
Diffstat (limited to 'rtemstoolkit')
-rwxr-xr-x | rtemstoolkit/execute.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/rtemstoolkit/execute.py b/rtemstoolkit/execute.py index 3a79f50..ed81589 100755 --- a/rtemstoolkit/execute.py +++ b/rtemstoolkit/execute.py @@ -139,12 +139,20 @@ class execute(object): tmp = bytes('temp', sys.stdin.encoding) except: encoding = False + input_types = [str, bytes] + try: + # Unicode is not valid in python3, not added to the list + input_types += [unicode] + except: + pass try: while True: if trace_threads: print('execute:_writethread: call input', input) lines = input() - if type(lines) == str or type(lines) == bytes: + if trace_threads: + print('execute:_writethread: input returned:', type(lines)) + if type(lines) in input_types: try: if encoding: lines = bytes(lines, sys.stdin.encoding) @@ -216,6 +224,9 @@ class execute(object): sd = sd[:-1] if len(sd) > 0: for l in sd: + if trace_threads: + print('execute:_readthread: output-line:', + count, type(l)) _output_line(l + '\n', exe, prefix, out, count) count += 1 if count > 10: |