github actions: cache and test run_module (-m)

This commit is contained in:
Paul J. Dorn 2023-12-07 10:38:30 +01:00
parent 26aba9ed9d
commit c3396b9786
7 changed files with 25 additions and 8 deletions

View File

@ -2,6 +2,9 @@ name: lint
on: [push, pull_request]
permissions:
contents: read # to fetch code (actions/checkout)
env:
# note that some tools care only for the name, not the value
FORCE_COLOR: 1
jobs:
lint:
name: tox-${{ matrix.toxenv }}
@ -14,9 +17,10 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Using Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: Install Dependencies
run: |
python -m pip install --upgrade pip

View File

@ -2,6 +2,9 @@ name: tox
on: [push, pull_request]
permissions:
contents: read # to fetch code (actions/checkout)
env:
# note that some tools care only for the name, not the value
FORCE_COLOR: 1
jobs:
tox:
name: ${{ matrix.os }} / ${{ matrix.python-version }}
@ -14,11 +17,15 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Using Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: requirements_test.txt
check-latest: true
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
python -m pip install tox
- run: tox -e run-module
- run: tox -e py

View File

@ -4,4 +4,8 @@
# See the NOTICE for more information.
from gunicorn.app.wsgiapp import run
run()
if __name__ == "__main__":
# see config.py - argparse defaults to basename(argv[0]) == "__main__.py"
# todo: let runpy.run_module take care of argv[0] rewriting
run(prog="gunicorn")

View File

@ -58,13 +58,13 @@ class WSGIApplication(Application):
return self.load_wsgiapp()
def run():
def run(prog=None):
"""\
The ``gunicorn`` command line runner for launching Gunicorn with
generic WSGI applications.
"""
from gunicorn.app.wsgiapp import WSGIApplication
WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()
if __name__ == '__main__':

View File

@ -57,13 +57,13 @@ setproctitle = ["setproctitle"]
testing = [
"gevent",
"eventlet",
"cryptography",
"coverage",
"pytest",
"pytest-cov",
]
[tool.pytest.ini_options]
# # can override these: python -m pytest --override-ini="addopts="
norecursedirs = ["examples", "lib", "local", "src"]
testpaths = ["tests/"]
addopts = "--assert=plain --cov=gunicorn --cov-report=xml"

View File

@ -1,6 +1,5 @@
gevent
eventlet
cryptography
coverage
pytest
pytest-cov

View File

@ -1,5 +1,5 @@
[tox]
envlist = py{37,38,39,310,311,py3}, lint, docs-lint, pycodestyle
envlist = py{37,38,39,310,311,py3}, lint, docs-lint, pycodestyle, run-module
skipsdist = false
; Can't set skipsdist and use_develop in tox v4 to true due to https://github.com/tox-dev/tox/issues/2730
@ -9,6 +9,9 @@ commands = pytest --cov=gunicorn {posargs}
deps =
-rrequirements_test.txt
[testenv:run-module]
commands = python3 -m gunicorn --version
[testenv:lint]
commands =
pylint -j0 \