forked from urllib3/urllib3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnoxfile.py
100 lines (81 loc) · 2.82 KB
/
noxfile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import os
import shutil
import nox
def tests_impl(session, extras="socks,secure,brotli"):
# Install deps and the package itself.
session.install("-r", "dev-requirements.txt")
session.install(".[{extras}]".format(extras=extras))
# Show the pip version.
session.run("pip", "--version")
# Print the Python version and bytesize.
session.run("python", "--version")
session.run("python", "-c", "import struct; print(struct.calcsize('P') * 8)")
# Print OpenSSL information.
session.run("python", "-m", "OpenSSL.debug")
# Inspired from https://github.com/pyca/cryptography
# We use parallel mode and then combine here so that coverage.py will take
# the paths like .tox/pyXY/lib/pythonX.Y/site-packages/urllib3/__init__.py
# and collapse them into src/urllib3/__init__.py.
session.run(
"coverage",
"run",
"--parallel-mode",
"-m",
"pytest",
"-r",
"sx",
"test",
*session.posargs,
env={"PYTHONWARNINGS": "always::DeprecationWarning"}
)
session.run("coverage", "combine")
session.run("coverage", "report", "-m")
@nox.session(python=["2.7", "3.4", "3.5", "3.6", "3.7", "3.8", "pypy"])
def test(session):
tests_impl(session)
@nox.session(python=["2", "3"])
def google_brotli(session):
# https://pypi.org/project/Brotli/ is the Google version of brotli, so
# install it separately and don't install our brotli extra (which installs
# brotlipy).
session.install("brotli")
tests_impl(session, extras="socks,secure")
@nox.session(python="2.7")
def app_engine(session):
session.install("-r", "dev-requirements.txt")
session.install(".")
session.run(
"coverage",
"run",
"--parallel-mode",
"-m",
"pytest",
"-r",
"sx",
"test/appengine",
*session.posargs
)
session.run("coverage", "combine")
session.run("coverage", "report", "-m")
@nox.session()
def blacken(session):
"""Run black code formater."""
session.install("black")
session.run("black", "src", "dummyserver", "test", "noxfile.py", "setup.py")
@nox.session
def lint(session):
session.install("flake8", "black")
session.run("flake8", "--version")
session.run("black", "--version")
session.run(
"black", "--check", "src", "dummyserver", "test", "noxfile.py", "setup.py"
)
session.run("flake8", "setup.py", "docs", "dummyserver", "src", "test")
@nox.session
def docs(session):
session.install("-r", "docs/requirements.txt")
session.install(".[socks,secure,brotli]")
session.chdir("docs")
if os.path.exists("_build"):
shutil.rmtree("_build")
session.run("sphinx-build", "-W", ".", "_build/html")