Skip to content

Commit

Permalink
Update syntax to Python3.7+.
Browse files Browse the repository at this point in the history
  • Loading branch information
hramezani committed Dec 25, 2021
1 parent fea58fe commit 92de054
Show file tree
Hide file tree
Showing 8 changed files with 11 additions and 33 deletions.
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Expand Up @@ -32,12 +32,12 @@ repos:
rev: v2.6.0
hooks:
- id: reorder-python-imports
args: ['--application-directories=.:src', --py36-plus]
args: ['--application-directories=.:src', --py37-plus]
- repo: https://github.com/asottile/pyupgrade
rev: v2.29.1
hooks:
- id: pyupgrade
args: [--py36-plus]
args: [--py37-plus]
- repo: https://github.com/asottile/setup-cfg-fmt
rev: v1.20.0
hooks:
Expand Down
4 changes: 2 additions & 2 deletions doc/en/how-to/skipping.rst
Expand Up @@ -84,14 +84,14 @@ It is also possible to skip the whole module using

If you wish to skip something conditionally then you can use ``skipif`` instead.
Here is an example of marking a test function to be skipped
when run on an interpreter earlier than Python3.6:
when run on an interpreter earlier than Python3.7:

.. code-block:: python
import sys
@pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
@pytest.mark.skipif(sys.version_info < (3, 8), reason="requires python3.8 or higher")
def test_function():
...
Expand Down
5 changes: 2 additions & 3 deletions src/_pytest/assertion/rewrite.py
Expand Up @@ -293,9 +293,8 @@ def _write_pyc_fp(
# import. However, there's little reason to deviate.
fp.write(importlib.util.MAGIC_NUMBER)
# https://www.python.org/dev/peps/pep-0552/
if sys.version_info >= (3, 7):
flags = b"\x00\x00\x00\x00"
fp.write(flags)
flags = b"\x00\x00\x00\x00"
fp.write(flags)
# as of now, bytecode header expects 32-bit numbers for size and mtime (#4903)
mtime = int(source_stat.st_mtime) & 0xFFFFFFFF
size = source_stat.st_size & 0xFFFFFFFF
Expand Down
12 changes: 1 addition & 11 deletions src/_pytest/compat.py
Expand Up @@ -4,7 +4,7 @@
import inspect
import os
import sys
from contextlib import contextmanager
from contextlib import nullcontext as nullcontext # noqa: F401
from inspect import Parameter
from inspect import signature
from pathlib import Path
Expand Down Expand Up @@ -186,16 +186,6 @@ def getfuncargnames(
return arg_names


if sys.version_info < (3, 7):

@contextmanager
def nullcontext():
yield

else:
from contextlib import nullcontext as nullcontext # noqa: F401


def get_default_arg_names(function: Callable[..., Any]) -> Tuple[str, ...]:
# Note: this code intentionally mirrors the code at the beginning of
# getfuncargnames, to get the arguments which were excluded from its result
Expand Down
12 changes: 1 addition & 11 deletions src/_pytest/logging.py
Expand Up @@ -2,7 +2,6 @@
import logging
import os
import re
import sys
from contextlib import contextmanager
from io import StringIO
from pathlib import Path
Expand Down Expand Up @@ -622,16 +621,7 @@ def set_log_path(self, fname: str) -> None:
fpath.parent.mkdir(exist_ok=True, parents=True)

stream = fpath.open(mode="w", encoding="UTF-8")
if sys.version_info >= (3, 7):
old_stream = self.log_file_handler.setStream(stream)
else:
old_stream = self.log_file_handler.stream
self.log_file_handler.acquire()
try:
self.log_file_handler.flush()
self.log_file_handler.stream = stream
finally:
self.log_file_handler.release()
old_stream = self.log_file_handler.setStream(stream)
if old_stream:
# https://github.com/python/typeshed/pull/5663
old_stream.close() # type:ignore[attr-defined]
Expand Down
2 changes: 1 addition & 1 deletion src/_pytest/pytester.py
Expand Up @@ -128,7 +128,7 @@ def get_open_files(self) -> List[Tuple[str, str]]:
stdout=subprocess.PIPE,
stderr=subprocess.DEVNULL,
check=True,
universal_newlines=True,
text=True,
).stdout

def isopen(line: str) -> bool:
Expand Down
3 changes: 1 addition & 2 deletions testing/test_debugging.py
Expand Up @@ -913,8 +913,7 @@ def test_foo():
class TestDebuggingBreakpoints:
def test_supports_breakpoint_module_global(self) -> None:
"""Test that supports breakpoint global marks on Python 3.7+."""
if sys.version_info >= (3, 7):
assert SUPPORTS_BREAKPOINT_BUILTIN is True
assert SUPPORTS_BREAKPOINT_BUILTIN is True

@pytest.mark.skipif(
not SUPPORTS_BREAKPOINT_BUILTIN, reason="Requires breakpoint() builtin"
Expand Down
2 changes: 1 addition & 1 deletion testing/test_parseopt.py
Expand Up @@ -295,7 +295,7 @@ def test_argcomplete(pytester: Pytester, monkeypatch: MonkeyPatch) -> None:
stdout=subprocess.PIPE,
stderr=subprocess.DEVNULL,
check=True,
universal_newlines=True,
text=True,
).stdout
except (OSError, subprocess.CalledProcessError):
pytest.skip("bash is not available")
Expand Down

0 comments on commit 92de054

Please sign in to comment.