Refs #30116 -- Simplified stdout/stderr decoding with subprocess.run()'s encoding argument.
The encoding argument has been available since Python 3.6. https://docs.python.org/3/library/subprocess.html#subprocess.run
This commit is contained in:
parent
5a856669bf
commit
e0e88ceaaa
|
@ -124,14 +124,17 @@ def lang_stats(resources=None, languages=None):
|
||||||
p = run(
|
p = run(
|
||||||
['msgfmt', '-vc', '-o', '/dev/null', po_path],
|
['msgfmt', '-vc', '-o', '/dev/null', po_path],
|
||||||
stdout=PIPE, stderr=PIPE,
|
stdout=PIPE, stderr=PIPE,
|
||||||
env={'LANG': 'C'}
|
env={'LANG': 'C'},
|
||||||
|
encoding='utf-8',
|
||||||
)
|
)
|
||||||
if p.returncode == 0:
|
if p.returncode == 0:
|
||||||
# msgfmt output stats on stderr
|
# msgfmt output stats on stderr
|
||||||
print("%s: %s" % (lang, p.stderr.decode().strip()))
|
print('%s: %s' % (lang, p.stderr.strip()))
|
||||||
else:
|
else:
|
||||||
print("Errors happened when checking %s translation for %s:\n%s" % (
|
print(
|
||||||
lang, name, p.stderr.decode()))
|
'Errors happened when checking %s translation for %s:\n%s'
|
||||||
|
% (lang, name, p.stderr)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def fetch(resources=None, languages=None):
|
def fetch(resources=None, languages=None):
|
||||||
|
|
|
@ -16,7 +16,7 @@ class PostgresIntegrationTests(PostgreSQLSimpleTestCase):
|
||||||
stdout=subprocess.DEVNULL,
|
stdout=subprocess.DEVNULL,
|
||||||
stderr=subprocess.PIPE,
|
stderr=subprocess.PIPE,
|
||||||
cwd=os.path.dirname(__file__),
|
cwd=os.path.dirname(__file__),
|
||||||
env=test_environ
|
env=test_environ,
|
||||||
|
encoding='utf-8',
|
||||||
)
|
)
|
||||||
stderr = '\n'.join([e.decode() for e in result.stderr.splitlines()])
|
self.assertEqual(result.returncode, 0, msg=result.stderr)
|
||||||
self.assertEqual(result.returncode, 0, msg=stderr)
|
|
||||||
|
|
Loading…
Reference in New Issue