We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
BigQuery Storage: Add more in-depth system tests covering all data formats and field data types
**Simple functional tests**

- [ ] Simple correctness: create a table with some initial data, create a read session over the table, and verify that the expected number of rows is returned.
- [ ] Filtering: create a table with some initial data, create a read session over the table with a push-down filter which excludes some data, and verify that the expected number of rows is returned. (Avro-only)
- [ ] Column selection: create a table with some initial data, create a read session over the table with a list of columns specified, and verify that the expected columns and rows are returned.
- [ ] Snapshot test: create a table with some initial data, load some additional data as a separate step, create a read session using the timestamp of the initial load, read the data, and verify that the initial data is returned and the additional data is not returned. (Avro-only)
- [ ] Column-partitioned table test: create a column-partitioned table, read from the table with a partition filter specified, and verify that only the expected data is returned. (Avro-only)
- [ ] Naturally-partitioned table test: create a date-partitioned table, read from the table with a partition filter specified, and verify that only the expected data is returned.
- [ ] Data decoding: create a table with at least one field of each type supported by BigQuery -- including numeric, geographic, etc. -- and verify that the fields are decoded successfully.
- [ ] Resuming a read at an offset. For example, we can have some using the Shakespeare samples table which reads half-way and then resumes.

Many of these tests can be implemented using a pre-created sample table if appropriate -- tests a, b, and c use the Shakespeare samples table in our internal tests, for example.

**Long-running tests**

- [ ] ~Open a set of streams in parallel and read the full contents of a large table -- our google3 internal equivalent uses the Wikipedia sample table (which is about 35GB in size) and runs for between 10 and 20 minutes. This test should detect issues with long-running streams and, over time, should eventually add coverage for transparent stream resumption in Java and Python.~ [swast] I don't think we want to block client presubmits with a 10-to-20 minute system test. I'll work with @shollyman and the backend team to figure out a more appropriate home for these long-running tests.

This was originally filed internally as bug 133243219.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `bigquery_storage/noxfile.py`
Content:
```
1 # -*- coding: utf-8 -*-
2 #
3 # Copyright 2018 Google LLC
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #     https://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 
17 # Generated by synthtool. DO NOT EDIT!
18 
19 from __future__ import absolute_import
20 import os
21 import shutil
22 
23 import nox
24 
25 
26 LOCAL_DEPS = (os.path.join("..", "api_core"), os.path.join("..", "core"))
27 BLACK_VERSION = "black==19.3b0"
28 BLACK_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"]
29 
30 if os.path.exists("samples"):
31     BLACK_PATHS.append("samples")
32 
33 
34 @nox.session(python="3.7")
35 def lint(session):
36     """Run linters.
37 
38     Returns a failure if the linters find linting errors or sufficiently
39     serious code quality issues.
40     """
41     session.install("flake8", BLACK_VERSION, *LOCAL_DEPS)
42     session.run("black", "--check", *BLACK_PATHS)
43     session.run("flake8", "google", "tests")
44 
45 
46 @nox.session(python="3.6")
47 def blacken(session):
48     """Run black.
49 
50     Format code to uniform standard.
51 
52     This currently uses Python 3.6 due to the automated Kokoro run of synthtool.
53     That run uses an image that doesn't have 3.6 installed. Before updating this
54     check the state of the `gcp_ubuntu_config` we use for that Kokoro run.
55     """
56     session.install(BLACK_VERSION)
57     session.run("black", *BLACK_PATHS)
58 
59 
60 @nox.session(python="3.7")
61 def lint_setup_py(session):
62     """Verify that setup.py is valid (including RST check)."""
63     session.install("docutils", "pygments")
64     session.run("python", "setup.py", "check", "--restructuredtext", "--strict")
65 
66 
67 def default(session):
68     # Install all test dependencies, then install this package in-place.
69     session.install("mock", "pytest", "pytest-cov")
70     for local_dep in LOCAL_DEPS:
71         session.install("-e", local_dep)
72     session.install("-e", ".")
73     session.install("-e", ".[fastavro,pandas,pyarrow]")
74 
75     # Run py.test against the unit tests.
76     session.run(
77         "py.test",
78         "--quiet",
79         "--cov=google.cloud",
80         "--cov=tests.unit",
81         "--cov-append",
82         "--cov-config=.coveragerc",
83         "--cov-report=",
84         "--cov-fail-under=0",
85         os.path.join("tests", "unit"),
86         *session.posargs,
87     )
88 
89 
90 @nox.session(python=["2.7", "3.5", "3.6", "3.7"])
91 def unit(session):
92     """Run the unit test suite."""
93     default(session)
94 
95 
96 @nox.session(python=["2.7", "3.7"])
97 def system(session):
98     """Run the system test suite."""
99     system_test_path = os.path.join("tests", "system.py")
100     system_test_folder_path = os.path.join("tests", "system")
101     # Sanity check: Only run tests if the environment variable is set.
102     if not os.environ.get("GOOGLE_APPLICATION_CREDENTIALS", ""):
103         session.skip("Credentials must be set via environment variable")
104 
105     system_test_exists = os.path.exists(system_test_path)
106     system_test_folder_exists = os.path.exists(system_test_folder_path)
107     # Sanity check: only run tests if found.
108     if not system_test_exists and not system_test_folder_exists:
109         session.skip("System tests were not found")
110 
111     # Use pre-release gRPC for system tests.
112     session.install("--pre", "grpcio")
113 
114     # Install all test dependencies, then install this package into the
115     # virtualenv's dist-packages.
116     session.install("mock", "pytest")
117     for local_dep in LOCAL_DEPS:
118         session.install("-e", local_dep)
119     session.install("-e", "../test_utils/")
120     session.install("-e", ".[fastavro,pandas,pyarrow]")
121     session.install("-e", ".")
122 
123     # Run py.test against the system tests.
124     if system_test_exists:
125         session.run("py.test", "--quiet", system_test_path, *session.posargs)
126     if system_test_folder_exists:
127         session.run("py.test", "--quiet", system_test_folder_path, *session.posargs)
128 
129 
130 @nox.session(python=["2.7", "3.7"])
131 def samples(session):
132     requirements_path = os.path.join("samples", "requirements.txt")
133     requirements_exists = os.path.exists(requirements_path)
134 
135     # Sanity check: Only run tests if the environment variable is set.
136     if not os.environ.get("GOOGLE_APPLICATION_CREDENTIALS", ""):
137         session.skip("Credentials must be set via environment variable")
138 
139     session.install("mock", "pytest")
140     for local_dep in LOCAL_DEPS:
141         session.install("-e", local_dep)
142     if requirements_exists:
143         session.install("-r", requirements_path)
144     session.install("-e", ".")
145 
146     session.run("py.test", "--quiet", "samples", *session.posargs)
147 
148 
149 @nox.session(python="3.7")
150 def cover(session):
151     """Run the final coverage report.
152 
153     This outputs the coverage report aggregating coverage from the unit
154     test runs (not system test runs), and then erases coverage data.
155     """
156     session.install("coverage", "pytest-cov")
157     session.run("coverage", "report", "--show-missing", "--fail-under=79")
158 
159     session.run("coverage", "erase")
160 
161 
162 @nox.session(python="3.7")
163 def docs(session):
164     """Build the docs for this library."""
165 
166     session.install("-e", ".")
167     session.install("sphinx", "alabaster", "recommonmark")
168 
169     shutil.rmtree(os.path.join("docs", "_build"), ignore_errors=True)
170     session.run(
171         "sphinx-build",
172         "-W",  # warnings as errors
173         "-T",  # show full traceback on exception
174         "-N",  # no colors
175         "-b",
176         "html",
177         "-d",
178         os.path.join("docs", "_build", "doctrees", ""),
179         os.path.join("docs", ""),
180         os.path.join("docs", "_build", "html", ""),
181     )
182
```
--- 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/bigquery_storage/noxfile.py b/bigquery_storage/noxfile.py
--- a/bigquery_storage/noxfile.py
+++ b/bigquery_storage/noxfile.py
@@ -118,6 +118,7 @@
         session.install("-e", local_dep)
     session.install("-e", "../test_utils/")
     session.install("-e", ".[fastavro,pandas,pyarrow]")
+    session.install("-e", "../bigquery/")
     session.install("-e", ".")
 
     # Run py.test against the system tests.

{"golden_diff": "diff --git a/bigquery_storage/noxfile.py b/bigquery_storage/noxfile.py\n--- a/bigquery_storage/noxfile.py\n+++ b/bigquery_storage/noxfile.py\n@@ -118,6 +118,7 @@\n         session.install(\"-e\", local_dep)\n     session.install(\"-e\", \"../test_utils/\")\n     session.install(\"-e\", \".[fastavro,pandas,pyarrow]\")\n+    session.install(\"-e\", \"../bigquery/\")\n     session.install(\"-e\", \".\")\n \n     # Run py.test against the system tests.\n", "issue": "BigQuery Storage: Add more in-depth system tests covering all data formats and field data types\n**Simple functional tests**\r\n\r\n- [ ] Simple correctness: create a table with some initial data, create a read session over the table, and verify that the expected number of rows is returned.\r\n- [ ] Filtering: create a table with some initial data, create a read session over the table with a push-down filter which excludes some data, and verify that the expected number of rows is returned. (Avro-only)\r\n- [ ] Column selection: create a table with some initial data, create a read session over the table with a list of columns specified, and verify that the expected columns and rows are returned.\r\n- [ ] Snapshot test: create a table with some initial data, load some additional data as a separate step, create a read session using the timestamp of the initial load, read the data, and verify that the initial data is returned and the additional data is not returned. (Avro-only)\r\n- [ ] Column-partitioned table test: create a column-partitioned table, read from the table with a partition filter specified, and verify that only the expected data is returned. (Avro-only)\r\n- [ ] Naturally-partitioned table test: create a date-partitioned table, read from the table with a partition filter specified, and verify that only the expected data is returned.\r\n- [ ] Data decoding: create a table with at least one field of each type supported by BigQuery -- including numeric, geographic, etc. -- and verify that the fields are decoded successfully.\r\n- [ ] Resuming a read at an offset. For example, we can have some using the Shakespeare samples table which reads half-way and then resumes.\r\n\r\nMany of these tests can be implemented using a pre-created sample table if appropriate -- tests a, b, and c use the Shakespeare samples table in our internal tests, for example.\r\n\r\n**Long-running tests**\r\n\r\n- [ ] ~Open a set of streams in parallel and read the full contents of a large table -- our google3 internal equivalent uses the Wikipedia sample table (which is about 35GB in size) and runs for between 10 and 20 minutes. This test should detect issues with long-running streams and, over time, should eventually add coverage for transparent stream resumption in Java and Python.~ [swast] I don't think we want to block client presubmits with a 10-to-20 minute system test. I'll work with @shollyman and the backend team to figure out a more appropriate home for these long-running tests.\r\n\r\nThis was originally filed internally as bug 133243219.\n", "before_files": [{"content": "# -*- coding: utf-8 -*-\n#\n# Copyright 2018 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#     https://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\n# Generated by synthtool. DO NOT EDIT!\n\nfrom __future__ import absolute_import\nimport os\nimport shutil\n\nimport nox\n\n\nLOCAL_DEPS = (os.path.join(\"..\", \"api_core\"), os.path.join(\"..\", \"core\"))\nBLACK_VERSION = \"black==19.3b0\"\nBLACK_PATHS = [\"docs\", \"google\", \"tests\", \"noxfile.py\", \"setup.py\"]\n\nif os.path.exists(\"samples\"):\n    BLACK_PATHS.append(\"samples\")\n\n\n@nox.session(python=\"3.7\")\ndef lint(session):\n    \"\"\"Run linters.\n\n    Returns a failure if the linters find linting errors or sufficiently\n    serious code quality issues.\n    \"\"\"\n    session.install(\"flake8\", BLACK_VERSION, *LOCAL_DEPS)\n    session.run(\"black\", \"--check\", *BLACK_PATHS)\n    session.run(\"flake8\", \"google\", \"tests\")\n\n\n@nox.session(python=\"3.6\")\ndef blacken(session):\n    \"\"\"Run black.\n\n    Format code to uniform standard.\n\n    This currently uses Python 3.6 due to the automated Kokoro run of synthtool.\n    That run uses an image that doesn't have 3.6 installed. Before updating this\n    check the state of the `gcp_ubuntu_config` we use for that Kokoro run.\n    \"\"\"\n    session.install(BLACK_VERSION)\n    session.run(\"black\", *BLACK_PATHS)\n\n\n@nox.session(python=\"3.7\")\ndef lint_setup_py(session):\n    \"\"\"Verify that setup.py is valid (including RST check).\"\"\"\n    session.install(\"docutils\", \"pygments\")\n    session.run(\"python\", \"setup.py\", \"check\", \"--restructuredtext\", \"--strict\")\n\n\ndef default(session):\n    # Install all test dependencies, then install this package in-place.\n    session.install(\"mock\", \"pytest\", \"pytest-cov\")\n    for local_dep in LOCAL_DEPS:\n        session.install(\"-e\", local_dep)\n    session.install(\"-e\", \".\")\n    session.install(\"-e\", \".[fastavro,pandas,pyarrow]\")\n\n    # Run py.test against the unit tests.\n    session.run(\n        \"py.test\",\n        \"--quiet\",\n        \"--cov=google.cloud\",\n        \"--cov=tests.unit\",\n        \"--cov-append\",\n        \"--cov-config=.coveragerc\",\n        \"--cov-report=\",\n        \"--cov-fail-under=0\",\n        os.path.join(\"tests\", \"unit\"),\n        *session.posargs,\n    )\n\n\n@nox.session(python=[\"2.7\", \"3.5\", \"3.6\", \"3.7\"])\ndef unit(session):\n    \"\"\"Run the unit test suite.\"\"\"\n    default(session)\n\n\n@nox.session(python=[\"2.7\", \"3.7\"])\ndef system(session):\n    \"\"\"Run the system test suite.\"\"\"\n    system_test_path = os.path.join(\"tests\", \"system.py\")\n    system_test_folder_path = os.path.join(\"tests\", \"system\")\n    # Sanity check: Only run tests if the environment variable is set.\n    if not os.environ.get(\"GOOGLE_APPLICATION_CREDENTIALS\", \"\"):\n        session.skip(\"Credentials must be set via environment variable\")\n\n    system_test_exists = os.path.exists(system_test_path)\n    system_test_folder_exists = os.path.exists(system_test_folder_path)\n    # Sanity check: only run tests if found.\n    if not system_test_exists and not system_test_folder_exists:\n        session.skip(\"System tests were not found\")\n\n    # Use pre-release gRPC for system tests.\n    session.install(\"--pre\", \"grpcio\")\n\n    # Install all test dependencies, then install this package into the\n    # virtualenv's dist-packages.\n    session.install(\"mock\", \"pytest\")\n    for local_dep in LOCAL_DEPS:\n        session.install(\"-e\", local_dep)\n    session.install(\"-e\", \"../test_utils/\")\n    session.install(\"-e\", \".[fastavro,pandas,pyarrow]\")\n    session.install(\"-e\", \".\")\n\n    # Run py.test against the system tests.\n    if system_test_exists:\n        session.run(\"py.test\", \"--quiet\", system_test_path, *session.posargs)\n    if system_test_folder_exists:\n        session.run(\"py.test\", \"--quiet\", system_test_folder_path, *session.posargs)\n\n\n@nox.session(python=[\"2.7\", \"3.7\"])\ndef samples(session):\n    requirements_path = os.path.join(\"samples\", \"requirements.txt\")\n    requirements_exists = os.path.exists(requirements_path)\n\n    # Sanity check: Only run tests if the environment variable is set.\n    if not os.environ.get(\"GOOGLE_APPLICATION_CREDENTIALS\", \"\"):\n        session.skip(\"Credentials must be set via environment variable\")\n\n    session.install(\"mock\", \"pytest\")\n    for local_dep in LOCAL_DEPS:\n        session.install(\"-e\", local_dep)\n    if requirements_exists:\n        session.install(\"-r\", requirements_path)\n    session.install(\"-e\", \".\")\n\n    session.run(\"py.test\", \"--quiet\", \"samples\", *session.posargs)\n\n\n@nox.session(python=\"3.7\")\ndef cover(session):\n    \"\"\"Run the final coverage report.\n\n    This outputs the coverage report aggregating coverage from the unit\n    test runs (not system test runs), and then erases coverage data.\n    \"\"\"\n    session.install(\"coverage\", \"pytest-cov\")\n    session.run(\"coverage\", \"report\", \"--show-missing\", \"--fail-under=79\")\n\n    session.run(\"coverage\", \"erase\")\n\n\n@nox.session(python=\"3.7\")\ndef docs(session):\n    \"\"\"Build the docs for this library.\"\"\"\n\n    session.install(\"-e\", \".\")\n    session.install(\"sphinx\", \"alabaster\", \"recommonmark\")\n\n    shutil.rmtree(os.path.join(\"docs\", \"_build\"), ignore_errors=True)\n    session.run(\n        \"sphinx-build\",\n        \"-W\",  # warnings as errors\n        \"-T\",  # show full traceback on exception\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", "path": "bigquery_storage/noxfile.py"}], "after_files": [{"content": "# -*- coding: utf-8 -*-\n#\n# Copyright 2018 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#     https://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\n# Generated by synthtool. DO NOT EDIT!\n\nfrom __future__ import absolute_import\nimport os\nimport shutil\n\nimport nox\n\n\nLOCAL_DEPS = (os.path.join(\"..\", \"api_core\"), os.path.join(\"..\", \"core\"))\nBLACK_VERSION = \"black==19.3b0\"\nBLACK_PATHS = [\"docs\", \"google\", \"tests\", \"noxfile.py\", \"setup.py\"]\n\nif os.path.exists(\"samples\"):\n    BLACK_PATHS.append(\"samples\")\n\n\n@nox.session(python=\"3.7\")\ndef lint(session):\n    \"\"\"Run linters.\n\n    Returns a failure if the linters find linting errors or sufficiently\n    serious code quality issues.\n    \"\"\"\n    session.install(\"flake8\", BLACK_VERSION, *LOCAL_DEPS)\n    session.run(\"black\", \"--check\", *BLACK_PATHS)\n    session.run(\"flake8\", \"google\", \"tests\")\n\n\n@nox.session(python=\"3.6\")\ndef blacken(session):\n    \"\"\"Run black.\n\n    Format code to uniform standard.\n\n    This currently uses Python 3.6 due to the automated Kokoro run of synthtool.\n    That run uses an image that doesn't have 3.6 installed. Before updating this\n    check the state of the `gcp_ubuntu_config` we use for that Kokoro run.\n    \"\"\"\n    session.install(BLACK_VERSION)\n    session.run(\"black\", *BLACK_PATHS)\n\n\n@nox.session(python=\"3.7\")\ndef lint_setup_py(session):\n    \"\"\"Verify that setup.py is valid (including RST check).\"\"\"\n    session.install(\"docutils\", \"pygments\")\n    session.run(\"python\", \"setup.py\", \"check\", \"--restructuredtext\", \"--strict\")\n\n\ndef default(session):\n    # Install all test dependencies, then install this package in-place.\n    session.install(\"mock\", \"pytest\", \"pytest-cov\")\n    for local_dep in LOCAL_DEPS:\n        session.install(\"-e\", local_dep)\n    session.install(\"-e\", \".\")\n    session.install(\"-e\", \".[fastavro,pandas,pyarrow]\")\n\n    # Run py.test against the unit tests.\n    session.run(\n        \"py.test\",\n        \"--quiet\",\n        \"--cov=google.cloud\",\n        \"--cov=tests.unit\",\n        \"--cov-append\",\n        \"--cov-config=.coveragerc\",\n        \"--cov-report=\",\n        \"--cov-fail-under=0\",\n        os.path.join(\"tests\", \"unit\"),\n        *session.posargs,\n    )\n\n\n@nox.session(python=[\"2.7\", \"3.5\", \"3.6\", \"3.7\"])\ndef unit(session):\n    \"\"\"Run the unit test suite.\"\"\"\n    default(session)\n\n\n@nox.session(python=[\"2.7\", \"3.7\"])\ndef system(session):\n    \"\"\"Run the system test suite.\"\"\"\n    system_test_path = os.path.join(\"tests\", \"system.py\")\n    system_test_folder_path = os.path.join(\"tests\", \"system\")\n    # Sanity check: Only run tests if the environment variable is set.\n    if not os.environ.get(\"GOOGLE_APPLICATION_CREDENTIALS\", \"\"):\n        session.skip(\"Credentials must be set via environment variable\")\n\n    system_test_exists = os.path.exists(system_test_path)\n    system_test_folder_exists = os.path.exists(system_test_folder_path)\n    # Sanity check: only run tests if found.\n    if not system_test_exists and not system_test_folder_exists:\n        session.skip(\"System tests were not found\")\n\n    # Use pre-release gRPC for system tests.\n    session.install(\"--pre\", \"grpcio\")\n\n    # Install all test dependencies, then install this package into the\n    # virtualenv's dist-packages.\n    session.install(\"mock\", \"pytest\")\n    for local_dep in LOCAL_DEPS:\n        session.install(\"-e\", local_dep)\n    session.install(\"-e\", \"../test_utils/\")\n    session.install(\"-e\", \".[fastavro,pandas,pyarrow]\")\n    session.install(\"-e\", \"../bigquery/\")\n    session.install(\"-e\", \".\")\n\n    # Run py.test against the system tests.\n    if system_test_exists:\n        session.run(\"py.test\", \"--quiet\", system_test_path, *session.posargs)\n    if system_test_folder_exists:\n        session.run(\"py.test\", \"--quiet\", system_test_folder_path, *session.posargs)\n\n\n@nox.session(python=[\"2.7\", \"3.7\"])\ndef samples(session):\n    requirements_path = os.path.join(\"samples\", \"requirements.txt\")\n    requirements_exists = os.path.exists(requirements_path)\n\n    # Sanity check: Only run tests if the environment variable is set.\n    if not os.environ.get(\"GOOGLE_APPLICATION_CREDENTIALS\", \"\"):\n        session.skip(\"Credentials must be set via environment variable\")\n\n    session.install(\"mock\", \"pytest\")\n    for local_dep in LOCAL_DEPS:\n        session.install(\"-e\", local_dep)\n    if requirements_exists:\n        session.install(\"-r\", requirements_path)\n    session.install(\"-e\", \".\")\n\n    session.run(\"py.test\", \"--quiet\", \"samples\", *session.posargs)\n\n\n@nox.session(python=\"3.7\")\ndef cover(session):\n    \"\"\"Run the final coverage report.\n\n    This outputs the coverage report aggregating coverage from the unit\n    test runs (not system test runs), and then erases coverage data.\n    \"\"\"\n    session.install(\"coverage\", \"pytest-cov\")\n    session.run(\"coverage\", \"report\", \"--show-missing\", \"--fail-under=79\")\n\n    session.run(\"coverage\", \"erase\")\n\n\n@nox.session(python=\"3.7\")\ndef docs(session):\n    \"\"\"Build the docs for this library.\"\"\"\n\n    session.install(\"-e\", \".\")\n    session.install(\"sphinx\", \"alabaster\", \"recommonmark\")\n\n    shutil.rmtree(os.path.join(\"docs\", \"_build\"), ignore_errors=True)\n    session.run(\n        \"sphinx-build\",\n        \"-W\",  # warnings as errors\n        \"-T\",  # show full traceback on exception\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", "path": "bigquery_storage/noxfile.py"}]}