This repository was archived by the owner on Mar 31, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 104
This repository was archived by the owner on Mar 31, 2026. It is now read-only.
Split out system tests into separate Kokoro job #478
Copy link
Copy link
Closed
Labels
api: spannerIssues related to the googleapis/python-spanner API.Issues related to the googleapis/python-spanner API.type: processA process-related concern. May include testing, release, or the like.A process-related concern. May include testing, release, or the like.
Description
Working to reduce CI latency. Here are timings on my local machine (note the pre-run with --install-only to avoid measuring virtualenv creation time):
$ for job in $(nox --list | grep "^\*" | cut -d " " -f 2); do
echo "============
$job
============"
nox -e $job --install-only
time nox -re $job
done
============
lint
============
nox > Running session lint
nox > Creating virtual environment (virtualenv) using python3.8 in .nox/lint
nox > python -m pip install flake8 black==19.10b0
nox > Skipping black run, as --install-only is set.
nox > Skipping flake8 run, as --install-only is set.
nox > Session lint was successful.
nox > Running session lint
nox > Re-using existing virtual environment at .nox/lint.
nox > python -m pip install flake8 black==19.10b0
nox > black --check docs google tests noxfile.py setup.py
All done! ✨ 🍰 ✨
130 files would be left unchanged.
nox > flake8 google tests
nox > Session lint was successful.
real 0m5.194s
user 0m18.345s
sys 0m0.317s
============
blacken
============
nox > Running session blacken
nox > Creating virtual environment (virtualenv) using python3.8 in .nox/blacken
nox > python -m pip install black==19.10b0
nox > Skipping black run, as --install-only is set.
nox > Session blacken was successful.
nox > Running session blacken
nox > Re-using existing virtual environment at .nox/blacken.
nox > python -m pip install black==19.10b0
nox > black docs google tests noxfile.py setup.py
All done! ✨ 🍰 ✨
130 files left unchanged.
nox > Session blacken was successful.
real 0m0.944s
user 0m0.858s
sys 0m0.089s
============
lint_setup_py
============
nox > Running session lint_setup_py
nox > Creating virtual environment (virtualenv) using python3.8 in .nox/lint_setup_py
nox > python -m pip install docutils pygments
nox > Skipping python run, as --install-only is set.
nox > Session lint_setup_py was successful.
nox > Running session lint_setup_py
nox > Re-using existing virtual environment at .nox/lint_setup_py.
nox > python -m pip install docutils pygments
nox > python setup.py check --restructuredtext --strict
running check
nox > Session lint_setup_py was successful.
real 0m1.227s
user 0m1.081s
sys 0m0.144s
============
unit-3.6
============
nox > Running session unit-3.6
nox > Creating virtual environment (virtualenv) using python3.6 in .nox/unit-3-6
nox > python -m pip install asyncmock pytest-asyncio -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.6.txt
nox > python -m pip install mock pytest pytest-cov -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.6.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.6.txt
nox > Skipping py.test run, as --install-only is set.
nox > python -m pip install -e .[tracing] -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.6.txt
nox > Skipping py.test run, as --install-only is set.
nox > Session unit-3.6 was successful.
nox > Running session unit-3.6
nox > Re-using existing virtual environment at .nox/unit-3-6.
nox > python -m pip install asyncmock pytest-asyncio -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.6.txt
nox > python -m pip install mock pytest pytest-cov -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.6.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.6.txt
nox > py.test --quiet --cov=google.cloud.spanner --cov=google.cloud --cov=tests.unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests/unit
........................................................................ [ 5%]
........................................................................ [ 10%]
........................................................................ [ 15%]
........................................................................ [ 20%]
........................................................................ [ 25%]
........................................................................ [ 30%]
........................................................................ [ 35%]
........................................................................ [ 40%]
........................................................................ [ 45%]
........................................................................ [ 50%]
........................................................................ [ 55%]
........................................................................ [ 60%]
......s..s..ss.......................................................... [ 65%]
........................................................................ [ 70%]
......................................................s..s..ss.......... [ 75%]
........................................................................ [ 80%]
........................................................................ [ 85%]
............................................s..s..ss.................... [ 90%]
........................................................................ [ 95%]
.......................................................... [100%]Coverage.py warning: Module google.cloud was previously imported, but not measured (module-not-measured)
1414 passed, 12 skipped in 30.37s
nox > python -m pip install -e .[tracing] -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.6.txt
nox > py.test --quiet --cov=google.cloud.spanner --cov=google.cloud --cov=tests.unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests/unit
........................................................................ [ 5%]
........................................................................ [ 10%]
........................................................................ [ 15%]
........................................................................ [ 20%]
........................................................................ [ 25%]
........................................................................ [ 30%]
........................................................................ [ 35%]
........................................................................ [ 40%]
........................................................................ [ 45%]
........................................................................ [ 50%]
........................................................................ [ 55%]
........................................................................ [ 60%]
......s..s..ss.......................................................... [ 65%]
........................................................................ [ 70%]
......................................................s..s..ss.......... [ 75%]
........................................................................ [ 80%]
........................................................................ [ 85%]
............................................s..s..ss.................... [ 90%]
........................................................................ [ 95%]
.......................................................... [100%]Coverage.py warning: Module google.cloud was previously imported, but not measured (module-not-measured)
1414 passed, 12 skipped in 28.16s
nox > Session unit-3.6 was successful.
real 1m5.999s
user 0m48.902s
sys 0m1.242s
============
unit-3.7
============
nox > Running session unit-3.7
nox > Creating virtual environment (virtualenv) using python3.7 in .nox/unit-3-7
nox > python -m pip install asyncmock pytest-asyncio -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.7.txt
nox > python -m pip install mock pytest pytest-cov -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.7.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.7.txt
nox > Skipping py.test run, as --install-only is set.
nox > python -m pip install -e .[tracing] -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.7.txt
nox > Skipping py.test run, as --install-only is set.
nox > Session unit-3.7 was successful.
nox > Running session unit-3.7
nox > Re-using existing virtual environment at .nox/unit-3-7.
nox > python -m pip install asyncmock pytest-asyncio -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.7.txt
nox > python -m pip install mock pytest pytest-cov -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.7.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.7.txt
nox > py.test --quiet --cov=google.cloud.spanner --cov=google.cloud --cov=tests.unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests/unit
........................................................................ [ 5%]
........................................................................ [ 10%]
........................................................................ [ 15%]
........................................................................ [ 20%]
........................................................................ [ 25%]
........................................................................ [ 30%]
........................................................................ [ 35%]
........................................................................ [ 40%]
........................................................................ [ 45%]
........................................................................ [ 50%]
........................................................................ [ 55%]
........................................................................ [ 60%]
......s..s..ss.......................................................... [ 65%]
........................................................................ [ 70%]
......................................................s..s..ss.......... [ 75%]
........................................................................ [ 80%]
........................................................................ [ 85%]
............................................s..s..ss.................... [ 90%]
........................................................................ [ 95%]
.......................................................... [100%]Coverage.py warning: Module google.cloud was previously imported, but not measured (module-not-measured)
1414 passed, 12 skipped in 28.89s
nox > python -m pip install -e .[tracing] -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.7.txt
nox > py.test --quiet --cov=google.cloud.spanner --cov=google.cloud --cov=tests.unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests/unit
........................................................................ [ 5%]
........................................................................ [ 10%]
........................................................................ [ 15%]
........................................................................ [ 20%]
........................................................................ [ 25%]
........................................................................ [ 30%]
........................................................................ [ 35%]
........................................................................ [ 40%]
........................................................................ [ 45%]
........................................................................ [ 50%]
........................................................................ [ 55%]
........................................................................ [ 60%]
......s..s..ss.......................................................... [ 65%]
........................................................................ [ 70%]
......................................................s..s..ss.......... [ 75%]
........................................................................ [ 80%]
........................................................................ [ 85%]
............................................s..s..ss.................... [ 90%]
........................................................................ [ 95%]
.......................................................... [100%]Coverage.py warning: Module google.cloud was previously imported, but not measured (module-not-measured)
1414 passed, 12 skipped in 25.80s
nox > Session unit-3.7 was successful.
real 1m0.888s
user 0m44.483s
sys 0m1.257s
============
unit-3.8
============
nox > Running session unit-3.8
nox > Creating virtual environment (virtualenv) using python3.8 in .nox/unit-3-8
nox > python -m pip install asyncmock pytest-asyncio -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.8.txt
nox > python -m pip install mock pytest pytest-cov -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.8.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.8.txt
nox > Skipping py.test run, as --install-only is set.
nox > python -m pip install -e .[tracing] -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.8.txt
nox > Skipping py.test run, as --install-only is set.
nox > Session unit-3.8 was successful.
nox > Running session unit-3.8
nox > Re-using existing virtual environment at .nox/unit-3-8.
nox > python -m pip install asyncmock pytest-asyncio -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.8.txt
nox > python -m pip install mock pytest pytest-cov -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.8.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.8.txt
nox > py.test --quiet --cov=google.cloud.spanner --cov=google.cloud --cov=tests.unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests/unit
........................................................................ [ 5%]
........................................................................ [ 10%]
........................................................................ [ 15%]
........................................................................ [ 20%]
........................................................................ [ 25%]
........................................................................ [ 30%]
........................................................................ [ 35%]
........................................................................ [ 40%]
........................................................................ [ 45%]
........................................................................ [ 50%]
........................................................................ [ 55%]
........................................................................ [ 60%]
......s..s..ss.......................................................... [ 65%]
........................................................................ [ 70%]
......................................................s..s..ss.......... [ 75%]
........................................................................ [ 80%]
........................................................................ [ 85%]
............................................s..s..ss.................... [ 90%]
........................................................................ [ 95%]
.......................................................... [100%]Coverage.py warning: Module google.cloud was previously imported, but not measured (module-not-measured)
1414 passed, 12 skipped in 27.34s
nox > python -m pip install -e .[tracing] -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.8.txt
nox > py.test --quiet --cov=google.cloud.spanner --cov=google.cloud --cov=tests.unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests/unit
........................................................................ [ 5%]
........................................................................ [ 10%]
........................................................................ [ 15%]
........................................................................ [ 20%]
........................................................................ [ 25%]
........................................................................ [ 30%]
........................................................................ [ 35%]
........................................................................ [ 40%]
........................................................................ [ 45%]
........................................................................ [ 50%]
........................................................................ [ 55%]
........................................................................ [ 60%]
......s..s..ss.......................................................... [ 65%]
........................................................................ [ 70%]
......................................................s..s..ss.......... [ 75%]
........................................................................ [ 80%]
........................................................................ [ 85%]
............................................s..s..ss.................... [ 90%]
........................................................................ [ 95%]
.......................................................... [100%]Coverage.py warning: Module google.cloud was previously imported, but not measured (module-not-measured)
1414 passed, 12 skipped in 26.64s
nox > Session unit-3.8 was successful.
real 0m59.975s
user 0m43.409s
sys 0m1.194s
============
unit-3.9
============
nox > Running session unit-3.9
nox > Creating virtual environment (virtualenv) using python3.9 in .nox/unit-3-9
nox > python -m pip install asyncmock pytest-asyncio -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.9.txt
nox > python -m pip install mock pytest pytest-cov -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.9.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.9.txt
nox > Skipping py.test run, as --install-only is set.
nox > python -m pip install -e .[tracing] -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.9.txt
nox > Skipping py.test run, as --install-only is set.
nox > Session unit-3.9 was successful.
nox > Running session unit-3.9
nox > Re-using existing virtual environment at .nox/unit-3-9.
nox > python -m pip install asyncmock pytest-asyncio -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.9.txt
nox > python -m pip install mock pytest pytest-cov -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.9.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.9.txt
nox > py.test --quiet --cov=google.cloud.spanner --cov=google.cloud --cov=tests.unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests/unit
........................................................................ [ 5%]
........................................................................ [ 10%]
........................................................................ [ 15%]
........................................................................ [ 20%]
........................................................................ [ 25%]
........................................................................ [ 30%]
........................................................................ [ 35%]
........................................................................ [ 40%]
........................................................................ [ 45%]
........................................................................ [ 50%]
........................................................................ [ 55%]
........................................................................ [ 60%]
......s..s..ss.......................................................... [ 65%]
........................................................................ [ 70%]
......................................................s..s..ss.......... [ 75%]
........................................................................ [ 80%]
........................................................................ [ 85%]
............................................s..s..ss.................... [ 90%]
........................................................................ [ 95%]
.......................................................... [100%]Coverage.py warning: Module google.cloud was previously imported, but not measured (module-not-measured)
1414 passed, 12 skipped in 28.88s
nox > python -m pip install -e .[tracing] -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.9.txt
nox > py.test --quiet --cov=google.cloud.spanner --cov=google.cloud --cov=tests.unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests/unit
........................................................................ [ 5%]
........................................................................ [ 10%]
........................................................................ [ 15%]
........................................................................ [ 20%]
........................................................................ [ 25%]
........................................................................ [ 30%]
........................................................................ [ 35%]
........................................................................ [ 40%]
........................................................................ [ 45%]
........................................................................ [ 50%]
........................................................................ [ 55%]
........................................................................ [ 60%]
......s..s..ss.......................................................... [ 65%]
........................................................................ [ 70%]
......................................................s..s..ss.......... [ 75%]
........................................................................ [ 80%]
........................................................................ [ 85%]
............................................s..s..ss.................... [ 90%]
........................................................................ [ 95%]
.......................................................... [100%]Coverage.py warning: Module google.cloud was previously imported, but not measured (module-not-measured)
1414 passed, 12 skipped in 27.10s
nox > Session unit-3.9 was successful.
real 1m1.869s
user 0m44.735s
sys 0m1.095s
============
system-3.8
============
nox > Running session system-3.8
nox > Creating virtual environment (virtualenv) using python3.8 in .nox/system-3-8
nox > python -m pip install --pre grpcio
nox > python -m pip install mock pytest google-cloud-testutils -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.8.txt
nox > python -m pip install -e .[tracing] -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.8.txt
nox > Skipping py.test run, as --install-only is set.
nox > Session system-3.8 was successful.
nox > Running session system-3.8
nox > Re-using existing virtual environment at .nox/system-3-8.
nox > python -m pip install --pre grpcio
nox > python -m pip install mock pytest google-cloud-testutils -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.8.txt
nox > python -m pip install -e .[tracing] -c /home/tseaver/projects/agendaless/Google/src/python-spanner/testing/constraints-3.8.txt
nox > py.test --quiet --junitxml=system_3.8_sponge_log.xml tests/system
..............................F.ss...................................... [ 63%]
......................................... [100%]
=================================== FAILURES ===================================
_____________________________ test_list_instances ______________________________
no_create_instance = None
spanner_client = <google.cloud.spanner_v1.client.Client object at 0x7f7d1444d7c0>
existing_instances = [name: "projects/precise-truck-742/instances/gcp-streaming-systests"
config: "projects/precise-truck-742/instanceConfi...42/instanceConfigs/nam-eur-asia1"
display_name: "test-cst-bug"
node_count: 1
state: READY
processing_units: 1000
, ...]
shared_instance = <google.cloud.spanner_v1.instance.Instance object at 0x7f7d1455a160>
def test_list_instances(
no_create_instance, spanner_client, existing_instances, shared_instance,
):
instances = list(spanner_client.list_instances())
for instance in instances:
> assert instance in existing_instances or instance is shared_instance
E assert (name: "projects/precise-truck-742/instances/diff-config-1628197758838"\nconfig: "projects/precise-truck-742/instanceCon...: "created"\n value: "1628197758"\n}\nlabels {\n key: "python-spanner-systests"\n value: "true"\n}\nprocessing_units: 1000\n in [name: "projects/precise-truck-742/instances/gcp-streaming-systests"\nconfig: "projects/precise-truck-742/instanceConfi...42/instanceConfigs/nam-eur-asia1"\ndisplay_name: "test-cst-bug"\nnode_count: 1\nstate: READY\nprocessing_units: 1000\n, ...] or name: "projects/precise-truck-742/instances/diff-config-1628197758838"\nconfig: "projects/precise-truck-742/instanceCon...: "created"\n value: "1628197758"\n}\nlabels {\n key: "python-spanner-systests"\n value: "true"\n}\nprocessing_units: 1000\n is <google.cloud.spanner_v1.instance.Instance object at 0x7f7d1455a160>)
tests/system/test_instance_api.py:38: AssertionError
- generated xml file: /home/tseaver/projects/agendaless/Google/src/python-spanner/system_3.8_sponge_log.xml -
=========================== short test summary info ============================
FAILED tests/system/test_instance_api.py::test_list_instances - assert (name:...
1 failed, 110 passed, 2 skipped in 3282.49s (0:54:42)
nox > Command py.test --quiet --junitxml=system_3.8_sponge_log.xml tests/system failed with exit code 1
nox > Session system-3.8 failed.
real 54m46.469s
user 0m9.967s
sys 0m2.834s
============
cover
============
nox > Running session cover
nox > Creating virtual environment (virtualenv) using python3.8 in .nox/cover
nox > python -m pip install coverage pytest-cov
nox > Skipping coverage run, as --install-only is set.
nox > Skipping coverage run, as --install-only is set.
nox > Session cover was successful.
nox > Running session cover
nox > Re-using existing virtual environment at .nox/cover.
nox > python -m pip install coverage pytest-cov
nox > coverage report --show-missing --fail-under=99
Name Stmts Miss Branch BrPart Cover Missing
---------------------------------------------------------------------------------------------------------------------------------------
google/cloud/__init__.py 6 6 0 0 0% 1-8
google/cloud/spanner.py 13 0 0 0 100%
google/cloud/spanner_admin_database_v1/__init__.py 37 0 0 0 100%
google/cloud/spanner_admin_database_v1/services/__init__.py 0 0 0 0 100%
google/cloud/spanner_admin_database_v1/services/database_admin/__init__.py 3 0 0 0 100%
google/cloud/spanner_admin_database_v1/services/database_admin/async_client.py 279 0 88 0 100%
google/cloud/spanner_admin_database_v1/services/database_admin/client.py 411 0 158 0 100%
google/cloud/spanner_admin_database_v1/services/database_admin/pagers.py 160 0 40 0 100%
google/cloud/spanner_admin_database_v1/services/database_admin/transports/__init__.py 9 0 0 0 100%
google/cloud/spanner_admin_database_v1/services/database_admin/transports/base.py 92 4 12 1 95% 50-52, 160
google/cloud/spanner_admin_database_v1/services/database_admin/transports/grpc.py 142 0 50 0 100%
google/cloud/spanner_admin_database_v1/services/database_admin/transports/grpc_asyncio.py 145 0 50 0 100%
google/cloud/spanner_admin_database_v1/types/__init__.py 4 0 0 0 100%
google/cloud/spanner_admin_database_v1/types/backup.py 73 0 0 0 100%
google/cloud/spanner_admin_database_v1/types/common.py 19 0 0 0 100%
google/cloud/spanner_admin_database_v1/types/spanner_database_admin.py 97 0 0 0 100%
google/cloud/spanner_admin_instance_v1/__init__.py 17 0 0 0 100%
google/cloud/spanner_admin_instance_v1/services/__init__.py 0 0 0 0 100%
google/cloud/spanner_admin_instance_v1/services/instance_admin/__init__.py 3 0 0 0 100%
google/cloud/spanner_admin_instance_v1/services/instance_admin/async_client.py 179 0 52 0 100%
google/cloud/spanner_admin_instance_v1/services/instance_admin/client.py 289 0 108 0 100%
google/cloud/spanner_admin_instance_v1/services/instance_admin/pagers.py 80 0 20 0 100%
google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/__init__.py 9 0 0 0 100%
google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/base.py 76 4 12 1 94% 48-50, 158
google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/grpc.py 105 0 36 0 100%
google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/grpc_asyncio.py 108 0 36 0 100%
google/cloud/spanner_admin_instance_v1/types/__init__.py 2 0 0 0 100%
google/cloud/spanner_admin_instance_v1/types/spanner_instance_admin.py 77 0 0 0 100%
google/cloud/spanner_dbapi/__init__.py 33 0 0 0 100%
google/cloud/spanner_dbapi/_helpers.py 38 0 6 0 100%
google/cloud/spanner_dbapi/checksum.py 18 0 2 0 100%
google/cloud/spanner_dbapi/connection.py 156 2 50 1 99% 313-314
google/cloud/spanner_dbapi/cursor.py 210 2 66 3 98% 99, 181->180, 190
google/cloud/spanner_dbapi/exceptions.py 23 0 0 0 100%
google/cloud/spanner_dbapi/parse_utils.py 136 0 73 0 100%
google/cloud/spanner_dbapi/parser.py 130 0 70 0 100%
google/cloud/spanner_dbapi/types.py 31 0 0 0 100%
google/cloud/spanner_dbapi/utils.py 56 0 12 0 100%
google/cloud/spanner_dbapi/version.py 4 0 0 0 100%
google/cloud/spanner_v1/__init__.py 52 0 0 0 100%
google/cloud/spanner_v1/_helpers.py 117 0 76 0 100%
google/cloud/spanner_v1/_opentelemetry_tracing.py 27 0 4 0 100%
google/cloud/spanner_v1/backup.py 108 0 14 0 100%
google/cloud/spanner_v1/batch.py 54 1 6 1 97% 167
google/cloud/spanner_v1/client.py 86 0 16 0 100%
google/cloud/spanner_v1/database.py 342 4 68 1 98% 510->511, 776-779
google/cloud/spanner_v1/instance.py 154 6 20 1 96% 130, 221, 229-230, 249-250
google/cloud/spanner_v1/keyset.py 78 0 48 0 100%
google/cloud/spanner_v1/param_types.py 18 0 0 0 100%
google/cloud/spanner_v1/pool.py 172 0 32 0 100%
google/cloud/spanner_v1/services/__init__.py 0 0 0 0 100%
google/cloud/spanner_v1/services/spanner/__init__.py 3 0 0 0 100%
google/cloud/spanner_v1/services/spanner/async_client.py 200 2 44 0 99% 1448-1449
google/cloud/spanner_v1/services/spanner/client.py 310 1 108 0 99% 1548
google/cloud/spanner_v1/services/spanner/pagers.py 41 0 10 0 100%
google/cloud/spanner_v1/services/spanner/transports/__init__.py 9 0 0 0 100%
google/cloud/spanner_v1/services/spanner/transports/base.py 83 6 12 1 93% 39-40, 45-47, 155
google/cloud/spanner_v1/services/spanner/transports/grpc.py 123 0 44 0 100%
google/cloud/spanner_v1/services/spanner/transports/grpc_asyncio.py 126 0 44 0 100%
google/cloud/spanner_v1/session.py 151 0 48 0 100%
google/cloud/spanner_v1/snapshot.py 193 2 84 2 99% 189, 316
google/cloud/spanner_v1/streamed.py 152 2 42 1 98% 295-296
google/cloud/spanner_v1/table.py 38 0 4 0 100%
google/cloud/spanner_v1/transaction.py 126 3 40 3 96% 152, 271, 347
google/cloud/spanner_v1/types/__init__.py 9 0 0 0 100%
google/cloud/spanner_v1/types/commit_response.py 9 0 0 0 100%
google/cloud/spanner_v1/types/keys.py 13 0 0 0 100%
google/cloud/spanner_v1/types/mutation.py 18 0 0 0 100%
google/cloud/spanner_v1/types/query_plan.py 25 0 0 0 100%
google/cloud/spanner_v1/types/result_set.py 25 0 0 0 100%
google/cloud/spanner_v1/types/spanner.py 129 0 0 0 100%
google/cloud/spanner_v1/types/transaction.py 25 0 0 0 100%
google/cloud/spanner_v1/types/type.py 25 0 0 0 100%
tests/unit/__init__.py 0 0 0 0 100%
tests/unit/spanner_dbapi/__init__.py 0 0 0 0 100%
tests/unit/spanner_dbapi/test__helpers.py 68 0 2 0 100%
tests/unit/spanner_dbapi/test_checksum.py 40 0 0 0 100%
tests/unit/spanner_dbapi/test_connect.py 76 0 2 0 100%
tests/unit/spanner_dbapi/test_connection.py 383 2 0 0 99% 30, 38
tests/unit/spanner_dbapi/test_cursor.py 523 0 6 0 100%
tests/unit/spanner_dbapi/test_globals.py 9 0 0 0 100%
tests/unit/spanner_dbapi/test_parse_utils.py 106 0 22 0 100%
tests/unit/spanner_dbapi/test_parser.py 145 0 24 0 100%
tests/unit/spanner_dbapi/test_types.py 37 0 0 0 100%
tests/unit/spanner_dbapi/test_utils.py 52 0 6 0 100%
tests/unit/test__helpers.py 399 0 18 0 100%
tests/unit/test__opentelemetry_tracing.py 85 0 2 0 100%
tests/unit/test_backup.py 391 0 0 0 100%
tests/unit/test_batch.py 243 0 12 0 100%
tests/unit/test_client.py 343 0 10 0 100%
tests/unit/test_database.py 1461 0 28 0 100%
tests/unit/test_instance.py 596 0 28 0 100%
tests/unit/test_keyset.py 282 0 4 0 100%
tests/unit/test_param_types.py 19 0 0 0 100%
tests/unit/test_pool.py 688 0 50 0 100%
tests/unit/test_session.py 868 1 20 0 99% 35
tests/unit/test_snapshot.py 816 0 48 0 100%
tests/unit/test_streamed.py 762 0 94 0 100%
tests/unit/test_table.py 79 0 0 0 100%
tests/unit/test_transaction.py 469 0 20 0 100%
---------------------------------------------------------------------------------------------------------------------------------------
TOTAL 15251 48 2101 16 99%
nox > coverage erase
nox > Session cover was successful.
real 0m3.876s
user 0m3.738s
sys 0m0.139s
============
docs
============
nox > Running session docs
nox > Creating virtual environment (virtualenv) using python3.8 in .nox/docs
nox > python -m pip install -e .[tracing]
nox > python -m pip install sphinx==4.0.1 alabaster recommonmark
nox > Skipping sphinx-build run, as --install-only is set.
nox > Session docs was successful.
nox > Running session docs
nox > Re-using existing virtual environment at .nox/docs.
nox > python -m pip install -e .[tracing]
nox > python -m pip install sphinx==4.0.1 alabaster recommonmark
nox > sphinx-build -W -T -N -b html -d docs/_build/doctrees/ docs/ docs/_build/html/
Running Sphinx v4.0.1
making output directory... done
[autosummary] generating autosummary for: README.rst, advanced-session-pool-topics.rst, api-reference.rst, batch-api.rst, batch-usage.rst, changelog.md, client-api.rst, client-usage.rst, database-api.rst, database-usage.rst, ..., spanner_admin_instance_v1/services.rst, spanner_admin_instance_v1/types.rst, spanner_v1/services.rst, spanner_v1/spanner.rst, spanner_v1/types.rst, streamed-api.rst, table-api.rst, table-usage.rst, transaction-api.rst, transaction-usage.rst
loading intersphinx inventory from https://python.readthedocs.org/en/latest/objects.inv...
loading intersphinx inventory from https://googleapis.dev/python/google-auth/latest/objects.inv...
loading intersphinx inventory from https://googleapis.dev/python/google-api-core/latest/objects.inv...
loading intersphinx inventory from https://grpc.github.io/grpc/python/objects.inv...
loading intersphinx inventory from https://proto-plus-python.readthedocs.io/en/latest/objects.inv...
loading intersphinx inventory from https://googleapis.dev/python/protobuf/latest/objects.inv...
intersphinx inventory has moved: https://python.readthedocs.org/en/latest/objects.inv -> https://python.readthedocs.io/en/latest/objects.inv
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 33 source files that are out of date
updating environment: [new config] 33 added, 0 changed, 0 removed
reading sources... [ 3%] README
reading sources... [ 6%] advanced-session-pool-topics
reading sources... [ 9%] api-reference
reading sources... [ 12%] batch-api
reading sources... [ 15%] batch-usage
reading sources... [ 18%] changelog
/home/tseaver/projects/agendaless/Google/src/python-spanner/.nox/docs/lib/python3.8/site-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
warn("Container node skipped: type={0}".format(mdnode.t))
reading sources... [ 21%] client-api
reading sources... [ 24%] client-usage
reading sources... [ 27%] database-api
reading sources... [ 30%] database-usage
reading sources... [ 33%] index
reading sources... [ 36%] instance-api
reading sources... [ 39%] instance-usage
reading sources... [ 42%] keyset-api
reading sources... [ 45%] multiprocessing
reading sources... [ 48%] opentelemetry-tracing
reading sources... [ 51%] session-api
reading sources... [ 54%] snapshot-api
reading sources... [ 57%] snapshot-usage
reading sources... [ 60%] spanner_admin_database_v1/database_admin
reading sources... [ 63%] spanner_admin_database_v1/services
reading sources... [ 66%] spanner_admin_database_v1/types
reading sources... [ 69%] spanner_admin_instance_v1/instance_admin
reading sources... [ 72%] spanner_admin_instance_v1/services
reading sources... [ 75%] spanner_admin_instance_v1/types
reading sources... [ 78%] spanner_v1/services
reading sources... [ 81%] spanner_v1/spanner
reading sources... [ 84%] spanner_v1/types
reading sources... [ 87%] streamed-api
reading sources... [ 90%] table-api
reading sources... [ 93%] table-usage
reading sources... [ 96%] transaction-api
reading sources... [100%] transaction-usage
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [ 3%] README
writing output... [ 6%] advanced-session-pool-topics
writing output... [ 9%] api-reference
writing output... [ 12%] batch-api
writing output... [ 15%] batch-usage
writing output... [ 18%] changelog
writing output... [ 21%] client-api
writing output... [ 24%] client-usage
writing output... [ 27%] database-api
writing output... [ 30%] database-usage
writing output... [ 33%] index
writing output... [ 36%] instance-api
writing output... [ 39%] instance-usage
writing output... [ 42%] keyset-api
writing output... [ 45%] multiprocessing
writing output... [ 48%] opentelemetry-tracing
writing output... [ 51%] session-api
writing output... [ 54%] snapshot-api
writing output... [ 57%] snapshot-usage
writing output... [ 60%] spanner_admin_database_v1/database_admin
writing output... [ 63%] spanner_admin_database_v1/services
writing output... [ 66%] spanner_admin_database_v1/types
writing output... [ 69%] spanner_admin_instance_v1/instance_admin
writing output... [ 72%] spanner_admin_instance_v1/services
writing output... [ 75%] spanner_admin_instance_v1/types
writing output... [ 78%] spanner_v1/services
writing output... [ 81%] spanner_v1/spanner
writing output... [ 84%] spanner_v1/types
writing output... [ 87%] streamed-api
writing output... [ 90%] table-api
writing output... [ 93%] table-usage
writing output... [ 96%] transaction-api
writing output... [100%] transaction-usage
generating indices... genindex py-modindex done
highlighting module code... [ 3%] google.cloud.spanner_admin_database_v1.services.database_admin.async_client
highlighting module code... [ 6%] google.cloud.spanner_admin_database_v1.services.database_admin.client
highlighting module code... [ 9%] google.cloud.spanner_admin_database_v1.services.database_admin.pagers
highlighting module code... [ 12%] google.cloud.spanner_admin_database_v1.types.backup
highlighting module code... [ 15%] google.cloud.spanner_admin_database_v1.types.common
highlighting module code... [ 18%] google.cloud.spanner_admin_database_v1.types.spanner_database_admin
highlighting module code... [ 21%] google.cloud.spanner_admin_instance_v1.services.instance_admin.async_client
highlighting module code... [ 25%] google.cloud.spanner_admin_instance_v1.services.instance_admin.client
highlighting module code... [ 28%] google.cloud.spanner_admin_instance_v1.services.instance_admin.pagers
highlighting module code... [ 31%] google.cloud.spanner_admin_instance_v1.types.spanner_instance_admin
highlighting module code... [ 34%] google.cloud.spanner_v1.batch
highlighting module code... [ 37%] google.cloud.spanner_v1.client
highlighting module code... [ 40%] google.cloud.spanner_v1.database
highlighting module code... [ 43%] google.cloud.spanner_v1.instance
highlighting module code... [ 46%] google.cloud.spanner_v1.keyset
highlighting module code... [ 50%] google.cloud.spanner_v1.pool
highlighting module code... [ 53%] google.cloud.spanner_v1.services.spanner.async_client
highlighting module code... [ 56%] google.cloud.spanner_v1.services.spanner.client
highlighting module code... [ 59%] google.cloud.spanner_v1.services.spanner.pagers
highlighting module code... [ 62%] google.cloud.spanner_v1.session
highlighting module code... [ 65%] google.cloud.spanner_v1.snapshot
highlighting module code... [ 68%] google.cloud.spanner_v1.streamed
highlighting module code... [ 71%] google.cloud.spanner_v1.table
highlighting module code... [ 75%] google.cloud.spanner_v1.transaction
highlighting module code... [ 78%] google.cloud.spanner_v1.types.commit_response
highlighting module code... [ 81%] google.cloud.spanner_v1.types.keys
highlighting module code... [ 84%] google.cloud.spanner_v1.types.mutation
highlighting module code... [ 87%] google.cloud.spanner_v1.types.query_plan
highlighting module code... [ 90%] google.cloud.spanner_v1.types.result_set
highlighting module code... [ 93%] google.cloud.spanner_v1.types.spanner
highlighting module code... [ 96%] google.cloud.spanner_v1.types.transaction
highlighting module code... [100%] google.cloud.spanner_v1.types.type
writing additional pages... search done
copying static files... done
copying extra files... done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded.
The HTML pages are in docs/_build/html.
nox > Session docs was successful.
real 0m19.940s
user 0m19.370s
sys 0m0.402sFor whatever reason, the system tests hung for a long while before actually beginning to run, and then hung up again when running the backup tests (I think). However, that is kind of the point here: they are both lengthy and laggy, and we would be well-served to run them in parallel with the other tests.
We might also consider skipping the backup tests by default, perhaps only running them in the nightly continuous Kokoro build.
Reactions are currently unavailable
Metadata
Metadata
Labels
api: spannerIssues related to the googleapis/python-spanner API.Issues related to the googleapis/python-spanner API.type: processA process-related concern. May include testing, release, or the like.A process-related concern. May include testing, release, or the like.