Page MenuHomeSoftware Heritage

Extract reusable github tests fixtures into its own pytest_plugin
ClosedPublic

Authored by ardumont on May 17 2022, 11:32 AM.

Details

Summary

This also sandboxes the new module into its own package to simplify overall packaging.

Related to T4232
Depends on D7840

Diff Detail

Event Timeline

Build has FAILED

Patch application report for D7841 (id=28319)

Could not rebase; Attempt merge onto 60f384d35a...

Updating 60f384d..45406b8
Fast-forward
 requirements-github.txt                    |   3 +
 requirements-http.txt                      |   1 +
 setup.py                                   |   2 +
 swh/core/github/pytest_plugin.py           | 184 +++++++++++++++++++++++++++++
 swh/core/github/tests/__init__.py          |   0
 swh/core/github/tests/test_github_utils.py | 160 +++++++++++++++++++++++++
 swh/core/github/utils.py                   | 170 +++++++++++++++++++++++++-
 swh/core/tests/test_github_utils.py        |  51 --------
 tox.ini                                    |   6 +-
 9 files changed, 523 insertions(+), 54 deletions(-)
 create mode 100644 requirements-github.txt
 create mode 100644 swh/core/github/pytest_plugin.py
 create mode 100644 swh/core/github/tests/__init__.py
 create mode 100644 swh/core/github/tests/test_github_utils.py
 delete mode 100644 swh/core/tests/test_github_utils.py
Changes applied before test
commit 45406b8250875b0c3ba4023974ffbefff0765670
Author: Antoine R. Dumont (@ardumont) <ardumont@softwareheritage.org>
Date:   Tue May 17 11:31:22 2022 +0200

    Extract reusable github tests fixtures into its own pytest_plugin
    
    This also:
    - sandbox the new module into its own package to simplify packaging
    
    Related to T4232

commit 6fa229792d57cc0b445293ade8699d06074cd8b9
Author: Antoine R. Dumont (@ardumont) <ardumont@softwareheritage.org>
Date:   Mon May 16 16:59:04 2022 +0200

    Refactor swh.lister.github.utils to swh.core.github.utils
    
    This also:
    - extracts pytest fixtures needed to cover the GitHubSession code.
    - avoid mutating the inputted credentials passed in constructors
    - rework test docstrings to "it should" format for more concise description
    
    Related to T4232

Link to build: https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/413/
See console output for more information: https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/413/console

Harbormaster returned this revision to the author for changes because remote builds failed.May 17 2022, 11:34 AM
Harbormaster failed remote builds in B29421: Diff 28319!

Build has FAILED

Patch application report for D7841 (id=28319)

Could not rebase; Attempt merge onto 60f384d35a...

Updating 60f384d..45406b8
Fast-forward
 requirements-github.txt                    |   3 +
 requirements-http.txt                      |   1 +
 setup.py                                   |   2 +
 swh/core/github/pytest_plugin.py           | 184 +++++++++++++++++++++++++++++
 swh/core/github/tests/__init__.py          |   0
 swh/core/github/tests/test_github_utils.py | 160 +++++++++++++++++++++++++
 swh/core/github/utils.py                   | 170 +++++++++++++++++++++++++-
 swh/core/tests/test_github_utils.py        |  51 --------
 tox.ini                                    |   6 +-
 9 files changed, 523 insertions(+), 54 deletions(-)
 create mode 100644 requirements-github.txt
 create mode 100644 swh/core/github/pytest_plugin.py
 create mode 100644 swh/core/github/tests/__init__.py
 create mode 100644 swh/core/github/tests/test_github_utils.py
 delete mode 100644 swh/core/tests/test_github_utils.py
Changes applied before test
commit 45406b8250875b0c3ba4023974ffbefff0765670
Author: Antoine R. Dumont (@ardumont) <ardumont@softwareheritage.org>
Date:   Tue May 17 11:31:22 2022 +0200

    Extract reusable github tests fixtures into its own pytest_plugin
    
    This also:
    - sandbox the new module into its own package to simplify packaging
    
    Related to T4232

commit 6fa229792d57cc0b445293ade8699d06074cd8b9
Author: Antoine R. Dumont (@ardumont) <ardumont@softwareheritage.org>
Date:   Mon May 16 16:59:04 2022 +0200

    Refactor swh.lister.github.utils to swh.core.github.utils
    
    This also:
    - extracts pytest fixtures needed to cover the GitHubSession code.
    - avoid mutating the inputted credentials passed in constructors
    - rework test docstrings to "it should" format for more concise description
    
    Related to T4232

Link to build: https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/414/
See console output for more information: https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/414/console

Add missing github entry in extra of one of the tox env (unrelated to the build failure)

Build has FAILED

... for unrelated reasons (checking master build currently)

Build has FAILED

... for unrelated reasons (checking master build currently)

maybe it is then, master build is happy ¯\_(ツ)_/¯.

Build has FAILED

Patch application report for D7841 (id=28320)

Could not rebase; Attempt merge onto 60f384d35a...

Updating 60f384d..17b603f
Fast-forward
 requirements-github.txt                    |   3 +
 requirements-http.txt                      |   1 +
 setup.py                                   |   2 +
 swh/core/github/pytest_plugin.py           | 184 +++++++++++++++++++++++++++++
 swh/core/github/tests/__init__.py          |   0
 swh/core/github/tests/test_github_utils.py | 160 +++++++++++++++++++++++++
 swh/core/github/utils.py                   | 170 +++++++++++++++++++++++++-
 swh/core/tests/test_github_utils.py        |  51 --------
 tox.ini                                    |   7 +-
 9 files changed, 524 insertions(+), 54 deletions(-)
 create mode 100644 requirements-github.txt
 create mode 100644 swh/core/github/pytest_plugin.py
 create mode 100644 swh/core/github/tests/__init__.py
 create mode 100644 swh/core/github/tests/test_github_utils.py
 delete mode 100644 swh/core/tests/test_github_utils.py
Changes applied before test
commit 17b603ff8d6c7fc0dfa0e820a1d03b0f1c21680a
Author: Antoine R. Dumont (@ardumont) <ardumont@softwareheritage.org>
Date:   Tue May 17 11:31:22 2022 +0200

    Extract reusable github tests fixtures into its own pytest_plugin
    
    This also:
    - sandbox the new module into its own package to simplify packaging
    
    Related to T4232

commit 6fa229792d57cc0b445293ade8699d06074cd8b9
Author: Antoine R. Dumont (@ardumont) <ardumont@softwareheritage.org>
Date:   Mon May 16 16:59:04 2022 +0200

    Refactor swh.lister.github.utils to swh.core.github.utils
    
    This also:
    - extracts pytest fixtures needed to cover the GitHubSession code.
    - avoid mutating the inputted credentials passed in constructors
    - rework test docstrings to "it should" format for more concise description
    
    Related to T4232

Link to build: https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/415/
See console output for more information: https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/415/console

Harbormaster returned this revision to the author for changes because remote builds failed.May 17 2022, 11:49 AM
Harbormaster failed remote builds in B29423: Diff 28320!

Build has FAILED

... for unrelated reasons (checking master build currently)

maybe it is then, master build is happy ¯\_(ツ)_/¯.

The sphinx doc is failing to build, that's why Jenkins is unhappy.

[2022-05-17T09:39:21.566Z] Warning, treated as error:

[2022-05-17T09:39:21.566Z] /var/lib/jenkins/workspace/DCORE/tests-on-diff/swh/core/github/pytest_plugin.py:docstring of swh.core.github.pytest_plugin.requests_ratelimited:11:Unexpected indentation.

[2022-05-17T09:39:22.117Z] make: *** [../../swh-docs/Makefile.sphinx:32: sphinx/html] Error 2

[2022-05-17T09:39:22.117Z] make: Leaving directory '/var/lib/jenkins/workspace/DCORE/tests-on-diff/docs'

[2022-05-17T09:39:22.117Z] ERROR: InvocationError for command '/usr/bin/make -I ../.tox/sphinx/src/swh-docs/swh/ -C docs' (exited with code 2)

[2022-05-17T09:39:22.117Z] ___________________________________ summary ____________________________________

[2022-05-17T09:39:22.117Z] ERROR:   sphinx: commands failed

The sphinx doc is failing to build, that's why Jenkins is unhappy.

Heh, thanks for tracking that, i was gonna do it ;).
I'll fix that.

  • Rebase
  • Tentatively fix docstring indentation to fix doc build failing the build

Build is green

Patch application report for D7841 (id=28325)

Rebasing onto e77c68ab91...

First, rewinding head to replay your work on top of it...
Applying: Extract reusable github tests fixtures into its own pytest_plugin
Changes applied before test
commit ba2d18ba24e3af4bc50f68bc4501fa0b1f6c5759
Author: Antoine R. Dumont (@ardumont) <ardumont@softwareheritage.org>
Date:   Tue May 17 11:31:22 2022 +0200

    Extract reusable github tests fixtures into its own pytest_plugin
    
    This also:
    - sandbox the new module into its own package to simplify packaging
    
    Related to T4232

See https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/418/ for more details.

  • Add missing new tests to Makefile.local
  • Make swh.core.github tests executed by tox in the ci (previous build was green but those were not executed)

With actual rebase ¯\_(ツ)_/¯

Build was aborted

Patch application report for D7841 (id=28326)

Rebasing onto e77c68ab91...

First, rewinding head to replay your work on top of it...
Applying: Extract reusable github tests fixtures into its own pytest_plugin
Changes applied before test
commit 8f04872cbca025cc31fbd8371792e32f9e4b42fc
Author: Antoine R. Dumont (@ardumont) <ardumont@softwareheritage.org>
Date:   Tue May 17 11:31:22 2022 +0200

    Extract reusable github tests fixtures into its own pytest_plugin
    
    This also:
    - sandbox the new module into its own package to simplify packaging
    
    Related to T4232

Link to build: https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/419/
See console output for more information: https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/419/console

Build is green

Patch application report for D7841 (id=28327)

Rebasing onto e77c68ab91...

Current branch diff-target is up to date.
Changes applied before test
commit f373673c182796d427b6f80aa7d7736acda24c2c
Author: Antoine R. Dumont (@ardumont) <ardumont@softwareheritage.org>
Date:   Tue May 17 11:31:22 2022 +0200

    Extract reusable github tests fixtures into its own pytest_plugin
    
    This also:
    - sandbox the new module into its own package to simplify packaging
    
    Related to T4232

See https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/420/ for more details.

Build is green

Patch application report for D7841 (id=28329)

Rebasing onto e77c68ab91...

Current branch diff-target is up to date.
Changes applied before test
commit 8dde766e85e881a0058a37010994d979631fcab8
Author: Antoine R. Dumont (@ardumont) <ardumont@softwareheritage.org>
Date:   Tue May 17 11:31:22 2022 +0200

    Extract reusable github tests fixtures into its own pytest_plugin
    
    This also:
    - sandbox the new module into its own package to simplify packaging
    
    Related to T4232

See https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/421/ for more details.

Build is green

Patch application report for D7841 (id=28330)

Rebasing onto e77c68ab91...

Current branch diff-target is up to date.
Changes applied before test
commit 9130cf175621db3ff236bcf0f46dea8f22c38bdf
Author: Antoine R. Dumont (@ardumont) <ardumont@softwareheritage.org>
Date:   Tue May 17 11:31:22 2022 +0200

    Extract reusable github tests fixtures into its own pytest_plugin
    
    This also:
    - sandbox the new module into its own package to simplify packaging
    
    Related to T4232

See https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/422/ for more details.

Fix coverage mess (do not declare the pytest plugin in setup.py, use the root conftest
¯\_(ツ)_/¯). The coverage should be normal after that.

Thanks @anlambert for helping out on this one

Build is green

Patch application report for D7841 (id=28331)

Rebasing onto e77c68ab91...

Current branch diff-target is up to date.
Changes applied before test
commit 9fa9f8422792fde2f936ac965b22cb514d2855d4
Author: Antoine R. Dumont (@ardumont) <ardumont@softwareheritage.org>
Date:   Tue May 17 11:31:22 2022 +0200

    Extract reusable github tests fixtures into its own pytest_plugin
    
    This also:
    - sandbox the new module into its own package to simplify packaging
    
    Related to T4232

See https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/423/ for more details.

This revision is now accepted and ready to land.May 17 2022, 4:41 PM
vlorentz added a subscriber: vlorentz.
vlorentz added inline comments.
swh/core/github/pytest_plugin.py
15–35
This revision now requires changes to proceed.May 17 2022, 4:43 PM

actually, that can be done later

This revision is now accepted and ready to land.May 17 2022, 4:43 PM