pytester: avoid EncodingWarning from `locale.getpreferredencoding`
When running `tox -e py-lsof` I get a deluge of this warning: ``` src/pytest/.tox/py-lsof-numpy-pexpect/lib/python3.11/site-packages/_pytest/pytester.py:130: EncodingWarning: UTF-8 Mode affects locale.getpreferredencoding(). Consider locale.getencoding() instead. ``` Use `locale.getencoding` instead.
This commit is contained in:
		
							parent
							
								
									172bf89ad1
								
							
						
					
					
						commit
						ad1bccdead
					
				|  | @ -121,13 +121,18 @@ def pytest_configure(config: Config) -> None: | ||||||
| 
 | 
 | ||||||
| class LsofFdLeakChecker: | class LsofFdLeakChecker: | ||||||
|     def get_open_files(self) -> List[Tuple[str, str]]: |     def get_open_files(self) -> List[Tuple[str, str]]: | ||||||
|  |         if sys.version_info >= (3, 11): | ||||||
|  |             # New in Python 3.11, ignores utf-8 mode | ||||||
|  |             encoding = locale.getencoding() | ||||||
|  |         else: | ||||||
|  |             encoding = locale.getpreferredencoding(False) | ||||||
|         out = subprocess.run( |         out = subprocess.run( | ||||||
|             ("lsof", "-Ffn0", "-p", str(os.getpid())), |             ("lsof", "-Ffn0", "-p", str(os.getpid())), | ||||||
|             stdout=subprocess.PIPE, |             stdout=subprocess.PIPE, | ||||||
|             stderr=subprocess.DEVNULL, |             stderr=subprocess.DEVNULL, | ||||||
|             check=True, |             check=True, | ||||||
|             text=True, |             text=True, | ||||||
|             encoding=locale.getpreferredencoding(False), |             encoding=encoding, | ||||||
|         ).stdout |         ).stdout | ||||||
| 
 | 
 | ||||||
|         def isopen(line: str) -> bool: |         def isopen(line: str) -> bool: | ||||||
|  |  | ||||||
|  | @ -290,10 +290,10 @@ class TestParser: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def test_argcomplete(pytester: Pytester, monkeypatch: MonkeyPatch) -> None: | def test_argcomplete(pytester: Pytester, monkeypatch: MonkeyPatch) -> None: | ||||||
|     try: |     if sys.version_info >= (3, 11): | ||||||
|         # New in Python 3.11, ignores utf-8 mode |         # New in Python 3.11, ignores utf-8 mode | ||||||
|         encoding = locale.getencoding()  # type: ignore[attr-defined] |         encoding = locale.getencoding() | ||||||
|     except AttributeError: |     else: | ||||||
|         encoding = locale.getpreferredencoding(False) |         encoding = locale.getpreferredencoding(False) | ||||||
|     try: |     try: | ||||||
|         bash_version = subprocess.run( |         bash_version = subprocess.run( | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue