diff --git a/.travis.yml b/.travis.yml index 35ca8a69c97..5b67f15dd59 100644 --- a/.travis.yml +++ b/.travis.yml @@ -52,8 +52,10 @@ jobs: - env: TOXENV=pypy3-xdist python: 'pypy3' - - env: TOXENV=py35-xdist - python: '3.5' + # Coverage for Python 3.5.{0,1} specific code, mostly typing related. + - env: TOXENV=py35 PYTEST_COVERAGE=1 PYTEST_ADDOPTS="-k test_raises_cyclic_reference" + python: '3.5.1' + dist: trusty # Specialized factors for py37. - env: TOXENV=py37-pluggymaster-xdist diff --git a/src/_pytest/compat.py b/src/_pytest/compat.py index c566a39e884..9eec0aedaa9 100644 --- a/src/_pytest/compat.py +++ b/src/_pytest/compat.py @@ -382,7 +382,7 @@ def write(self, s) -> int: return self._other.write(s) -if sys.version_info < (3, 5, 2): # pragma: no cover +if sys.version_info < (3, 5, 2): def overload(f): # noqa: F811 return f diff --git a/src/_pytest/config/findpaths.py b/src/_pytest/config/findpaths.py index f06c9cfffb1..728246dfcc5 100644 --- a/src/_pytest/config/findpaths.py +++ b/src/_pytest/config/findpaths.py @@ -108,7 +108,7 @@ def get_dir_from_path(path): def determine_setup( - inifile: str, + inifile: Optional[str], args: List[str], rootdir_cmd_arg: Optional[str] = None, config: Optional["Config"] = None, diff --git a/testing/python/raises.py b/testing/python/raises.py index 1c701796af2..cfdbe6748f4 100644 --- a/testing/python/raises.py +++ b/testing/python/raises.py @@ -166,7 +166,7 @@ def __call__(self): # Early versions of Python 3.5 have some bug causing the # __call__ frame to still refer to t even after everything # is done. This makes the test pass for them. - if sys.version_info < (3, 5, 2): # pragma: no cover + if sys.version_info < (3, 5, 2): del self raise ValueError diff --git a/testing/test_config.py b/testing/test_config.py index 9735fc17696..29bd45c6c0f 100644 --- a/testing/test_config.py +++ b/testing/test_config.py @@ -859,7 +859,7 @@ def test_simple_noini(self, tmpdir): assert get_common_ancestor([no_path.join("a")]) == tmpdir @pytest.mark.parametrize("name", "setup.cfg tox.ini pytest.ini".split()) - def test_with_ini(self, tmpdir, name): + def test_with_ini(self, tmpdir, name) -> None: inifile = tmpdir.join(name) inifile.write("[pytest]\n" if name != "setup.cfg" else "[tool:pytest]\n") @@ -874,7 +874,7 @@ def test_with_ini(self, tmpdir, name): assert inifile == inifile @pytest.mark.parametrize("name", "setup.cfg tox.ini".split()) - def test_pytestini_overrides_empty_other(self, tmpdir, name): + def test_pytestini_overrides_empty_other(self, tmpdir, name) -> None: inifile = tmpdir.ensure("pytest.ini") a = tmpdir.mkdir("a") a.ensure(name) @@ -882,7 +882,7 @@ def test_pytestini_overrides_empty_other(self, tmpdir, name): assert rootdir == tmpdir assert inifile == inifile - def test_setuppy_fallback(self, tmpdir): + def test_setuppy_fallback(self, tmpdir) -> None: a = tmpdir.mkdir("a") a.ensure("setup.cfg") tmpdir.ensure("setup.py") @@ -891,14 +891,14 @@ def test_setuppy_fallback(self, tmpdir): assert inifile is None assert inicfg == {} - def test_nothing(self, tmpdir, monkeypatch): + def test_nothing(self, tmpdir, monkeypatch) -> None: monkeypatch.chdir(str(tmpdir)) rootdir, inifile, inicfg = determine_setup(None, [tmpdir]) assert rootdir == tmpdir assert inifile is None assert inicfg == {} - def test_with_specific_inifile(self, tmpdir): + def test_with_specific_inifile(self, tmpdir) -> None: inifile = tmpdir.ensure("pytest.ini") rootdir, inifile, inicfg = determine_setup(inifile, [tmpdir]) assert rootdir == tmpdir @@ -1039,7 +1039,7 @@ def test(): result = testdir.runpytest("--override-ini", "python_files=unittest_*.py") result.stdout.fnmatch_lines(["*1 passed in*"]) - def test_with_arg_outside_cwd_without_inifile(self, tmpdir, monkeypatch): + def test_with_arg_outside_cwd_without_inifile(self, tmpdir, monkeypatch) -> None: monkeypatch.chdir(str(tmpdir)) a = tmpdir.mkdir("a") b = tmpdir.mkdir("b") @@ -1047,7 +1047,7 @@ def test_with_arg_outside_cwd_without_inifile(self, tmpdir, monkeypatch): assert rootdir == tmpdir assert inifile is None - def test_with_arg_outside_cwd_with_inifile(self, tmpdir): + def test_with_arg_outside_cwd_with_inifile(self, tmpdir) -> None: a = tmpdir.mkdir("a") b = tmpdir.mkdir("b") inifile = a.ensure("pytest.ini") @@ -1056,13 +1056,13 @@ def test_with_arg_outside_cwd_with_inifile(self, tmpdir): assert inifile == parsed_inifile @pytest.mark.parametrize("dirs", ([], ["does-not-exist"], ["a/does-not-exist"])) - def test_with_non_dir_arg(self, dirs, tmpdir): + def test_with_non_dir_arg(self, dirs, tmpdir) -> None: with tmpdir.ensure(dir=True).as_cwd(): rootdir, inifile, inicfg = determine_setup(None, dirs) assert rootdir == tmpdir assert inifile is None - def test_with_existing_file_in_subdir(self, tmpdir): + def test_with_existing_file_in_subdir(self, tmpdir) -> None: a = tmpdir.mkdir("a") a.ensure("exist") with tmpdir.as_cwd(): diff --git a/tox.ini b/tox.ini index d33a622241c..bc0646d123a 100644 --- a/tox.ini +++ b/tox.ini @@ -53,7 +53,7 @@ deps = skip_install = True basepython = python3 deps = pre-commit>=1.11.0 -commands = pre-commit run --all-files --show-diff-on-failure +commands = pre-commit run --all-files --show-diff-on-failure {posargs:} [testenv:docs] basepython = python3