Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pytest-check-links for 
openSUSE:Factory checked in at 2023-07-25 11:51:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-check-links (Old)
 and      /work/SRC/openSUSE:Factory/.python-pytest-check-links.new.1467 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pytest-check-links"

Tue Jul 25 11:51:22 2023 rev:8 rq:1100441 version:0.9.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-pytest-check-links/python-pytest-check-links.changes
      2023-05-05 17:13:03.451302118 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pytest-check-links.new.1467/python-pytest-check-links.changes
    2023-07-25 11:53:08.122166380 +0200
@@ -1,0 +2,10 @@
+Mon Jul 24 18:50:23 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 0.9.0:
+  * Support Python 3.8-3.12 and Handle Flaky Tests #110
+  * Update ruff #106
+  * Use local coverage #105
+  * Switch to pytester in tests
+  * Add more linting #100
+
+-------------------------------------------------------------------

Old:
----
  pytest_check_links-0.8.0.tar.gz

New:
----
  pytest_check_links-0.9.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pytest-check-links.spec ++++++
--- /var/tmp/diff_new_pack.veDA1g/_old  2023-07-25 11:53:08.702169776 +0200
+++ /var/tmp/diff_new_pack.veDA1g/_new  2023-07-25 11:53:08.706169800 +0200
@@ -20,7 +20,7 @@
 %bcond_with test
 %{?sle15_python_module_pythons}
 Name:           python-pytest-check-links
-Version:        0.8.0
+Version:        0.9.0
 Release:        0
 Summary:        Pytest plugin for checking links in files
 License:        BSD-3-Clause

++++++ pytest_check_links-0.8.0.tar.gz -> pytest_check_links-0.9.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_check_links-0.8.0/.github/workflows/tests.yml 
new/pytest_check_links-0.9.0/.github/workflows/tests.yml
--- old/pytest_check_links-0.8.0/.github/workflows/tests.yml    2020-02-02 
01:00:00.000000000 +0100
+++ new/pytest_check_links-0.9.0/.github/workflows/tests.yml    2020-02-02 
01:00:00.000000000 +0100
@@ -18,27 +18,39 @@
       fail-fast: false
       matrix:
         os: ["ubuntu-latest", "macos-latest", "windows-latest"]
-        python-version: ["3.7", "3.11"]
+        python-version: ["3.8", "3.11"]
         include:
           - os: windows-latest
             python-version: "3.9"
           - os: ubuntu-latest
             python-version: "pypy-3.8"
           - os: ubuntu-latest
-            python-version: "3.11"
+            python-version: "3.12"
           - os: macos-latest
-            python-version: "3.8"
+            python-version: "3.10"
     steps:
       - uses: actions/checkout@v3
       - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
+      - name: Run the tests on pypy
+        if: ${{ startsWith(matrix.python-version, 'pypy') }}
+        run: |
+          hatch run cov:nowarn -s || hatch run test:nowarn -s --lf
       - name: Run the tests
+        if: ${{ !startsWith(matrix.python-version, 'pypy') }}
         timeout-minutes: 15
         run: |
           hatch run cov:test -s || hatch run test:test -s --lf
-      - name: Upload coverage
-        run: |
-          pip install codecov
-          codecov
+      - uses: jupyterlab/maintainer-tools/.github/actions/upload-coverage@v1
+
+  coverage:
+    runs-on: ubuntu-latest
+    needs:
+      - build
+    steps:
+      - uses: actions/checkout@v3
+      - uses: jupyterlab/maintainer-tools/.github/actions/report-coverage@v1
+        with:
+          fail_under: 75
 
   test_lint:
     name: Test Lint
@@ -61,7 +73,7 @@
       - uses: actions/checkout@v3
       - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
         with:
-          python_version: "3.7"
+          python_version: "3.8"
       - uses: jupyterlab/maintainer-tools/.github/actions/install-minimums@v1
         with:
           only_create_file: 1
@@ -131,7 +143,7 @@
   tests_check: # This job does nothing and is only used for the branch 
protection
     if: always()
     needs:
-      - build
+      - coverage
       - test_lint
       - test_minimum_versions
       - test_prereleases
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_check_links-0.8.0/.pre-commit-config.yaml 
new/pytest_check_links-0.9.0/.pre-commit-config.yaml
--- old/pytest_check_links-0.8.0/.pre-commit-config.yaml        2020-02-02 
01:00:00.000000000 +0100
+++ new/pytest_check_links-0.9.0/.pre-commit-config.yaml        2020-02-02 
01:00:00.000000000 +0100
@@ -19,7 +19,7 @@
       - id: trailing-whitespace
 
   - repo: https://github.com/python-jsonschema/check-jsonschema
-    rev: 0.19.2
+    rev: 0.22.0
     hooks:
       - id: check-github-workflows
 
@@ -31,12 +31,12 @@
           [mdformat-gfm, mdformat-frontmatter, mdformat-footnote]
 
   - repo: https://github.com/psf/black
-    rev: 22.10.0
+    rev: 23.3.0
     hooks:
       - id: black
 
   - repo: https://github.com/charliermarsh/ruff-pre-commit
-    rev: v0.0.189
+    rev: v0.0.263
     hooks:
       - id: ruff
         args: ["--fix"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_check_links-0.8.0/CHANGELOG.md 
new/pytest_check_links-0.9.0/CHANGELOG.md
--- old/pytest_check_links-0.8.0/CHANGELOG.md   2020-02-02 01:00:00.000000000 
+0100
+++ new/pytest_check_links-0.9.0/CHANGELOG.md   2020-02-02 01:00:00.000000000 
+0100
@@ -2,6 +2,26 @@
 
 <!-- <START NEW CHANGELOG ENTRY> -->
 
+## 0.9.0
+
+([Full 
Changelog](https://github.com/jupyterlab/pytest-check-links/compare/v0.8.0...8c58f8f8c42c247256f03a99504165ba7646e0e0))
+
+### Maintenance and upkeep improvements
+
+- Support Python 3.8-3.12 and Handle Flaky Tests 
[#110](https://github.com/jupyterlab/pytest-check-links/pull/110) 
([@blink1073](https://github.com/blink1073))
+- Update ruff 
[#106](https://github.com/jupyterlab/pytest-check-links/pull/106) 
([@blink1073](https://github.com/blink1073))
+- Use local coverage 
[#105](https://github.com/jupyterlab/pytest-check-links/pull/105) 
([@blink1073](https://github.com/blink1073))
+- Switch to pytester in tests 
[#103](https://github.com/jupyterlab/pytest-check-links/pull/103) 
([@blink1073](https://github.com/blink1073))
+- Add more linting 
[#100](https://github.com/jupyterlab/pytest-check-links/pull/100) 
([@blink1073](https://github.com/blink1073))
+
+### Contributors to this release
+
+([GitHub contributors page for this 
release](https://github.com/jupyterlab/pytest-check-links/graphs/contributors?from=2022-12-26&to=2023-06-19&type=c))
+
+[@blink1073](https://github.com/search?q=repo%3Ajupyterlab%2Fpytest-check-links+involves%3Ablink1073+updated%3A2022-12-26..2023-06-19&type=Issues)
 | 
[@codecov](https://github.com/search?q=repo%3Ajupyterlab%2Fpytest-check-links+involves%3Acodecov+updated%3A2022-12-26..2023-06-19&type=Issues)
 | 
[@pre-commit-ci](https://github.com/search?q=repo%3Ajupyterlab%2Fpytest-check-links+involves%3Apre-commit-ci+updated%3A2022-12-26..2023-06-19&type=Issues)
+
+<!-- <END NEW CHANGELOG ENTRY> -->
+
 ## 0.8.0
 
 ([Full 
Changelog](https://github.com/jupyterlab/pytest-check-links/compare/v0.7.1...dafddb42b22f480303a76bb46a7042e360c2379a))
@@ -18,8 +38,6 @@
 
 
[@blink1073](https://github.com/search?q=repo%3Ajupyterlab%2Fpytest-check-links+involves%3Ablink1073+updated%3A2022-04-07..2022-12-26&type=Issues)
 | 
[@bollwyvl](https://github.com/search?q=repo%3Ajupyterlab%2Fpytest-check-links+involves%3Abollwyvl+updated%3A2022-04-07..2022-12-26&type=Issues)
 | 
[@codecov](https://github.com/search?q=repo%3Ajupyterlab%2Fpytest-check-links+involves%3Acodecov+updated%3A2022-04-07..2022-12-26&type=Issues)
 | 
[@welcome](https://github.com/search?q=repo%3Ajupyterlab%2Fpytest-check-links+involves%3Awelcome+updated%3A2022-04-07..2022-12-26&type=Issues)
 
-<!-- <END NEW CHANGELOG ENTRY> -->
-
 ## 0.7.1
 
 ([Full 
Changelog](https://github.com/jupyterlab/pytest-check-links/compare/v0.7.0...17cf01b96afe0f933b476fd2882009db440e805d))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_check_links-0.8.0/PKG-INFO 
new/pytest_check_links-0.9.0/PKG-INFO
--- old/pytest_check_links-0.8.0/PKG-INFO       2020-02-02 01:00:00.000000000 
+0100
+++ new/pytest_check_links-0.9.0/PKG-INFO       2020-02-02 01:00:00.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: pytest_check_links
-Version: 0.8.0
+Version: 0.9.0
 Summary: Check links in files
 Project-URL: Homepage, https://github.com/jupyterlab/pytest-check-links
 Author-email: Jupyter Development Team <jupy...@googlegroups.com>
@@ -43,15 +43,11 @@
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3 :: Only
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: 3.10
 Classifier: Topic :: Documentation
 Classifier: Topic :: Documentation :: Sphinx
 Classifier: Topic :: Software Development :: Quality Assurance
 Classifier: Topic :: Software Development :: Testing
-Requires-Python: >=3.7
+Requires-Python: >=3.8
 Requires-Dist: docutils
 Requires-Dist: html5lib
 Requires-Dist: nbconvert
@@ -61,7 +57,7 @@
 Provides-Extra: cache
 Requires-Dist: requests-cache>=0.9.7; extra == 'cache'
 Provides-Extra: test
-Requires-Dist: mistune<1; python_version < '3.10' and extra == 'test'
+Requires-Dist: flaky; extra == 'test'
 Requires-Dist: pre-commit; extra == 'test'
 Requires-Dist: requests-cache>=0.9.7; extra == 'test'
 Description-Content-Type: text/markdown
@@ -70,7 +66,6 @@
 
 pytest plugin that checks URLs for HTML-containing files.
 
-[![codecov](https://codecov.io/gh/jupyterlab/pytest-check-links/branch/master/graph/badge.svg)](https://codecov.io/gh/jupyterlab/pytest-check-links)
 
[![Tests](https://github.com/jupyterlab/pytest-check-links/workflows/Tests/badge.svg)](https://github.com/jupyterlab/pytest-check-links/actions?query=workflow%3ATests+branch%3Amaster)
 [![PyPI 
version](https://badge.fury.io/py/pytest-check-links.svg)](https://badge.fury.io/py/pytest-check-links)
 ![PyPI - Python 
Version](https://img.shields.io/pypi/pyversions/pytest-check-links)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_check_links-0.8.0/README.md 
new/pytest_check_links-0.9.0/README.md
--- old/pytest_check_links-0.8.0/README.md      2020-02-02 01:00:00.000000000 
+0100
+++ new/pytest_check_links-0.9.0/README.md      2020-02-02 01:00:00.000000000 
+0100
@@ -2,7 +2,6 @@
 
 pytest plugin that checks URLs for HTML-containing files.
 
-[![codecov](https://codecov.io/gh/jupyterlab/pytest-check-links/branch/master/graph/badge.svg)](https://codecov.io/gh/jupyterlab/pytest-check-links)
 
[![Tests](https://github.com/jupyterlab/pytest-check-links/workflows/Tests/badge.svg)](https://github.com/jupyterlab/pytest-check-links/actions?query=workflow%3ATests+branch%3Amaster)
 [![PyPI 
version](https://badge.fury.io/py/pytest-check-links.svg)](https://badge.fury.io/py/pytest-check-links)
 ![PyPI - Python 
Version](https://img.shields.io/pypi/pyversions/pytest-check-links)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_check_links-0.8.0/codecov.yml 
new/pytest_check_links-0.9.0/codecov.yml
--- old/pytest_check_links-0.8.0/codecov.yml    2020-02-02 01:00:00.000000000 
+0100
+++ new/pytest_check_links-0.9.0/codecov.yml    1970-01-01 01:00:00.000000000 
+0100
@@ -1,9 +0,0 @@
-coverage:
-  status:
-    project:
-      default:
-        target: auto
-        threshold: 1
-    patch:
-      default:
-        target: 0%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_check_links-0.8.0/pyproject.toml 
new/pytest_check_links-0.9.0/pyproject.toml
--- old/pytest_check_links-0.8.0/pyproject.toml 2020-02-02 01:00:00.000000000 
+0100
+++ new/pytest_check_links-0.9.0/pyproject.toml 2020-02-02 01:00:00.000000000 
+0100
@@ -15,17 +15,13 @@
   "Operating System :: OS Independent",
   "Programming Language :: Python",
   "Programming Language :: Python :: 3 :: Only",
-  "Programming Language :: Python :: 3.7",
-  "Programming Language :: Python :: 3.8",
-  "Programming Language :: Python :: 3.9",
-  "Programming Language :: Python :: 3.10",
   "Topic :: Documentation",
   "Topic :: Documentation :: Sphinx",
   "Topic :: Software Development :: Quality Assurance",
   "Topic :: Software Development :: Testing",
 ]
 keywords = ["testing", "documentation", "links", "html"]
-requires-python = ">=3.7"
+requires-python = ">=3.8"
 dependencies = [
   "docutils",
   "html5lib",
@@ -48,7 +44,7 @@
 
 [project.optional-dependencies]
 cache = ["requests-cache>=0.9.7"]
-test = ["requests-cache>=0.9.7", "pre-commit", 
"mistune<1;python_version<\"3.10\""]
+test = ["requests-cache>=0.9.7", "pre-commit", "flaky"]
 
 [project.scripts]
 pytest-check-links = "pytest_check_links.__main__:main"
@@ -67,14 +63,14 @@
 [tool.hatch.envs.test]
 features = ["test"]
 [tool.hatch.envs.test.scripts]
-test = "python -m pytest -vv {args}"
+test = "pytest -vv {args}"
 nowarn = "test -W default {args}"
 
 [tool.hatch.envs.cov]
 features = ["test"]
-dependencies = ["coverage", "pytest-cov"]
+dependencies = ["coverage[toml]"]
 [tool.hatch.envs.cov.scripts]
-test = "python -m pytest -vv --cov pytest_check_links --cov-branch 
--cov-report term-missing:skip-covered {args}"
+test = "coverage run -m pytest {args}"
 nowarn = "test -W default {args}"
 
 [tool.hatch.envs.typing]
@@ -84,7 +80,7 @@
 test = "mypy --install-types --non-interactive {args:.}"
 
 [tool.hatch.envs.lint]
-dependencies = ["black[jupyter]==22.10.0", "mdformat>0.7", "ruff==0.0.189"]
+dependencies = ["black[jupyter]==23.1.0", "mdformat>0.7", "ruff==0.0.263"]
 detached = true
 [tool.hatch.envs.lint.scripts]
 style = [
@@ -119,6 +115,10 @@
 "@(abc\\.)?abstractmethod",
 ]
 
+[tool.coverage.run]
+relative_files = true
+source = ["pytest_check_links"]
+
 [tool.mypy]
 check_untyped_defs = true
 disallow_subclassing_any = true
@@ -141,38 +141,19 @@
 target-version = "py38"
 line-length = 100
 select = [
-  "A", "B", "C", "E", "F", "FBT", "I", "N", "Q", "RUF", "S", "T",
-  "UP", "W", "YTT",
+  "A", "B", "C", "DTZ", "E", "EM", "F", "FBT", "I", "ICN", "ISC", "N",
+  "PLC", "PLE", "PLR", "PLW", "Q", "RUF", "S", "SIM", "T", "TID", "UP",
+  "W", "YTT",
 ]
 ignore = [
-  # Allow non-abstract empty methods in abstract base classes
-  "B027",
-  # Ignore McCabe complexity
-  "C901",
-  # Allow boolean positional values in function calls, like `dict.get(... 
True)`
-  "FBT003",
-  # Use of `assert` detected
-  "S101",
-  # Line too long
-  "E501",
-  # Relative imports are banned
-  "TID252",
-  # Boolean ... in function definition
-  "FBT001",
-  "FBT002",
-  # Module level import not at top of file
-  "E402",
-  # A001/A002/A003 .. is shadowing a python builtin
-  "A001",
-  "A002",
-  "A003",
-  # Possible hardcoded password
-  "S105",
-  "S106",
-  # Q000 Single quotes found but double quotes preferred
-  "Q000",
-  # N806 Variable `B` in function should be lowercase
-  "N806",
+# Q000 Single quotes found but double quotes preferred
+"Q000",
+# FBT001 Boolean positional arg in function definition
+"FBT001", "FBT002", "FBT003",
+# E501 Line too long (158 > 100 characters)
+"E501",
+# SIM105 Use `contextlib.suppress(...)`
+"SIM105",
 ]
 unfixable = [
   # Don't touch print statements
@@ -189,7 +170,8 @@
 # T201 `print` found
 # B007 Loop control variable `i` not used within the loop body.
 # N802 Function name `assertIn` should be lowercase
-"tests/*" = ["B011", "F841", "C408", "E402", "T201", "B007", "N802"]
+# S101 Use of `assert` detected
+"test/*" = ["B011", "F841", "C408", "E402", "T201", "B007", "N802", "S101"]
 
 [tool.interrogate]
 ignore-init-module=true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest_check_links-0.8.0/pytest_check_links/__main__.py 
new/pytest_check_links-0.9.0/pytest_check_links/__main__.py
--- old/pytest_check_links-0.8.0/pytest_check_links/__main__.py 2020-02-02 
01:00:00.000000000 +0100
+++ new/pytest_check_links-0.9.0/pytest_check_links/__main__.py 2020-02-02 
01:00:00.000000000 +0100
@@ -18,7 +18,7 @@
         args = sys.argv[1:]
 
     return subprocess.call(
-        [sys.executable, "-m", "pytest", "--check-links", "-p", "no:python"] + 
args
+        [sys.executable, "-m", "pytest", "--check-links", "-p", "no:python", 
*args]  # noqa
     )
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest_check_links-0.8.0/pytest_check_links/_version.py 
new/pytest_check_links-0.9.0/pytest_check_links/_version.py
--- old/pytest_check_links-0.8.0/pytest_check_links/_version.py 2020-02-02 
01:00:00.000000000 +0100
+++ new/pytest_check_links-0.9.0/pytest_check_links/_version.py 2020-02-02 
01:00:00.000000000 +0100
@@ -1,2 +1,2 @@
 """Version info."""
-__version__ = "0.8.0"
+__version__ = "0.9.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_check_links-0.8.0/pytest_check_links/args.py 
new/pytest_check_links-0.9.0/pytest_check_links/args.py
--- old/pytest_check_links-0.8.0/pytest_check_links/args.py     2020-02-02 
01:00:00.000000000 +0100
+++ new/pytest_check_links-0.9.0/pytest_check_links/args.py     2020-02-02 
01:00:00.000000000 +0100
@@ -9,7 +9,8 @@
     def __init__(self, option_strings, dest, nargs=None, **kwargs):
         """Initialize the action."""
         if nargs is not None:
-            raise ValueError("nargs not allowed")
+            msg = "nargs not allowed"
+            raise ValueError(msg)
         super().__init__(option_strings, dest, **kwargs)
 
     def __call__(self, parser, namespace, values, option_string=None):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest_check_links-0.8.0/pytest_check_links/plugin.py 
new/pytest_check_links-0.9.0/pytest_check_links/plugin.py
--- old/pytest_check_links-0.8.0/pytest_check_links/plugin.py   2020-02-02 
01:00:00.000000000 +0100
+++ new/pytest_check_links-0.9.0/pytest_check_links/plugin.py   2020-02-02 
01:00:00.000000000 +0100
@@ -267,7 +267,9 @@
 
     parent: CheckLinks
 
-    def __init__(self, name=None, parent=None, target=None, parsed=None, 
description="", **kwargs):
+    def __init__(  # noqa
+        self, name=None, parent=None, target=None, parsed=None, 
description="", **kwargs
+    ):
         """Initialize the item."""
         super().__init__(name, parent, **kwargs)
         self.target = target
@@ -339,7 +341,7 @@
 
             raise BrokenLinkError(url, "%s" % err) from err
 
-        if response.status_code >= 400:
+        if response.status_code >= 400:  # noqa
             if retries and self.sleep(response.headers):
                 self.uncache_url(url_no_anchor)
                 return self.fetch_with_retries(url, retries=retries - 1)
@@ -355,11 +357,13 @@
         uncached = False
         session = self.parent.requests_session
         if session is None:
-            raise ValueError('No current session')
+            msg = 'No current session'
+            raise ValueError(msg)
         if hasattr(session, "cache"):
             request = Request("GET", url, headers=session.headers).prepare()
             if session.cache is None:
-                raise ValueError("No session cache found")
+                msg = "No session cache found"
+                raise ValueError(msg)
             cache: BaseCache = session.cache
             key = cache.create_key(request)
             if cache.contains(key):
@@ -367,7 +371,7 @@
                 uncached = True
         return uncached
 
-    def runtest(self):
+    def runtest(self):  # noqa
         """Run the test."""
         url = self.target or ""
 
@@ -426,4 +430,6 @@
     """Validate the extensions."""
     invalid = set(extensions) - supported_extensions
     if invalid:
-        warnings.warn("Unsupported extensions for check-links: %s" % 
extensions_str(invalid))
+        warnings.warn(
+            "Unsupported extensions for check-links: %s" % 
extensions_str(invalid), stacklevel=2
+        )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_check_links-0.8.0/test/conftest.py 
new/pytest_check_links-0.9.0/test/conftest.py
--- old/pytest_check_links-0.8.0/test/conftest.py       2020-02-02 
01:00:00.000000000 +0100
+++ new/pytest_check_links-0.9.0/test/conftest.py       2020-02-02 
01:00:00.000000000 +0100
@@ -19,4 +19,4 @@
 
 @pytest.fixture
 def memory_args(base_args):
-    return base_args + ["--check-links-cache-backend", "memory"]
+    return [*base_args, "--check-links-cache-backend", "memory"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_check_links-0.8.0/test/test_anchors.py 
new/pytest_check_links-0.9.0/test/test_anchors.py
--- old/pytest_check_links-0.8.0/test/test_anchors.py   2020-02-02 
01:00:00.000000000 +0100
+++ new/pytest_check_links-0.9.0/test/test_anchors.py   2020-02-02 
01:00:00.000000000 +0100
@@ -1,18 +1,18 @@
-def test_anchors_local_self(testdir, anchor_args):
-    testdir.copy_example("anchors_self.html")
-    result = testdir.runpytest(*anchor_args)
+def test_anchors_local_self(pytester, anchor_args):
+    pytester.copy_example("anchors_self.html")
+    result = pytester.runpytest(*anchor_args)
     result.assert_outcomes(passed=2, failed=2)
 
 
-def test_anchors_local_other(testdir, anchor_args):
-    testdir.copy_example("anchors_self.html")
-    testdir.copy_example("anchors_other.html")
-    args = anchor_args + ["anchors_other.html"]
-    result = testdir.runpytest(*args)
+def test_anchors_local_other(pytester, anchor_args):
+    pytester.copy_example("anchors_self.html")
+    pytester.copy_example("anchors_other.html")
+    args = [*anchor_args, "anchors_other.html"]
+    result = pytester.runpytest(*args)
     result.assert_outcomes(passed=1, failed=2)
 
 
-def test_anchors_external(testdir, anchor_args):
-    testdir.copy_example("anchors_remote.html")
-    result = testdir.runpytest(*anchor_args)
+def test_anchors_external(pytester, anchor_args):
+    pytester.copy_example("anchors_remote.html")
+    result = pytester.runpytest(*anchor_args)
     result.assert_outcomes(passed=1, failed=1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_check_links-0.8.0/test/test_cache.py 
new/pytest_check_links-0.9.0/test/test_cache.py
--- old/pytest_check_links-0.8.0/test/test_cache.py     2020-02-02 
01:00:00.000000000 +0100
+++ new/pytest_check_links-0.9.0/test/test_cache.py     2020-02-02 
01:00:00.000000000 +0100
@@ -6,11 +6,12 @@
 
 import pytest
 import requests_cache
+from flaky import flaky  # type:ignore
 
 
-def assert_sqlite(testdir, name=None, tmpdir=None, exists=True):
+def assert_sqlite(pytester, name=None, tmpdir=None, exists=True):
     name = name or ".pytest-check-links-cache.sqlite"
-    tmpdir = str(tmpdir or testdir.tmpdir)
+    tmpdir = str(tmpdir or pytester.path)
     caches = list(glob(os.path.join(tmpdir, name)))
     if exists:
         assert caches
@@ -18,28 +19,29 @@
         assert not caches
 
 
+@flaky
 @pytest.mark.skipif(sys.implementation.name.lower() == "pypy", reason="Does 
not work on pypy")
 @pytest.mark.parametrize("cache_name", [None, "custom-cache"])
-def test_cache_expiry(testdir, base_args, cache_name, tmpdir):
+def test_cache_expiry(pytester, base_args, cache_name, tmpdir):
     """will the default sqlite3 backend persist and then expire?"""
-    testdir.copy_example("linkcheck.ipynb")
+    pytester.copy_example("linkcheck.ipynb")
 
-    args = base_args + ["--check-links-cache-expire-after", "2"]
+    args = [*base_args, "--check-links-cache-expire-after", "2"]
     if cache_name:
         args += ["--check-links-cache-name", os.path.join(str(tmpdir), 
cache_name)]
     expected = {"passed": 3, "failed": 4}
     t0 = time.time()
-    result = testdir.runpytest(*args)
+    result = pytester.runpytest_subprocess(*args)
     t1 = time.time()
     result.assert_outcomes(**expected)
 
     if cache_name:
-        assert_sqlite(testdir, name=f"{cache_name}.sqlite", tmpdir=tmpdir)
+        assert_sqlite(pytester, name=f"{cache_name}.sqlite", tmpdir=tmpdir)
     else:
-        assert_sqlite(testdir)
+        assert_sqlite(pytester)
 
     t2 = time.time()
-    result = testdir.runpytest(*args)
+    result = pytester.runpytest_subprocess(*args)
     t3 = time.time()
     result.assert_outcomes(**expected)
 
@@ -51,7 +53,7 @@
     time.sleep(2)
 
     t4 = time.time()
-    result = testdir.runpytest(*args)
+    result = pytester.runpytest_subprocess(*args)
     t5 = time.time()
     result.assert_outcomes(**expected)
 
@@ -61,26 +63,27 @@
     assert d2 > d3, "cache did not expire"
 
 
-def test_cache_memory(testdir, memory_args):
+@flaky
+def test_cache_memory(pytester, memory_args):
     """will the memory backend cache links inside a run?"""
-    expected = dict(passed=3, failed=0)  # noqa
+    expected = dict(passed=3, failed=0)
 
-    testdir.copy_example("httpbin.md")
+    pytester.copy_example("httpbin.md")
 
     def run(passed):
         t0 = time.time()
-        result = testdir.runpytest(*memory_args)
+        result = pytester.runpytest_subprocess(*memory_args)
         t1 = time.time()
         result.assert_outcomes(passed=passed, failed=0)
-        assert_sqlite(testdir, exists=False)
+        assert_sqlite(pytester, exists=False)
         return t1 - t0
 
     d0 = run(6)
 
     for i in range(5):
         shutil.copy(
-            os.path.join(str(testdir.tmpdir), "httpbin.md"),
-            os.path.join(str(testdir.tmpdir), f"httpbin{i}.md"),
+            os.path.join(str(pytester.path), "httpbin.md"),
+            os.path.join(str(pytester.path), f"httpbin{i}.md"),
         )
 
     d1 = run(36)
@@ -88,10 +91,11 @@
     assert d1 < d0 * 4
 
 
-def test_cache_retry(testdir, memory_args):
+@flaky
+def test_cache_retry(pytester, memory_args):
     """will a Retry-After header work with cache?"""
 
-    testdir.copy_example("httpbin.md")
+    pytester.copy_example("httpbin.md")
 
     attempts: list = []
 
@@ -99,7 +103,7 @@
 
     def mock_get(*args, **kwargs):
         response = _get(*args, **kwargs)
-        if len(attempts) < 5:
+        if len(attempts) < 5:  # noqa
             response.status_code = 502
             response.headers["Retry-After"] = "0"
         attempts.append([args, kwargs])
@@ -107,23 +111,25 @@
 
     requests_cache.CachedSession.get = mock_get  # type:ignore
 
-    result = testdir.runpytest(*memory_args)
+    result = pytester.runpytest_inprocess(*memory_args)
 
     try:
         result.assert_outcomes(passed=5, failed=1)
-        assert len(attempts) == 10
+        assert len(attempts) == 10  # noqa
     finally:
         requests_cache.CachedSession.get = _get  # type:ignore
 
 
-def test_cache_backend_opts(testdir, base_args):
-    testdir.copy_example("httpbin.md")
-    args = base_args + [
+@flaky
+def test_cache_backend_opts(pytester, base_args):
+    pytester.copy_example("httpbin.md")
+    args = [
+        *base_args,
         "--check-links-cache-backend-opt",
         "fast_save:true",
         "--check-links-cache-name",
         "foo",
     ]
-    result = testdir.runpytest(*args)
+    result = pytester.runpytest_subprocess(*args)
     result.assert_outcomes(passed=6, failed=0)
-    assert_sqlite(testdir, name="foo.sqlite")
+    assert_sqlite(pytester, name="foo.sqlite")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_check_links-0.8.0/test/test_check_links.py 
new/pytest_check_links-0.9.0/test/test_check_links.py
--- old/pytest_check_links-0.8.0/test/test_check_links.py       2020-02-02 
01:00:00.000000000 +0100
+++ new/pytest_check_links-0.9.0/test/test_check_links.py       2020-02-02 
01:00:00.000000000 +0100
@@ -1,61 +1,63 @@
+import shutil
+
 from .conftest import skip_pywin32
 
 
-def test_ipynb(testdir):
-    testdir.copy_example("linkcheck.ipynb")
-    result = testdir.runpytest("-v", "--check-links")
+def test_ipynb(pytester):
+    pytester.copy_example("linkcheck.ipynb")
+    result = pytester.runpytest_subprocess("-v", "--check-links")
     result.assert_outcomes(passed=3, failed=4)
-    result = testdir.runpytest(
+    result = pytester.runpytest_subprocess(
         "-v", "--check-links", "--check-links-ignore", "http.*example.com/.*"
     )
     result.assert_outcomes(passed=3, failed=3)
 
 
-def test_markdown(testdir):
-    testdir.copy_example("markdown.md")
-    result = testdir.runpytest("-v", "--check-links")
+def test_markdown(pytester):
+    pytester.copy_example("markdown.md")
+    result = pytester.runpytest_subprocess("-v", "--check-links")
     result.assert_outcomes(passed=7, failed=3)
-    result = testdir.runpytest(
+    result = pytester.runpytest_subprocess(
         "-v", "--check-links", "--check-links-ignore", "http.*example.com/.*"
     )
     result.assert_outcomes(passed=7, failed=1)
 
 
-def test_markdown_nested(testdir):
-    testdir.copy_example("nested/nested.md")
-    testdir.mkdir("nested")
-    md = testdir.tmpdir / "nested.md"
-    md.move(testdir.tmpdir / "nested" / "nested.md")
-    testdir.copy_example("markdown.md")
-    result = testdir.runpytest("-v", "--check-links")
+def test_markdown_nested(pytester):
+    pytester.copy_example("nested/nested.md")
+    pytester.mkdir("nested")
+    md = pytester.path / "nested.md"
+    shutil.move(md, pytester.path / "nested" / "nested.md")
+    pytester.copy_example("markdown.md")
+    result = pytester.runpytest_subprocess("-v", "--check-links")
     result.assert_outcomes(passed=8, failed=3)
-    result = testdir.runpytest(
+    result = pytester.runpytest_subprocess(
         "-v", "--check-links", "--check-links-ignore", "http.*example.com/.*"
     )
     result.assert_outcomes(passed=8, failed=1)
 
 
 @skip_pywin32
-def test_rst(testdir):
-    testdir.copy_example("rst.rst")
-    result = testdir.runpytest("-v", "--check-links")
+def test_rst(pytester):
+    pytester.copy_example("rst.rst")
+    result = pytester.runpytest_subprocess("-v", "--check-links")
     result.assert_outcomes(passed=7, failed=2)
 
 
 @skip_pywin32
-def test_rst_nested(testdir):
-    testdir.copy_example("nested/nested.rst")
-    testdir.mkdir("nested")
-    rst = testdir.tmpdir / "nested.rst"
-    rst.move(testdir.tmpdir / "nested" / "nested.rst")
-    testdir.copy_example("rst.rst")
-    result = testdir.runpytest("-v", "--check-links")
+def test_rst_nested(pytester):
+    pytester.copy_example("nested/nested.rst")
+    pytester.mkdir("nested")
+    rst = pytester.path / "nested.rst"
+    shutil.move(rst, pytester.path / "nested" / "nested.rst")
+    pytester.copy_example("rst.rst")
+    result = pytester.runpytest_subprocess("-v", "--check-links")
     result.assert_outcomes(passed=13, failed=5)
 
 
-def test_link_ext(testdir):
-    testdir.copy_example("linkcheck.ipynb")
-    testdir.copy_example("rst.rst")
-    testdir.copy_example("markdown.md")
-    result = testdir.runpytest("-v", "--check-links", "--links-ext=md,ipynb")
+def test_link_ext(pytester):
+    pytester.copy_example("linkcheck.ipynb")
+    pytester.copy_example("rst.rst")
+    pytester.copy_example("markdown.md")
+    result = pytester.runpytest_subprocess("-v", "--check-links", 
"--links-ext=md,ipynb")
     result.assert_outcomes(passed=10, failed=7)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_check_links-0.8.0/test/test_cli.py 
new/pytest_check_links-0.9.0/test/test_cli.py
--- old/pytest_check_links-0.8.0/test/test_cli.py       2020-02-02 
01:00:00.000000000 +0100
+++ new/pytest_check_links-0.9.0/test/test_cli.py       2020-02-02 
01:00:00.000000000 +0100
@@ -2,10 +2,11 @@
 import subprocess
 
 import pytest
+from flaky import flaky  # type:ignore
 
 
 def run(cmd, rc=0):
-    proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, 
stderr=subprocess.PIPE)
+    proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, 
stderr=subprocess.PIPE)  # noqa
     stdout, stderr = proc.communicate()
     output = stdout.decode("utf-8").strip().splitlines()
     err = stderr.decode("utf-8").strip().splitlines()
@@ -21,6 +22,7 @@
     run(["pytest-check-links", "--help"])
 
 
+@flaky
 @pytest.mark.skipif(os.name != "nt", reason="Only works on Windows")
 @pytest.mark.parametrize(
     "example,rc,expected,unexpected",

Reply via email to