This repository was archived by the owner on Mar 2, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 86
This repository was archived by the owner on Mar 2, 2026. It is now read-only.
Split out system tests into separate Kokoro job #411
Copy link
Copy link
Closed
Labels
api: firestoreIssues related to the googleapis/python-firestore API.Issues related to the googleapis/python-firestore 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! ✨ 🍰 ✨
109 files would be left unchanged.
nox > flake8 google tests
nox > Session lint was successful.
real 0m3.902s
user 0m16.218s
sys 0m0.277s
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! ✨ 🍰 ✨
109 files left unchanged.
nox > Session blacken was successful.
real 0m1.007s
user 0m0.884s
sys 0m0.127s
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.067s
user 0m0.946s
sys 0m0.123s
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-firestore/testing/constraints-3.6.txt
nox > python -m pip install mock pytest pytest-cov aiounittest -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.6.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-firestore/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-firestore/testing/constraints-3.6.txt
nox > python -m pip install mock pytest pytest-cov aiounittest -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.6.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.6.txt
nox > py.test --quiet --junitxml=unit_3.6_sponge_log.xml --cov=google/cloud --cov=tests/unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests/unit
........................................................................ [ 5%]
...............................................................s..s.ss.. [ 10%]
........................................................................ [ 15%]
........................................................................ [ 20%]
...................................................s..s.ss.............. [ 25%]
........................................................................ [ 30%]
........................................................................ [ 35%]
........................................................................ [ 40%]
........................................................................ [ 45%]
........................................................................ [ 50%]
........................................................................ [ 55%]
........................................................................ [ 60%]
........................................................................ [ 65%]
........................................................................ [ 70%]
............................................................ssssssssssss [ 75%]
ssssssssssssssssssssssssssssssss........................................ [ 80%]
........................................................................ [ 85%]
........................................................................ [ 90%]
........................................................................ [ 95%]
........................................................... [100%]
- generated xml file: /home/tseaver/projects/agendaless/Google/src/python-firestore/unit_3.6_sponge_log.xml -
1375 passed, 52 skipped in 14.10s
nox > Session unit-3.6 was successful.
real 0m18.388s
user 0m17.654s
sys 0m0.675s
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-firestore/testing/constraints-3.7.txt
nox > python -m pip install mock pytest pytest-cov aiounittest -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.7.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-firestore/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-firestore/testing/constraints-3.7.txt
nox > python -m pip install mock pytest pytest-cov aiounittest -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.7.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.7.txt
nox > py.test --quiet --junitxml=unit_3.7_sponge_log.xml --cov=google/cloud --cov=tests/unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests/unit
........................................................................ [ 5%]
................................................................s..s..ss [ 10%]
........................................................................ [ 15%]
........................................................................ [ 20%]
....................................................s..s..ss............ [ 25%]
........................................................................ [ 30%]
........................................................................ [ 35%]
........................................................................ [ 40%]
........................................................................ [ 45%]
........................................................................ [ 50%]
........................................................................ [ 55%]
........................................................................ [ 60%]
........................................................................ [ 65%]
........................................................................ [ 70%]
............................................................ssssssssssss [ 75%]
ssssssssssssssssssssssssssssssss........................................ [ 80%]
........................................................................ [ 85%]
........................................................................ [ 90%]
........................................................................ [ 95%]
........................................................... [100%]
- generated xml file: /home/tseaver/projects/agendaless/Google/src/python-firestore/unit_3.7_sponge_log.xml -
1375 passed, 52 skipped in 14.09s
nox > Session unit-3.7 was successful.
real 0m17.930s
user 0m17.185s
sys 0m0.732s
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-firestore/testing/constraints-3.8.txt
nox > python -m pip install mock pytest pytest-cov aiounittest -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.8.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-firestore/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-firestore/testing/constraints-3.8.txt
nox > python -m pip install mock pytest pytest-cov aiounittest -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.8.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.8.txt
nox > py.test --quiet --junitxml=unit_3.8_sponge_log.xml --cov=google/cloud --cov=tests/unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests/unit
........................................................................ [ 5%]
................................................................s..s..ss [ 10%]
........................................................................ [ 15%]
........................................................................ [ 20%]
....................................................s..s..ss............ [ 25%]
........................................................................ [ 30%]
........................................................................ [ 35%]
........................................................................ [ 40%]
........................................................................ [ 45%]
........................................................................ [ 50%]
........................................................................ [ 55%]
........................................................................ [ 60%]
........................................................................ [ 65%]
........................................................................ [ 70%]
............................................................ssssssssssss [ 75%]
ssssssssssssssssssssssssssssssss........................................ [ 80%]
........................................................................ [ 85%]
........................................................................ [ 90%]
........................................................................ [ 95%]
........................................................... [100%]
- generated xml file: /home/tseaver/projects/agendaless/Google/src/python-firestore/unit_3.8_sponge_log.xml -
1375 passed, 52 skipped in 13.40s
nox > Session unit-3.8 was successful.
real 0m17.162s
user 0m16.517s
sys 0m0.638s
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-firestore/testing/constraints-3.9.txt
nox > python -m pip install mock pytest pytest-cov aiounittest -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.9.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-firestore/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-firestore/testing/constraints-3.9.txt
nox > python -m pip install mock pytest pytest-cov aiounittest -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.9.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.9.txt
nox > py.test --quiet --junitxml=unit_3.9_sponge_log.xml --cov=google/cloud --cov=tests/unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests/unit
........................................................................ [ 5%]
................................................................s..s..ss [ 10%]
........................................................................ [ 15%]
........................................................................ [ 20%]
....................................................s..s..ss............ [ 25%]
........................................................................ [ 30%]
........................................................................ [ 35%]
........................................................................ [ 40%]
........................................................................ [ 45%]
........................................................................ [ 50%]
........................................................................ [ 55%]
........................................................................ [ 60%]
........................................................................ [ 65%]
........................................................................ [ 70%]
............................................................ssssssssssss [ 75%]
ssssssssssssssssssssssssssssssss........................................ [ 80%]
........................................................................ [ 85%]
........................................................................ [ 90%]
........................................................................ [ 95%]
........................................................... [100%]
- generated xml file: /home/tseaver/projects/agendaless/Google/src/python-firestore/unit_3.9_sponge_log.xml -
1375 passed, 52 skipped in 15.70s
nox > Session unit-3.9 was successful.
real 0m19.250s
user 0m18.510s
sys 0m0.715s
system-3.7
nox > Running session system-3.7
nox > Creating virtual environment (virtualenv) using python3.7 in .nox/system-3-7
nox > python -m pip install --pre grpcio
nox > python -m pip install mock pytest google-cloud-testutils pytest-asyncio -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.7.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.7.txt
nox > Skipping py.test run, as --install-only is set.
nox > Session system-3.7 was successful.
nox > Running session system-3.7
nox > Re-using existing virtual environment at .nox/system-3-7.
nox > python -m pip install --pre grpcio
nox > python -m pip install mock pytest google-cloud-testutils pytest-asyncio -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.7.txt
nox > python -m pip install -e . -c /home/tseaver/projects/agendaless/Google/src/python-firestore/testing/constraints-3.7.txt
nox > py.test --verbose --junitxml=system_3.7_sponge_log.xml tests/system
============================= test session starts ==============================
platform linux -- Python 3.7.6, pytest-6.2.4, py-1.10.0, pluggy-0.13.1 -- /home/tseaver/projects/agendaless/Google/src/python-firestore/.nox/system-3-7/bin/python
cachedir: .pytest_cache
rootdir: /home/tseaver/projects/agendaless/Google/src/python-firestore
plugins: asyncio-0.15.1
collected 77 items
tests/system/test_system.py::test_collections PASSED [ 1%]
tests/system/test_system.py::test_collections_w_import PASSED [ 2%]
tests/system/test_system.py::test_create_document PASSED [ 3%]
tests/system/test_system.py::test_create_document_w_subcollection PASSED [ 5%]
tests/system/test_system.py::test_cannot_use_foreign_key PASSED [ 6%]
tests/system/test_system.py::test_no_document PASSED [ 7%]
tests/system/test_system.py::test_document_set PASSED [ 9%]
tests/system/test_system.py::test_document_integer_field PASSED [ 10%]
tests/system/test_system.py::test_document_set_merge PASSED [ 11%]
tests/system/test_system.py::test_document_set_w_int_field PASSED [ 12%]
tests/system/test_system.py::test_document_update_w_int_field PASSED [ 14%]
tests/system/test_system.py::test_update_document PASSED [ 15%]
tests/system/test_system.py::test_document_get PASSED [ 16%]
tests/system/test_system.py::test_document_delete PASSED [ 18%]
tests/system/test_system.py::test_collection_add PASSED [ 19%]
tests/system/test_system.py::test_query_stream_w_simple_field_eq_op PASSED [ 20%]
tests/system/test_system.py::test_query_stream_w_simple_field_array_contains_op PASSED [ 22%]
tests/system/test_system.py::test_query_stream_w_simple_field_in_op PASSED [ 23%]
tests/system/test_system.py::test_query_stream_w_not_eq_op PASSED [ 24%]
tests/system/test_system.py::test_query_stream_w_simple_not_in_op PASSED [ 25%]
tests/system/test_system.py::test_query_stream_w_simple_field_array_contains_any_op PASSED [ 27%]
tests/system/test_system.py::test_query_stream_w_order_by PASSED [ 28%]
tests/system/test_system.py::test_query_stream_w_field_path PASSED [ 29%]
tests/system/test_system.py::test_query_stream_w_start_end_cursor PASSED [ 31%]
tests/system/test_system.py::test_query_stream_wo_results PASSED [ 32%]
tests/system/test_system.py::test_query_stream_w_projection PASSED [ 33%]
tests/system/test_system.py::test_query_stream_w_multiple_filters PASSED [ 35%]
tests/system/test_system.py::test_query_stream_w_offset PASSED [ 36%]
tests/system/test_system.py::test_query_with_order_dot_key PASSED [ 37%]
tests/system/test_system.py::test_query_unary PASSED [ 38%]
tests/system/test_system.py::test_collection_group_queries PASSED [ 40%]
tests/system/test_system.py::test_collection_group_queries_startat_endat PASSED [ 41%]
tests/system/test_system.py::test_collection_group_queries_filters PASSED [ 42%]
tests/system/test_system.py::test_partition_query_no_partitions PASSED [ 44%]
tests/system/test_system.py::test_partition_query PASSED [ 45%]
tests/system/test_system.py::test_get_all PASSED [ 46%]
tests/system/test_system.py::test_batch PASSED [ 48%]
tests/system/test_system.py::test_watch_document PASSED [ 49%]
tests/system/test_system.py::test_watch_collection PASSED [ 50%]
tests/system/test_system.py::test_watch_query PASSED [ 51%]
tests/system/test_system.py::test_array_union PASSED [ 53%]
tests/system/test_system.py::test_watch_query_order PASSED [ 54%]
tests/system/test_system_async.py::test_collections PASSED [ 55%]
tests/system/test_system_async.py::test_collections_w_import PASSED [ 57%]
tests/system/test_system_async.py::test_create_document PASSED [ 58%]
tests/system/test_system_async.py::test_create_document_w_subcollection PASSED [ 59%]
tests/system/test_system_async.py::test_cannot_use_foreign_key PASSED [ 61%]
tests/system/test_system_async.py::test_no_document PASSED [ 62%]
tests/system/test_system_async.py::test_document_set PASSED [ 63%]
tests/system/test_system_async.py::test_document_integer_field PASSED [ 64%]
tests/system/test_system_async.py::test_document_set_merge PASSED [ 66%]
tests/system/test_system_async.py::test_document_set_w_int_field PASSED [ 67%]
tests/system/test_system_async.py::test_document_update_w_int_field PASSED [ 68%]
tests/system/test_system_async.py::test_update_document PASSED [ 70%]
tests/system/test_system_async.py::test_document_get PASSED [ 71%]
tests/system/test_system_async.py::test_document_delete PASSED [ 72%]
tests/system/test_system_async.py::test_collection_add PASSED [ 74%]
tests/system/test_system_async.py::test_query_stream_w_simple_field_eq_op PASSED [ 75%]
tests/system/test_system_async.py::test_query_stream_w_simple_field_array_contains_op PASSED [ 76%]
tests/system/test_system_async.py::test_query_stream_w_simple_field_in_op PASSED [ 77%]
tests/system/test_system_async.py::test_query_stream_w_simple_field_array_contains_any_op PASSED [ 79%]
tests/system/test_system_async.py::test_query_stream_w_order_by PASSED [ 80%]
tests/system/test_system_async.py::test_query_stream_w_field_path PASSED [ 81%]
tests/system/test_system_async.py::test_query_stream_w_start_end_cursor PASSED [ 83%]
tests/system/test_system_async.py::test_query_stream_wo_results PASSED [ 84%]
tests/system/test_system_async.py::test_query_stream_w_projection PASSED [ 85%]
tests/system/test_system_async.py::test_query_stream_w_multiple_filters PASSED [ 87%]
tests/system/test_system_async.py::test_query_stream_w_offset PASSED [ 88%]
tests/system/test_system_async.py::test_query_with_order_dot_key PASSED [ 89%]
tests/system/test_system_async.py::test_query_unary PASSED [ 90%]
tests/system/test_system_async.py::test_collection_group_queries PASSED [ 92%]
tests/system/test_system_async.py::test_collection_group_queries_startat_endat PASSED [ 93%]
tests/system/test_system_async.py::test_collection_group_queries_filters PASSED [ 94%]
tests/system/test_system_async.py::test_partition_query_no_partitions PASSED [ 96%]
tests/system/test_system_async.py::test_partition_query PASSED [ 97%]
tests/system/test_system_async.py::test_get_all PASSED [ 98%]
tests/system/test_system_async.py::test_batch PASSED [100%]
=================== 77 passed in 211.00s (0:03:31) ===================
nox > Command py.test --verbose --junitxml=system_3.7_sponge_log.xml tests/system passed
nox > Session system-3.7 was successful.
real 3m34.561s
user 0m11.371s
sys 0m1.881s
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=100
Name Stmts Miss Branch BrPart Cover Missing
---------------------------------------------------------------------------------------------------------------------------------
google/cloud/firestore.py 35 0 0 0 100%
google/cloud/firestore_admin_v1/__init__.py 23 0 0 0 100%
google/cloud/firestore_admin_v1/services/__init__.py 0 0 0 0 100%
google/cloud/firestore_admin_v1/services/firestore_admin/__init__.py 3 0 0 0 100%
google/cloud/firestore_admin_v1/services/firestore_admin/async_client.py 168 0 38 0 100%
google/cloud/firestore_admin_v1/services/firestore_admin/client.py 282 0 90 0 100%
google/cloud/firestore_admin_v1/services/firestore_admin/pagers.py 82 0 20 0 100%
google/cloud/firestore_admin_v1/services/firestore_admin/transports/__init__.py 9 0 0 0 100%
google/cloud/firestore_admin_v1/services/firestore_admin/transports/base.py 72 0 12 0 100%
google/cloud/firestore_admin_v1/services/firestore_admin/transports/grpc.py 100 0 34 0 100%
google/cloud/firestore_admin_v1/services/firestore_admin/transports/grpc_asyncio.py 103 0 34 0 100%
google/cloud/firestore_admin_v1/types/__init__.py 6 0 0 0 100%
google/cloud/firestore_admin_v1/types/field.py 12 0 0 0 100%
google/cloud/firestore_admin_v1/types/firestore_admin.py 48 0 0 0 100%
google/cloud/firestore_admin_v1/types/index.py 28 0 0 0 100%
google/cloud/firestore_admin_v1/types/location.py 4 0 0 0 100%
google/cloud/firestore_admin_v1/types/operation.py 57 0 0 0 100%
google/cloud/firestore_bundle/__init__.py 7 0 0 0 100%
google/cloud/firestore_bundle/_helpers.py 4 0 0 0 100%
google/cloud/firestore_bundle/bundle.py 111 0 32 0 100%
google/cloud/firestore_bundle/services/__init__.py 0 0 0 0 100%
google/cloud/firestore_bundle/types/__init__.py 2 0 0 0 100%
google/cloud/firestore_bundle/types/bundle.py 33 0 0 0 100%
google/cloud/firestore_v1/__init__.py 37 0 0 0 100%
google/cloud/firestore_v1/_helpers.py 478 0 240 0 100%
google/cloud/firestore_v1/async_batch.py 19 0 2 0 100%
google/cloud/firestore_v1/async_client.py 41 0 4 0 100%
google/cloud/firestore_v1/async_collection.py 32 0 4 0 100%
google/cloud/firestore_v1/async_document.py 44 0 4 0 100%
google/cloud/firestore_v1/async_query.py 45 0 16 0 100%
google/cloud/firestore_v1/async_transaction.py 98 0 22 0 100%
google/cloud/firestore_v1/base_batch.py 32 0 4 0 100%
google/cloud/firestore_v1/base_client.py 151 0 42 0 100%
google/cloud/firestore_v1/base_collection.py 101 0 16 0 100%
google/cloud/firestore_v1/base_document.py 145 0 24 0 100%
google/cloud/firestore_v1/base_query.py 331 0 130 0 100%
google/cloud/firestore_v1/base_transaction.py 65 0 6 0 100%
google/cloud/firestore_v1/batch.py 19 0 2 0 100%
google/cloud/firestore_v1/client.py 42 0 4 0 100%
google/cloud/firestore_v1/collection.py 30 0 2 0 100%
google/cloud/firestore_v1/document.py 48 0 4 0 100%
google/cloud/firestore_v1/field_path.py 135 0 56 0 100%
google/cloud/firestore_v1/order.py 130 0 54 0 100%
google/cloud/firestore_v1/query.py 47 0 14 0 100%
google/cloud/firestore_v1/services/__init__.py 0 0 0 0 100%
google/cloud/firestore_v1/services/firestore/__init__.py 3 0 0 0 100%
google/cloud/firestore_v1/services/firestore/async_client.py 178 0 30 0 100%
google/cloud/firestore_v1/services/firestore/client.py 276 0 90 0 100%
google/cloud/firestore_v1/services/firestore/pagers.py 121 0 30 0 100%
google/cloud/firestore_v1/services/firestore/transports/__init__.py 9 0 0 0 100%
google/cloud/firestore_v1/services/firestore/transports/base.py 80 0 12 0 100%
google/cloud/firestore_v1/services/firestore/transports/grpc.py 122 0 44 0 100%
google/cloud/firestore_v1/services/firestore/transports/grpc_asyncio.py 125 0 44 0 100%
google/cloud/firestore_v1/transaction.py 97 0 22 0 100%
google/cloud/firestore_v1/transforms.py 39 0 10 0 100%
google/cloud/firestore_v1/types/__init__.py 6 0 0 0 100%
google/cloud/firestore_v1/types/common.py 16 0 0 0 100%
google/cloud/firestore_v1/types/document.py 27 0 0 0 100%
google/cloud/firestore_v1/types/firestore.py 157 0 0 0 100%
google/cloud/firestore_v1/types/query.py 66 0 0 0 100%
google/cloud/firestore_v1/types/write.py 45 0 0 0 100%
google/cloud/firestore_v1/watch.py 325 0 78 0 100%
tests/unit/__init__.py 0 0 0 0 100%
tests/unit/test_firestore_shim.py 10 0 2 0 100%
tests/unit/v1/__init__.py 0 0 0 0 100%
tests/unit/v1/_test_helpers.py 22 0 0 0 100%
tests/unit/v1/conformance_tests.py 106 0 0 0 100%
tests/unit/v1/test__helpers.py 1653 0 36 0 100%
tests/unit/v1/test_async_batch.py 98 0 0 0 100%
tests/unit/v1/test_async_client.py 267 0 18 0 100%
tests/unit/v1/test_async_collection.py 223 0 20 0 100%
tests/unit/v1/test_async_document.py 334 0 32 0 100%
tests/unit/v1/test_async_query.py 327 0 26 0 100%
tests/unit/v1/test_async_transaction.py 584 0 0 0 100%
tests/unit/v1/test_base_batch.py 98 0 0 0 100%
tests/unit/v1/test_base_client.py 238 0 0 0 100%
tests/unit/v1/test_base_collection.py 239 0 0 0 100%
tests/unit/v1/test_base_document.py 293 0 2 0 100%
tests/unit/v1/test_base_query.py 1006 0 20 0 100%
tests/unit/v1/test_base_transaction.py 75 0 0 0 100%
tests/unit/v1/test_batch.py 92 0 0 0 100%
tests/unit/v1/test_bundle.py 268 0 4 0 100%
tests/unit/v1/test_client.py 256 0 12 0 100%
tests/unit/v1/test_collection.py 197 0 10 0 100%
tests/unit/v1/test_cross_language.py 207 0 82 0 100%
tests/unit/v1/test_document.py 307 0 26 0 100%
tests/unit/v1/test_field_path.py 355 0 8 0 100%
tests/unit/v1/test_order.py 138 0 8 0 100%
tests/unit/v1/test_query.py 318 0 0 0 100%
tests/unit/v1/test_transaction.py 560 0 0 0 100%
tests/unit/v1/test_transforms.py 78 0 8 0 100%
tests/unit/v1/test_watch.py 667 0 4 0 100%
---------------------------------------------------------------------------------------------------------------------------------
TOTAL 13967 0 1588 0 100%
nox > coverage erase
nox > Session cover was successful.
real 0m3.581s
user 0m3.419s
sys 0m0.163s
docs
nox > Running session docs
nox > Creating virtual environment (virtualenv) using python3.8 in .nox/docs
nox > python -m pip install -e .
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 .
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, UPGRADING.md, admin_client.rst, batch.rst, changelog.md, client.rst, collection.rst, document.rst, field_path.rst, index.rst, multiprocessing.rst, query.rst, transaction.rst, transforms.rst, types.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 15 source files that are out of date
updating environment: [new config] 15 added, 0 changed, 0 removed
reading sources... [ 6%] README
reading sources... [ 13%] UPGRADING
/home/tseaver/projects/agendaless/Google/src/python-firestore/.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... [ 20%] admin_client
reading sources... [ 26%] batch
reading sources... [ 33%] changelog
/home/tseaver/projects/agendaless/Google/src/python-firestore/.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... [ 40%] client
reading sources... [ 46%] collection
reading sources... [ 53%] document
reading sources... [ 60%] field_path
reading sources... [ 66%] index
reading sources... [ 73%] multiprocessing
reading sources... [ 80%] query
reading sources... [ 86%] transaction
reading sources... [ 93%] transforms
reading sources... [100%] types
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [ 6%] README
writing output... [ 13%] UPGRADING
writing output... [ 20%] admin_client
writing output... [ 26%] batch
writing output... [ 33%] changelog
writing output... [ 40%] client
writing output... [ 46%] collection
writing output... [ 53%] document
writing output... [ 60%] field_path
writing output... [ 66%] index
writing output... [ 73%] multiprocessing
writing output... [ 80%] query
writing output... [ 86%] transaction
writing output... [ 93%] transforms
writing output... [100%] types
generating indices... genindex py-modindex done
highlighting module code... [ 3%] google.cloud.firestore_admin_v1.services.firestore_admin.client
highlighting module code... [ 7%] google.cloud.firestore_v1.async_batch
highlighting module code... [ 11%] google.cloud.firestore_v1.async_client
highlighting module code... [ 15%] google.cloud.firestore_v1.async_collection
highlighting module code... [ 19%] google.cloud.firestore_v1.async_document
highlighting module code... [ 23%] google.cloud.firestore_v1.async_query
highlighting module code... [ 26%] google.cloud.firestore_v1.async_transaction
highlighting module code... [ 30%] google.cloud.firestore_v1.base_batch
highlighting module code... [ 34%] google.cloud.firestore_v1.base_client
highlighting module code... [ 38%] google.cloud.firestore_v1.base_collection
highlighting module code... [ 42%] google.cloud.firestore_v1.base_document
highlighting module code... [ 46%] google.cloud.firestore_v1.base_query
highlighting module code... [ 50%] google.cloud.firestore_v1.base_transaction
highlighting module code... [ 53%] google.cloud.firestore_v1.batch
highlighting module code... [ 57%] google.cloud.firestore_v1.client
highlighting module code... [ 61%] google.cloud.firestore_v1.collection
highlighting module code... [ 65%] google.cloud.firestore_v1.document
highlighting module code... [ 69%] google.cloud.firestore_v1.field_path
highlighting module code... [ 73%] google.cloud.firestore_v1.query
highlighting module code... [ 76%] google.cloud.firestore_v1.transaction
highlighting module code... [ 80%] google.cloud.firestore_v1.transforms
highlighting module code... [ 84%] google.cloud.firestore_v1.types.common
highlighting module code... [ 88%] google.cloud.firestore_v1.types.document
highlighting module code... [ 92%] google.cloud.firestore_v1.types.firestore
highlighting module code... [ 96%] google.cloud.firestore_v1.types.query
highlighting module code... [100%] google.cloud.firestore_v1.types.write
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 0m12.548s
user 0m12.024s
sys 0m0.354s
Given that the system tests take 3 - 4 minutes to run, ISTM it would be good to break them out into a separate Kokoro job, running in parallel with the other test.
This change will require updates to the google3 internal configuration for Kokoro, similar to those @tswast made to enable them for googleapis/python-bigtable#390.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
api: firestoreIssues related to the googleapis/python-firestore API.Issues related to the googleapis/python-firestore API.type: processA process-related concern. May include testing, release, or the like.A process-related concern. May include testing, release, or the like.