We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Normalize nox / docs builds
## `docgen`

` `noxfile.py` contains a `docgen` session which, when run, delete's / overwrites some files in the `docs/reference` tree:

```bash
$ nox -re docgen
nox > Running session docgen
nox > Re-using existing virtual environment at .nox/docgen.
nox > pip install flask freezegun mock oauth2client pyopenssl pytest pytest-cov pytest-localserver requests urllib3 cryptography responses grpcio
nox > pip install sphinx
nox > pip install .
nox > rm -r docs/reference
nox > Warning: rm is not installed into the virtualenv, it is located at /bin/rm. This might cause issues! Pass external=True into run() to silence this message.
nox > sphinx-apidoc --output-dir docs/reference --separate --module-first google
Creating file docs/reference/google.rst.
Creating file docs/reference/google.auth.rst.
Creating file docs/reference/google.auth.app_engine.rst.
Creating file docs/reference/google.auth.credentials.rst.
Creating file docs/reference/google.auth.environment_vars.rst.
Creating file docs/reference/google.auth.exceptions.rst.
Creating file docs/reference/google.auth.iam.rst.
Creating file docs/reference/google.auth.impersonated_credentials.rst.
Creating file docs/reference/google.auth.jwt.rst.
Creating file docs/reference/google.auth.compute_engine.rst.
Creating file docs/reference/google.auth.compute_engine.credentials.rst.
Creating file docs/reference/google.auth.crypt.rst.
Creating file docs/reference/google.auth.crypt.base.rst.
Creating file docs/reference/google.auth.crypt.es256.rst.
Creating file docs/reference/google.auth.crypt.rsa.rst.
Creating file docs/reference/google.auth.transport.rst.
Creating file docs/reference/google.auth.transport.grpc.rst.
Creating file docs/reference/google.auth.transport.mtls.rst.
Creating file docs/reference/google.auth.transport.requests.rst.
Creating file docs/reference/google.auth.transport.urllib3.rst.
Creating file docs/reference/google.oauth2.rst.
Creating file docs/reference/google.oauth2.credentials.rst.
Creating file docs/reference/google.oauth2.id_token.rst.
Creating file docs/reference/google.oauth2.service_account.rst.
Creating file docs/reference/modules.rst.
nox > Session docgen was successful.
[/home/tseaver/projects/agendaless/Google/src/google-auth] 
$ git stat
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	deleted:    docs/reference/google.auth.credentials_async.rst
	deleted:    docs/reference/google.auth.jwt_async.rst
	modified:   docs/reference/google.auth.rst
	deleted:    docs/reference/google.auth.transport.aiohttp_requests.rst
	modified:   docs/reference/google.auth.transport.rst
	deleted:    docs/reference/google.oauth2.credentials_async.rst
	modified:   docs/reference/google.oauth2.rst
	deleted:    docs/reference/google.oauth2.service_account_async.rst
```

I recommend that we delete this section, as a fossil of an approach we no longer mean to support.

## `docs` session

The `docs` session triggers the build via `make` (and the `docs/Makefile`), rather than running `sphinx-build` directly as in other projects.  This choice is unique across all our projects, and means that we don't enforce
the same specs here (e.g., Sphinx warnings are not treated as errors).

I recommend we delete the `docs/Makefile` and normalize the `docs` session, fixing any Sphinx warnings found.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `noxfile.py`
Content:
```
1 # Copyright 2019 Google LLC
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 
15 import os
16 import pathlib
17 import shutil
18 
19 import nox
20 
21 CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute()
22 
23 BLACK_VERSION = "black==19.3b0"
24 BLACK_PATHS = [
25     "google",
26     "tests",
27     "tests_async",
28     "noxfile.py",
29     "setup.py",
30     "docs/conf.py",
31 ]
32 
33 
34 @nox.session(python="3.7")
35 def lint(session):
36     session.install("flake8", "flake8-import-order", "docutils", BLACK_VERSION)
37     session.install("-e", ".")
38     session.run("black", "--check", *BLACK_PATHS)
39     session.run(
40         "flake8",
41         "--import-order-style=google",
42         "--application-import-names=google,tests,system_tests",
43         "google",
44         "tests",
45         "tests_async",
46     )
47     session.run(
48         "python", "setup.py", "check", "--metadata", "--restructuredtext", "--strict"
49     )
50 
51 
52 @nox.session(python="3.8")
53 def blacken(session):
54     """Run black.
55     Format code to uniform standard.
56     The Python version should be consistent with what is
57     supplied in the Python Owlbot postprocessor.
58 
59     https://github.com/googleapis/synthtool/blob/master/docker/owlbot/python/Dockerfile
60     """
61     session.install(BLACK_VERSION)
62     session.run("black", *BLACK_PATHS)
63 
64 
65 @nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10"])
66 def unit(session):
67     constraints_path = str(
68         CURRENT_DIRECTORY / "testing" / f"constraints-{session.python}.txt"
69     )
70     session.install("-r", "testing/requirements.txt", "-c", constraints_path)
71     session.install("-e", ".", "-c", constraints_path)
72     session.run(
73         "pytest",
74         f"--junitxml=unit_{session.python}_sponge_log.xml",
75         "--cov=google.auth",
76         "--cov=google.oauth2",
77         "--cov=tests",
78         "--cov-report=term-missing",
79         "tests",
80         "tests_async",
81     )
82 
83 
84 @nox.session(python=["2.7"])
85 def unit_prev_versions(session):
86     constraints_path = str(
87         CURRENT_DIRECTORY / "testing" / f"constraints-{session.python}.txt"
88     )
89     session.install("-r", "testing/requirements.txt", "-c", constraints_path)
90     session.install("-e", ".", "-c", constraints_path)
91     session.run(
92         "pytest",
93         f"--junitxml=unit_{session.python}_sponge_log.xml",
94         "--cov=google.auth",
95         "--cov=google.oauth2",
96         "--cov=tests",
97         "tests",
98     )
99 
100 
101 @nox.session(python="3.7")
102 def cover(session):
103     session.install("-r", "testing/requirements.txt")
104     session.install("-e", ".")
105     session.run(
106         "pytest",
107         "--cov=google.auth",
108         "--cov=google.oauth2",
109         "--cov=tests",
110         "--cov=tests_async",
111         "--cov-report=term-missing",
112         "tests",
113         "tests_async",
114     )
115     session.run("coverage", "report", "--show-missing", "--fail-under=100")
116 
117 
118 @nox.session(python="3.7")
119 def docgen(session):
120     session.env["SPHINX_APIDOC_OPTIONS"] = "members,inherited-members,show-inheritance"
121     session.install("-r", "testing/requirements.txt")
122     session.install("sphinx")
123     session.install("-e", ".")
124     session.run("rm", "-r", "docs/reference")
125     session.run(
126         "sphinx-apidoc",
127         "--output-dir",
128         "docs/reference",
129         "--separate",
130         "--module-first",
131         "google",
132     )
133 
134 
135 @nox.session(python="3.8")
136 def docs(session):
137     """Build the docs for this library."""
138 
139     session.install("-e", ".[aiohttp]")
140     session.install("sphinx", "alabaster", "recommonmark", "sphinx-docstring-typing")
141 
142     shutil.rmtree(os.path.join("docs", "_build"), ignore_errors=True)
143     session.run(
144         "sphinx-build",
145         "-T",  # show full traceback on exception
146         "-W",  # warnings as errors
147         "-N",  # no colors
148         "-b",
149         "html",
150         "-d",
151         os.path.join("docs", "_build", "doctrees", ""),
152         os.path.join("docs", ""),
153         os.path.join("docs", "_build", "html", ""),
154     )
155 
156 
157 @nox.session(python="pypy")
158 def pypy(session):
159     session.install("-r", "test/requirements.txt")
160     session.install("-e", ".")
161     session.run(
162         "pytest",
163         f"--junitxml=unit_{session.python}_sponge_log.xml",
164         "--cov=google.auth",
165         "--cov=google.oauth2",
166         "--cov=tests",
167         "tests",
168         "tests_async",
169     )
170
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/noxfile.py b/noxfile.py
--- a/noxfile.py
+++ b/noxfile.py
@@ -115,23 +115,6 @@
     session.run("coverage", "report", "--show-missing", "--fail-under=100")
 
 
-@nox.session(python="3.7")
-def docgen(session):
-    session.env["SPHINX_APIDOC_OPTIONS"] = "members,inherited-members,show-inheritance"
-    session.install("-r", "testing/requirements.txt")
-    session.install("sphinx")
-    session.install("-e", ".")
-    session.run("rm", "-r", "docs/reference")
-    session.run(
-        "sphinx-apidoc",
-        "--output-dir",
-        "docs/reference",
-        "--separate",
-        "--module-first",
-        "google",
-    )
-
-
 @nox.session(python="3.8")
 def docs(session):
     """Build the docs for this library."""

{"golden_diff": "diff --git a/noxfile.py b/noxfile.py\n--- a/noxfile.py\n+++ b/noxfile.py\n@@ -115,23 +115,6 @@\n     session.run(\"coverage\", \"report\", \"--show-missing\", \"--fail-under=100\")\n \n \n-@nox.session(python=\"3.7\")\n-def docgen(session):\n-    session.env[\"SPHINX_APIDOC_OPTIONS\"] = \"members,inherited-members,show-inheritance\"\n-    session.install(\"-r\", \"testing/requirements.txt\")\n-    session.install(\"sphinx\")\n-    session.install(\"-e\", \".\")\n-    session.run(\"rm\", \"-r\", \"docs/reference\")\n-    session.run(\n-        \"sphinx-apidoc\",\n-        \"--output-dir\",\n-        \"docs/reference\",\n-        \"--separate\",\n-        \"--module-first\",\n-        \"google\",\n-    )\n-\n-\n @nox.session(python=\"3.8\")\n def docs(session):\n     \"\"\"Build the docs for this library.\"\"\"\n", "issue": "Normalize nox / docs builds\n## `docgen`\r\n\r\n` `noxfile.py` contains a `docgen` session which, when run, delete's / overwrites some files in the `docs/reference` tree:\r\n\r\n```bash\r\n$ nox -re docgen\r\nnox > Running session docgen\r\nnox > Re-using existing virtual environment at .nox/docgen.\r\nnox > pip install flask freezegun mock oauth2client pyopenssl pytest pytest-cov pytest-localserver requests urllib3 cryptography responses grpcio\r\nnox > pip install sphinx\r\nnox > pip install .\r\nnox > rm -r docs/reference\r\nnox > Warning: rm is not installed into the virtualenv, it is located at /bin/rm. This might cause issues! Pass external=True into run() to silence this message.\r\nnox > sphinx-apidoc --output-dir docs/reference --separate --module-first google\r\nCreating file docs/reference/google.rst.\r\nCreating file docs/reference/google.auth.rst.\r\nCreating file docs/reference/google.auth.app_engine.rst.\r\nCreating file docs/reference/google.auth.credentials.rst.\r\nCreating file docs/reference/google.auth.environment_vars.rst.\r\nCreating file docs/reference/google.auth.exceptions.rst.\r\nCreating file docs/reference/google.auth.iam.rst.\r\nCreating file docs/reference/google.auth.impersonated_credentials.rst.\r\nCreating file docs/reference/google.auth.jwt.rst.\r\nCreating file docs/reference/google.auth.compute_engine.rst.\r\nCreating file docs/reference/google.auth.compute_engine.credentials.rst.\r\nCreating file docs/reference/google.auth.crypt.rst.\r\nCreating file docs/reference/google.auth.crypt.base.rst.\r\nCreating file docs/reference/google.auth.crypt.es256.rst.\r\nCreating file docs/reference/google.auth.crypt.rsa.rst.\r\nCreating file docs/reference/google.auth.transport.rst.\r\nCreating file docs/reference/google.auth.transport.grpc.rst.\r\nCreating file docs/reference/google.auth.transport.mtls.rst.\r\nCreating file docs/reference/google.auth.transport.requests.rst.\r\nCreating file docs/reference/google.auth.transport.urllib3.rst.\r\nCreating file docs/reference/google.oauth2.rst.\r\nCreating file docs/reference/google.oauth2.credentials.rst.\r\nCreating file docs/reference/google.oauth2.id_token.rst.\r\nCreating file docs/reference/google.oauth2.service_account.rst.\r\nCreating file docs/reference/modules.rst.\r\nnox > Session docgen was successful.\r\n[/home/tseaver/projects/agendaless/Google/src/google-auth] \r\n$ git stat\r\nOn branch master\r\nYour branch is up to date with 'origin/master'.\r\n\r\nChanges not staged for commit:\r\n  (use \"git add/rm <file>...\" to update what will be committed)\r\n  (use \"git checkout -- <file>...\" to discard changes in working directory)\r\n\r\n\tdeleted:    docs/reference/google.auth.credentials_async.rst\r\n\tdeleted:    docs/reference/google.auth.jwt_async.rst\r\n\tmodified:   docs/reference/google.auth.rst\r\n\tdeleted:    docs/reference/google.auth.transport.aiohttp_requests.rst\r\n\tmodified:   docs/reference/google.auth.transport.rst\r\n\tdeleted:    docs/reference/google.oauth2.credentials_async.rst\r\n\tmodified:   docs/reference/google.oauth2.rst\r\n\tdeleted:    docs/reference/google.oauth2.service_account_async.rst\r\n```\r\n\r\nI recommend that we delete this section, as a fossil of an approach we no longer mean to support.\r\n\r\n## `docs` session\r\n\r\nThe `docs` session triggers the build via `make` (and the `docs/Makefile`), rather than running `sphinx-build` directly as in other projects.  This choice is unique across all our projects, and means that we don't enforce\r\nthe same specs here (e.g., Sphinx warnings are not treated as errors).\r\n\r\nI recommend we delete the `docs/Makefile` and normalize the `docs` session, fixing any Sphinx warnings found.\n", "before_files": [{"content": "# Copyright 2019 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport os\nimport pathlib\nimport shutil\n\nimport nox\n\nCURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute()\n\nBLACK_VERSION = \"black==19.3b0\"\nBLACK_PATHS = [\n    \"google\",\n    \"tests\",\n    \"tests_async\",\n    \"noxfile.py\",\n    \"setup.py\",\n    \"docs/conf.py\",\n]\n\n\n@nox.session(python=\"3.7\")\ndef lint(session):\n    session.install(\"flake8\", \"flake8-import-order\", \"docutils\", BLACK_VERSION)\n    session.install(\"-e\", \".\")\n    session.run(\"black\", \"--check\", *BLACK_PATHS)\n    session.run(\n        \"flake8\",\n        \"--import-order-style=google\",\n        \"--application-import-names=google,tests,system_tests\",\n        \"google\",\n        \"tests\",\n        \"tests_async\",\n    )\n    session.run(\n        \"python\", \"setup.py\", \"check\", \"--metadata\", \"--restructuredtext\", \"--strict\"\n    )\n\n\n@nox.session(python=\"3.8\")\ndef blacken(session):\n    \"\"\"Run black.\n    Format code to uniform standard.\n    The Python version should be consistent with what is\n    supplied in the Python Owlbot postprocessor.\n\n    https://github.com/googleapis/synthtool/blob/master/docker/owlbot/python/Dockerfile\n    \"\"\"\n    session.install(BLACK_VERSION)\n    session.run(\"black\", *BLACK_PATHS)\n\n\n@nox.session(python=[\"3.6\", \"3.7\", \"3.8\", \"3.9\", \"3.10\"])\ndef unit(session):\n    constraints_path = str(\n        CURRENT_DIRECTORY / \"testing\" / f\"constraints-{session.python}.txt\"\n    )\n    session.install(\"-r\", \"testing/requirements.txt\", \"-c\", constraints_path)\n    session.install(\"-e\", \".\", \"-c\", constraints_path)\n    session.run(\n        \"pytest\",\n        f\"--junitxml=unit_{session.python}_sponge_log.xml\",\n        \"--cov=google.auth\",\n        \"--cov=google.oauth2\",\n        \"--cov=tests\",\n        \"--cov-report=term-missing\",\n        \"tests\",\n        \"tests_async\",\n    )\n\n\n@nox.session(python=[\"2.7\"])\ndef unit_prev_versions(session):\n    constraints_path = str(\n        CURRENT_DIRECTORY / \"testing\" / f\"constraints-{session.python}.txt\"\n    )\n    session.install(\"-r\", \"testing/requirements.txt\", \"-c\", constraints_path)\n    session.install(\"-e\", \".\", \"-c\", constraints_path)\n    session.run(\n        \"pytest\",\n        f\"--junitxml=unit_{session.python}_sponge_log.xml\",\n        \"--cov=google.auth\",\n        \"--cov=google.oauth2\",\n        \"--cov=tests\",\n        \"tests\",\n    )\n\n\n@nox.session(python=\"3.7\")\ndef cover(session):\n    session.install(\"-r\", \"testing/requirements.txt\")\n    session.install(\"-e\", \".\")\n    session.run(\n        \"pytest\",\n        \"--cov=google.auth\",\n        \"--cov=google.oauth2\",\n        \"--cov=tests\",\n        \"--cov=tests_async\",\n        \"--cov-report=term-missing\",\n        \"tests\",\n        \"tests_async\",\n    )\n    session.run(\"coverage\", \"report\", \"--show-missing\", \"--fail-under=100\")\n\n\n@nox.session(python=\"3.7\")\ndef docgen(session):\n    session.env[\"SPHINX_APIDOC_OPTIONS\"] = \"members,inherited-members,show-inheritance\"\n    session.install(\"-r\", \"testing/requirements.txt\")\n    session.install(\"sphinx\")\n    session.install(\"-e\", \".\")\n    session.run(\"rm\", \"-r\", \"docs/reference\")\n    session.run(\n        \"sphinx-apidoc\",\n        \"--output-dir\",\n        \"docs/reference\",\n        \"--separate\",\n        \"--module-first\",\n        \"google\",\n    )\n\n\n@nox.session(python=\"3.8\")\ndef docs(session):\n    \"\"\"Build the docs for this library.\"\"\"\n\n    session.install(\"-e\", \".[aiohttp]\")\n    session.install(\"sphinx\", \"alabaster\", \"recommonmark\", \"sphinx-docstring-typing\")\n\n    shutil.rmtree(os.path.join(\"docs\", \"_build\"), ignore_errors=True)\n    session.run(\n        \"sphinx-build\",\n        \"-T\",  # show full traceback on exception\n        \"-W\",  # warnings as errors\n        \"-N\",  # no colors\n        \"-b\",\n        \"html\",\n        \"-d\",\n        os.path.join(\"docs\", \"_build\", \"doctrees\", \"\"),\n        os.path.join(\"docs\", \"\"),\n        os.path.join(\"docs\", \"_build\", \"html\", \"\"),\n    )\n\n\n@nox.session(python=\"pypy\")\ndef pypy(session):\n    session.install(\"-r\", \"test/requirements.txt\")\n    session.install(\"-e\", \".\")\n    session.run(\n        \"pytest\",\n        f\"--junitxml=unit_{session.python}_sponge_log.xml\",\n        \"--cov=google.auth\",\n        \"--cov=google.oauth2\",\n        \"--cov=tests\",\n        \"tests\",\n        \"tests_async\",\n    )\n", "path": "noxfile.py"}], "after_files": [{"content": "# Copyright 2019 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport os\nimport pathlib\nimport shutil\n\nimport nox\n\nCURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute()\n\nBLACK_VERSION = \"black==19.3b0\"\nBLACK_PATHS = [\n    \"google\",\n    \"tests\",\n    \"tests_async\",\n    \"noxfile.py\",\n    \"setup.py\",\n    \"docs/conf.py\",\n]\n\n\n@nox.session(python=\"3.7\")\ndef lint(session):\n    session.install(\"flake8\", \"flake8-import-order\", \"docutils\", BLACK_VERSION)\n    session.install(\"-e\", \".\")\n    session.run(\"black\", \"--check\", *BLACK_PATHS)\n    session.run(\n        \"flake8\",\n        \"--import-order-style=google\",\n        \"--application-import-names=google,tests,system_tests\",\n        \"google\",\n        \"tests\",\n        \"tests_async\",\n    )\n    session.run(\n        \"python\", \"setup.py\", \"check\", \"--metadata\", \"--restructuredtext\", \"--strict\"\n    )\n\n\n@nox.session(python=\"3.8\")\ndef blacken(session):\n    \"\"\"Run black.\n    Format code to uniform standard.\n    The Python version should be consistent with what is\n    supplied in the Python Owlbot postprocessor.\n\n    https://github.com/googleapis/synthtool/blob/master/docker/owlbot/python/Dockerfile\n    \"\"\"\n    session.install(BLACK_VERSION)\n    session.run(\"black\", *BLACK_PATHS)\n\n\n@nox.session(python=[\"3.6\", \"3.7\", \"3.8\", \"3.9\", \"3.10\"])\ndef unit(session):\n    constraints_path = str(\n        CURRENT_DIRECTORY / \"testing\" / f\"constraints-{session.python}.txt\"\n    )\n    session.install(\"-r\", \"testing/requirements.txt\", \"-c\", constraints_path)\n    session.install(\"-e\", \".\", \"-c\", constraints_path)\n    session.run(\n        \"pytest\",\n        f\"--junitxml=unit_{session.python}_sponge_log.xml\",\n        \"--cov=google.auth\",\n        \"--cov=google.oauth2\",\n        \"--cov=tests\",\n        \"--cov-report=term-missing\",\n        \"tests\",\n        \"tests_async\",\n    )\n\n\n@nox.session(python=[\"2.7\"])\ndef unit_prev_versions(session):\n    constraints_path = str(\n        CURRENT_DIRECTORY / \"testing\" / f\"constraints-{session.python}.txt\"\n    )\n    session.install(\"-r\", \"testing/requirements.txt\", \"-c\", constraints_path)\n    session.install(\"-e\", \".\", \"-c\", constraints_path)\n    session.run(\n        \"pytest\",\n        f\"--junitxml=unit_{session.python}_sponge_log.xml\",\n        \"--cov=google.auth\",\n        \"--cov=google.oauth2\",\n        \"--cov=tests\",\n        \"tests\",\n    )\n\n\n@nox.session(python=\"3.7\")\ndef cover(session):\n    session.install(\"-r\", \"testing/requirements.txt\")\n    session.install(\"-e\", \".\")\n    session.run(\n        \"pytest\",\n        \"--cov=google.auth\",\n        \"--cov=google.oauth2\",\n        \"--cov=tests\",\n        \"--cov=tests_async\",\n        \"--cov-report=term-missing\",\n        \"tests\",\n        \"tests_async\",\n    )\n    session.run(\"coverage\", \"report\", \"--show-missing\", \"--fail-under=100\")\n\n\n@nox.session(python=\"3.8\")\ndef docs(session):\n    \"\"\"Build the docs for this library.\"\"\"\n\n    session.install(\"-e\", \".[aiohttp]\")\n    session.install(\"sphinx\", \"alabaster\", \"recommonmark\", \"sphinx-docstring-typing\")\n\n    shutil.rmtree(os.path.join(\"docs\", \"_build\"), ignore_errors=True)\n    session.run(\n        \"sphinx-build\",\n        \"-T\",  # show full traceback on exception\n        \"-W\",  # warnings as errors\n        \"-N\",  # no colors\n        \"-b\",\n        \"html\",\n        \"-d\",\n        os.path.join(\"docs\", \"_build\", \"doctrees\", \"\"),\n        os.path.join(\"docs\", \"\"),\n        os.path.join(\"docs\", \"_build\", \"html\", \"\"),\n    )\n\n\n@nox.session(python=\"pypy\")\ndef pypy(session):\n    session.install(\"-r\", \"test/requirements.txt\")\n    session.install(\"-e\", \".\")\n    session.run(\n        \"pytest\",\n        f\"--junitxml=unit_{session.python}_sponge_log.xml\",\n        \"--cov=google.auth\",\n        \"--cov=google.oauth2\",\n        \"--cov=tests\",\n        \"tests\",\n        \"tests_async\",\n    )\n", "path": "noxfile.py"}]}