Encoding for subprocess.run

This commit is contained in:
Zac Hatfield-Dodds 2023-06-20 04:55:39 -07:00
parent a704605cf1
commit 7e510769b4
2 changed files with 8 additions and 0 deletions

View File

@ -6,6 +6,7 @@ import collections.abc
import contextlib
import gc
import importlib
import locale
import os
import platform
import re
@ -129,6 +130,7 @@ class LsofFdLeakChecker:
stderr=subprocess.DEVNULL,
check=True,
text=True,
encoding=locale.getpreferredencoding(False),
).stdout
def isopen(line: str) -> bool:

View File

@ -1,4 +1,5 @@
import argparse
import locale
import os
import shlex
import subprocess
@ -289,6 +290,10 @@ class TestParser:
def test_argcomplete(pytester: Pytester, monkeypatch: MonkeyPatch) -> None:
try:
encoding = locale.getencoding() # New in Python 3.11, ignores utf-8 mode
except AttributeError:
encoding = locale.getpreferredencoding(False)
try:
bash_version = subprocess.run(
["bash", "--version"],
@ -296,6 +301,7 @@ def test_argcomplete(pytester: Pytester, monkeypatch: MonkeyPatch) -> None:
stderr=subprocess.DEVNULL,
check=True,
text=True,
encoding=encoding,
).stdout
except (OSError, subprocess.CalledProcessError):
pytest.skip("bash is not available")