@@ -29,55 +29,101 @@ BLACK_VERSION = "black==22.3.0"
29
29
ISORT_VERSION = "isort==5.10.1"
30
30
LINT_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"]
31
31
32
- DEFAULT_PYTHON_VERSION= "{{ default_python_version }}"
32
+ DEFAULT_PYTHON_VERSION = "{{ default_python_version }}"
33
33
34
- UNIT_TEST_PYTHON_VERSIONS= [{% for v in unit_test_python_versions %} "{{v}}"{% if not loop .last %} , {% endif %}{% endfor %} ]
34
+ UNIT_TEST_PYTHON_VERSIONS = [{% for v in unit_test_python_versions %} "{{v}}"{% if not loop .last %} , {% endif %}{% endfor %} ]
35
35
UNIT_TEST_STANDARD_DEPENDENCIES = [
36
36
"mock",
37
37
"asyncmock",
38
38
"pytest",
39
39
"pytest-cov",
40
40
"pytest-asyncio",
41
41
]
42
+ {% - if unit_test_external_dependencies %}
42
43
UNIT_TEST_EXTERNAL_DEPENDENCIES = [{% for v in unit_test_external_dependencies %}
43
44
"{{v}}",{% endfor %}
44
45
]
46
+ {% - else %}
47
+ UNIT_TEST_EXTERNAL_DEPENDENCIES = []
48
+ {% - endif %}
49
+ {% - if unit_test_local_dependencies %}
45
50
UNIT_TEST_LOCAL_DEPENDENCIES = [{% for v in unit_test_local_dependencies %}
46
51
"{{v}}",{% endfor %}
47
52
]
53
+ {% - else %}
54
+ UNIT_TEST_LOCAL_DEPENDENCIES = []
55
+ {% - endif %}
56
+ {% - if unit_test_dependencies %}
48
57
UNIT_TEST_DEPENDENCIES = [{% for v in unit_test_dependencies %}
49
58
"{{v}}",{% endfor %}
50
59
]
60
+ {% - else %}
61
+ UNIT_TEST_DEPENDENCIES = []
62
+ {% - endif %}
63
+ {% - if unit_test_extras %}
51
64
UNIT_TEST_EXTRAS = [{% for v in unit_test_extras %}
52
65
"{{v}}",{% endfor %}
53
66
]
67
+ {% - else %}
68
+ UNIT_TEST_EXTRAS = []
69
+ {% - endif %}
70
+
71
+ {% - if unit_test_extras_by_python %}
54
72
UNIT_TEST_EXTRAS_BY_PYTHON = {{ '{' }}{% if unit_test_extras_by_python %}{% for python_version , extras in unit_test_extras_by_python .items () %}
55
73
"{{python_version}}": [{% for v in extras %}
56
74
"{{v}}",{% endfor %}
57
75
],{% endfor %}{% endif %}
58
76
}
59
-
60
- SYSTEM_TEST_PYTHON_VERSIONS=[{% for v in system_test_python_versions %} "{{v}}"{% if not loop .last %} , {% endif %}{% endfor %} ]
77
+ {% - else %}
78
+ UNIT_TEST_EXTRAS_BY_PYTHON = {}
79
+ {% - endif %}
80
+ {% if system_test_python_versions %}
81
+ SYSTEM_TEST_PYTHON_VERSIONS = [{% for v in system_test_python_versions %} "{{v}}"{% if not loop .last %} , {% endif %}{% endfor %} ]
82
+ {% - else %}
83
+ SYSTEM_TEST_PYTHON_VERSIONS = []
84
+ {% - endif %}
61
85
SYSTEM_TEST_STANDARD_DEPENDENCIES = [
62
- "mock", "pytest", "google-cloud-testutils",
86
+ "mock",
87
+ "pytest",
88
+ "google-cloud-testutils",
63
89
]
90
+ {% - if system_test_external_dependencies %}
64
91
SYSTEM_TEST_EXTERNAL_DEPENDENCIES = [{% for v in system_test_external_dependencies %}
65
92
"{{v}}",{% endfor %}
66
93
]
94
+ {% - else %}
95
+ SYSTEM_TEST_EXTERNAL_DEPENDENCIES = []
96
+ {% - endif %}
97
+ {% - if system_test_local_dependencies %}
67
98
SYSTEM_TEST_LOCAL_DEPENDENCIES = [{% for v in system_test_local_dependencies %}
68
99
"{{v}}",{% endfor %}
69
100
]
101
+ {% - else %}
102
+ SYSTEM_TEST_LOCAL_DEPENDENCIES = []
103
+ {% - endif %}
104
+ {% - if system_test_dependencies %}
70
105
SYSTEM_TEST_DEPENDENCIES = [{% for v in system_test_dependencies %}
71
106
"{{v}}",{% endfor %}
72
107
]
108
+ {% - else %}
109
+ SYSTEM_TEST_DEPENDENCIES = []
110
+ {% - endif %}
111
+ {% - if system_test_extras %}
73
112
SYSTEM_TEST_EXTRAS = [{% for v in system_test_extras %}
74
113
"{{v}}",{% endfor %}
75
114
]
115
+ {% - else %}
116
+ SYSTEM_TEST_EXTRAS = []
117
+ {% - endif %}
118
+ {% - if system_test_extras_by_python %}
76
119
SYSTEM_TEST_EXTRAS_BY_PYTHON = {{ '{' }}{% if system_test_extras_by_python %}{% for python_version , extras in system_test_extras_by_python .items () %}
77
120
"{{python_version}}": [{% for v in extras %}
78
121
"{{v}}",{% endfor %}
79
122
],{% endfor %}{% endif %}
80
123
}
124
+ {% - else %}
125
+ SYSTEM_TEST_EXTRAS_BY_PYTHON = {}
126
+ {% - endif %}
81
127
82
128
CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute()
83
129
@@ -200,6 +246,7 @@ def default(session):
200
246
*session.posargs,
201
247
)
202
248
249
+
203
250
@nox.session(python=UNIT_TEST_PYTHON_VERSIONS)
204
251
def unit(session):
205
252
"""Run the unit test suite."""
@@ -247,7 +294,7 @@ def system(session):
247
294
system_test_folder_path = os.path.join("tests", "system")
248
295
249
296
# Check the value of `RUN_SYSTEM_TESTS` env var. It defaults to true.
250
- if os.environ.get("RUN_SYSTEM_TESTS", "true") == ' false' :
297
+ if os.environ.get("RUN_SYSTEM_TESTS", "true") == " false" :
251
298
session.skip("RUN_SYSTEM_TESTS is set to false, skipping")
252
299
# Install pyopenssl for mTLS testing.
253
300
if os.environ.get("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") == "true":
@@ -268,17 +315,18 @@ def system(session):
268
315
"--quiet",
269
316
f"--junitxml=system_{session.python}_sponge_log.xml",
270
317
system_test_path,
271
- *session.posargs
318
+ *session.posargs,
272
319
)
273
320
if system_test_folder_exists:
274
321
session.run(
275
322
"py.test",
276
323
"--quiet",
277
324
f"--junitxml=system_{session.python}_sponge_log.xml",
278
325
system_test_folder_path,
279
- *session.posargs
326
+ *session.posargs,
280
327
)
281
328
329
+
282
330
@nox.session(python=DEFAULT_PYTHON_VERSION)
283
331
def cover(session):
284
332
"""Run the final coverage report.
@@ -291,21 +339,28 @@ def cover(session):
291
339
292
340
session.run("coverage", "erase")
293
341
342
+
294
343
@nox.session(python=DEFAULT_PYTHON_VERSION)
295
344
def docs(session):
296
345
"""Build the docs for this library."""
297
346
298
347
session.install("-e", ".")
299
- session.install("sphinx==4.0.1", "alabaster", "recommonmark")
348
+ session.install(
349
+ "sphinx==4.0.1",
350
+ "alabaster",
351
+ "recommonmark",
352
+ )
300
353
301
354
shutil.rmtree(os.path.join("docs", "_build"), ignore_errors=True)
302
355
session.run(
303
356
"sphinx-build",
304
357
"-W", # warnings as errors
305
358
"-T", # show full traceback on exception
306
359
"-N", # no colors
307
- "-b", "html",
308
- "-d", os.path.join("docs", "_build", "doctrees", ""),
360
+ "-b",
361
+ "html",
362
+ "-d",
363
+ os.path.join("docs", "_build", "doctrees", ""),
309
364
os.path.join("docs", ""),
310
365
os.path.join("docs", "_build", "html", ""),
311
366
)
@@ -316,7 +371,12 @@ def docfx(session):
316
371
"""Build the docfx yaml files for this library."""
317
372
318
373
session.install("-e", ".")
319
- session.install("sphinx==4.0.1", "alabaster", "recommonmark", "gcp-sphinx-docfx-yaml")
374
+ session.install(
375
+ "sphinx==4.0.1",
376
+ "alabaster",
377
+ "recommonmark",
378
+ "gcp-sphinx-docfx-yaml",
379
+ )
320
380
321
381
shutil.rmtree(os.path.join("docs", "_build"), ignore_errors=True)
322
382
session.run(
@@ -352,7 +412,11 @@ def prerelease_deps(session):
352
412
session.install("-e", ".[all, tests, tracing]")
353
413
unit_deps_all = UNIT_TEST_STANDARD_DEPENDENCIES + UNIT_TEST_EXTERNAL_DEPENDENCIES
354
414
session.install(*unit_deps_all)
355
- system_deps_all = SYSTEM_TEST_STANDARD_DEPENDENCIES + SYSTEM_TEST_EXTERNAL_DEPENDENCIES + SYSTEM_TEST_EXTRAS
415
+ system_deps_all = (
416
+ SYSTEM_TEST_STANDARD_DEPENDENCIES
417
+ + SYSTEM_TEST_EXTERNAL_DEPENDENCIES
418
+ + SYSTEM_TEST_EXTRAS
419
+ )
356
420
session.install(*system_deps_all)
357
421
358
422
# Because we test minimum dependency versions on the minimum Python
0 commit comments