test: xkeyboard-config: use universal_newlines instead of decode This way stdin/stdout of the process are opened in text mode and we don't need manually decode. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
diff --git a/test/xkeyboard-config-test.py.in b/test/xkeyboard-config-test.py.in
index e965858..fbc4784 100755
--- a/test/xkeyboard-config-test.py.in
+++ b/test/xkeyboard-config-test.py.in
@@ -57,12 +57,13 @@ def xkbcommontool(rmlvo):
print(':: {}'.format(' '.join(args)), file=out)
try:
- output = subprocess.check_output(args, stderr=subprocess.STDOUT)
+ output = subprocess.check_output(args, stderr=subprocess.STDOUT,
+ universal_newlines=True)
if verbose:
- print(output.decode('utf-8'), file=out)
+ print(output, file=out)
except subprocess.CalledProcessError as err:
print('ERROR: Failed to compile: {}'.format(' '.join(args)), file=out)
- print(err.output.decode('utf-8'), file=out)
+ print(err.output, file=out)
success = False
return success, out.getvalue()
@@ -101,20 +102,21 @@ def xkbcomp(rmlvo):
setxkbmap = subprocess.Popen(args, stdout=subprocess.PIPE)
xkbcomp = subprocess.Popen(xkbcomp_args, stdin=setxkbmap.stdout,
- stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE,
+ universal_newlines=True)
setxkbmap.stdout.close()
stdout, stderr = xkbcomp.communicate()
if xkbcomp.returncode != 0:
print('ERROR: Failed to compile: {}'.format(' '.join(args)), file=out)
success = False
if xkbcomp.returncode != 0 or verbose:
- print(stdout.decode('utf-8'), file=out)
- print(stderr.decode('utf-8'), file=out)
+ print(stdout, file=out)
+ print(stderr, file=out)
# This catches setxkbmap errors.
except subprocess.CalledProcessError as err:
print('ERROR: Failed to compile: {}'.format(' '.join(args)), file=out)
- print(err.output.decode('utf-8'), file=out)
+ print(err.output, file=out)
success = False
return success, out.getvalue()