Skip to content

Commit

Permalink
WIP: CI 10
Browse files Browse the repository at this point in the history
  • Loading branch information
pajod committed Dec 27, 2023
1 parent 6ae5c65 commit 0c81e79
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 16 deletions.
2 changes: 1 addition & 1 deletion .github/appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ for:
- wsl whoami
- wsl cat /etc/os-release
- wsl sudo DEBIAN_FRONTEND=noninteractive apt-get update
- wsl sudo DEBIAN_FRONTEND=noninteractive apt-get install -y python3-venv python3-pip
- wsl sudo DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y python3-venv python3-pip
- wsl python3 -m venv .
- wsl bin/pip install -U pip tox
test_script:
Expand Down
3 changes: 2 additions & 1 deletion gunicorn/packaging_support.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@ def _minimum_version_of_installed(package_name, spew=True):
all_spec.append(requirement.specifier)
# simplication: this will fail on > operator (mentioned is not acceptable)
all_version = [spec.version for spec_list in all_spec for spec in spec_list]
# Python 3.7 cleanup: sum(iterable, /, start=0)
acceptable_mentioned = sum(
(list(spec_list.filter(all_version)) for spec_list in all_spec), start=[]
(list(spec_list.filter(all_version)) for spec_list in all_spec), []
)
lowest_mentioned = min(acceptable_mentioned, default=None)
if lowest_mentioned:
Expand Down
20 changes: 14 additions & 6 deletions tests/test_e2e.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,14 @@ def bad_method():
import signal
import os
logging.basicConfig(force=True)
logger = logging.getLogger(__name__)
if sys.version_info >= (3, 8):
logging.basicConfig(force=True)
logger = logging.getLogger(__name__)
logger.info("logger has been reset")
else:
logger = logging.getLogger(__name__)
logging.basicConfig()
logger.warning("logger has been reset before import error happens")
# os.kill(os.getppid(), signal.SIGTERM)
# sys.exit(3)
import syntax_error
Expand Down Expand Up @@ -119,7 +123,7 @@ def run(self):
sys.executable,
"-m",
"gunicorn",
#"--config=%s" % os.devnull,
# "--config=%s" % os.devnull,
"--config=%s" % self.conf_path,
"--log-level=debug",
"--worker-class=sync",
Expand Down Expand Up @@ -215,7 +219,9 @@ def test_process_request_after_fixing_syntax_error():
assert "load_wsgi" not in body.lower()

access_log = server._read_stdio(
key=OUT, wait_for_keyword='GET / HTTP/1.1" 500 ', timeout_sec=5,
key=OUT,
wait_for_keyword='GET / HTTP/1.1" 500 ',
timeout_sec=5,
)
# trigger reloader
server.write_ok()
Expand All @@ -235,7 +241,9 @@ def test_process_request_after_fixing_syntax_error():
assert "response body from app" == body

debug_log = server._read_stdio(
key=ERR, wait_for_keyword="stderr from app", timeout_sec=5,
key=ERR,
wait_for_keyword="stderr from app",
timeout_sec=5,
)

shutdown_log = server._graceful_quit()
Expand Down
21 changes: 13 additions & 8 deletions tests/test_e2e_debug.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,15 @@
import sys
import logging
logging.basicConfig(force=True)
logger = logging.getLogger(__name__)
if sys.version_info >= (3, 8):
logging.basicConfig(force=True)
logger = logging.getLogger(__name__)
logger.info("logger has been reset")
else:
logging.basicConfig()
logger = logging.getLogger(__name__)
def app(environ_, start_response):
# print("stdout from app", file=sys.stdout)
logger.warning("logger has been reset")
print("stderr from app", file=sys.stderr)
# needed for Python <= 3.8
sys.stderr.flush()
Expand Down Expand Up @@ -101,9 +104,9 @@ def run(self):
"--log-level=debug",
"--workers=3",
"--worker-class=sync",
#"--enable-stdio-inheritance",
#"--access-logfile=-",
#"--disable-redirect-access-to-syslog",
# "--enable-stdio-inheritance",
# "--access-logfile=-",
# "--disable-redirect-access-to-syslog",
"--graceful-timeout=%d" % GRACEFUL_TIMEOUT,
"--on-fatal=world-readable",
# "--reload",
Expand Down Expand Up @@ -187,7 +190,9 @@ def test_process_shutdown_cleanly_after_inserting_syntax_error():
assert "response body from app" == body

debug_log = server._read_stdio(
key=ERR, wait_for_keyword="stderr from app", timeout_sec=5,
key=ERR,
wait_for_keyword="stderr from app",
timeout_sec=5,
)

# trigger reloader
Expand Down

0 comments on commit 0c81e79

Please sign in to comment.