Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: [WIP] Migration to nox testing automation framework #466

Closed
wants to merge 6 commits into from

Conversation

mf2199
Copy link
Contributor

@mf2199 mf2199 commented Aug 24, 2020

Since nox is the primary testing automation tool used by Google API, we believe that its earliest integration with the Spanner-Django project is necessary to ensure its continuous compliance with the coding standards from the start. This is also a step towards future merging of Django-related code into the main Spanner repository and may save considerable amount of time and effort at later stages of development.

Major change list:

  1. Added new file noxfile.py [largely copied from Spanner main repo];
  2. Added missing folders:
  • docs
  • google
  • google/cloud
  • docs/_static
  1. Folders renamed/moved:
  • django_spanner --> google/cloud/spanner_django;
  • spanner_dbapi --> google/cloud/spanner_dbapi;
  • tests/spanner_dbapi --> tests/unit;
  • examples --> samples;
  1. Added relevant __init__.py and conf.py files;
  2. Added docs styling definitions, custom.css [copied from main Spanner repo];
  3. Resolved missing dependencies in setup.py;
  4. README.md converted to README.rst [fixing some formatter check errors];
  5. Added docs/index.rst file to comply with Sphinx requirements (the file is blank and to be updated as necessary);
  6. Updated .gitignore.

From the results of the initial testing, the code has numerous assertion errors and coverage gaps, see the test log below, which have little to do with the test setup as such. Therefore, addressing those will be a subject of subsequent PRs, if and when the matters of the current proposition are reviewed and agreed upon.

Towards #474.

@google-cla google-cla bot added the cla: yes This human has signed the Contributor License Agreement. label Aug 24, 2020
@mf2199 mf2199 requested a review from c24t August 24, 2020 15:34
@mf2199
Copy link
Contributor Author

mf2199 commented Aug 24, 2020

The latest test log:

(python-spanner-django) C:\git\python-spanner-django>nox
nox > Running session lint
nox > Creating virtual environment (virtualenv) using python.exe in .nox\lint
nox > pip install flake8 black==19.3b0
nox > black --check docs google tests noxfile.py setup.py samples
All done! ✨ � ✨
36 files would be left unchanged.
nox > flake8 google tests
google\cloud\spanner_dbapi\parser.py:155:34: E203 whitespace before ':'
google\cloud\spanner_dbapi\parser.py:196:56: E203 whitespace before ':'
google\cloud\spanner_dbapi\parse_utils.py:207:44: E203 whitespace before ':'
google\cloud\spanner_dbapi\parse_utils.py:207:86: E203 whitespace before ':'
google\cloud\spanner_dbapi\parse_utils.py:293:35: E203 whitespace before ':'
google\cloud\spanner_dbapi\parse_utils.py:293:53: E203 whitespace before ':'
nox > Command flake8 google tests failed with exit code 1
nox > Session lint failed.
nox > Running session blacken
nox > Creating virtual environment (virtualenv) using python.exe in .nox\blacken
nox > pip install black==19.3b0
nox > black docs google tests noxfile.py setup.py samples
All done! ✨ � ✨
36 files left unchanged.
nox > Session blacken was successful.
nox > Running session lint_setup_py
nox > Creating virtual environment (virtualenv) using python.exe in .nox\lint_setup_py
nox > pip install docutils pygments
nox > python setup.py check --restructuredtext --strict
running check
nox > Session lint_setup_py was successful.
nox > Running session unit-2.7
nox > Session unit-2.7 skipped: Python interpreter 2.7 not found.
nox > Running session unit-3.5
nox > Session unit-3.5 skipped: Python interpreter 3.5 not found.
nox > Running session unit-3.6
nox > Creating virtual environment (virtualenv) using python.exe in .nox\unit-3-6
nox > pip install mock pytest pytest-cov
nox > pip install -e .
nox > py.test --quiet --cov=google.cloud --cov=tests.unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests\unit
........................F.F...F                                                                                                                                                                                                  [100%]C
overage.py warning: Module google.cloud was previously imported, but not measured (module-not-measured)

============================================================================================================== FAILURES ===============================================================================================================
____________________________________________________________________________________________________ TypesTests.test_TimeFromTicks ____________________________________________________________________________________________________

self = <tests.unit.test_types.TypesTests testMethod=test_TimeFromTicks>

    def test_TimeFromTicks(self):
        epochTicks = 1572851662.9782631  # Sun Nov 03 23:14:22 2019
        got = TimeFromTicks(epochTicks)
        # Since continuous integration infrastructure such as Travis CI
        # uses clocks on UTC, it is useful to be able to compare against
        # either of UTC or the known standard time.
        want = (
            datetime.time(23, 14, 22),
            datetime.datetime(2019, 11, 4, 7, 14, 22, tzUTC).time(),
        )
        matches = got in want
>       self.assertTrue(matches, "`%s` not present in any of\n`%s`" % (got, want))
E       AssertionError: False is not true : `02:14:22` not present in any of
E       `(datetime.time(23, 14, 22), datetime.time(7, 14, 22))`

tests\unit\test_types.py:63: AssertionError
_________________________________________________________________________________________________ TypesTests.test_TimestampFromTicks __________________________________________________________________________________________________

self = <tests.unit.test_types.TypesTests testMethod=test_TimestampFromTicks>

    def test_TimestampFromTicks(self):
        epochTicks = 1572851662.9782631  # Sun Nov 03 23:14:22 2019
        got = TimestampFromTicks(epochTicks)
        # Since continuous integration infrastructure such as Travis CI
        # uses clocks on UTC, it is useful to be able to compare against
        # either of UTC or the known standard time.
        want = (
            datetime.datetime(2019, 11, 3, 23, 14, 22),
            datetime.datetime(2019, 11, 4, 7, 14, 22, tzUTC),
        )
        matches = got in want
>       self.assertTrue(matches, "`%s` not present in any of\n`%s`" % (got, want))
E       AssertionError: False is not true : `2019-11-04 02:14:22` not present in any of
E       `(datetime.datetime(2019, 11, 3, 23, 14, 22), datetime.datetime(2019, 11, 4, 7, 14, 22))`

tests\unit\test_types.py:76: AssertionError
_______________________________________________________________________________________ VersionUtils.test_google_client_info_default_useragent ________________________________________________________________________________________

self = <tests.unit.test_version.VersionUtils testMethod=test_google_client_info_default_useragent>

    def test_google_client_info_default_useragent(self):
        got = google_client_info().to_grpc_metadata()
        want = ClientInfo(
            user_agent=DEFAULT_USER_AGENT,
            python_version="%d.%d.%d" % (vers.major, vers.minor, vers.micro or 0),
        ).to_grpc_metadata()
>       self.assertEqual(got, want)
E       AssertionError: Tuples differ: ('x-g[13 chars]t', 'spanner_django/0.0.1 gl-python/3.6.8 grpc[15 chars]2.1') != ('x-g[13 chars]t', 'gl-python/3.6.8 grpc/1.31.0 gax/1.22.1')
E       
E       First differing element 1:
E       'spanner_django/0.0.1 gl-python/3.6.8 grpc/1.31.0 gax/1.22.1'
E       'gl-python/3.6.8 grpc/1.31.0 gax/1.22.1'
E       
E       + ('x-goog-api-client', 'gl-python/3.6.8 grpc/1.31.0 gax/1.22.1')
E       - ('x-goog-api-client',
E       -  'spanner_django/0.0.1 gl-python/3.6.8 grpc/1.31.0 gax/1.22.1')

tests\unit\test_version.py:23: AssertionError


======================================================================================================= short test summary info =======================================================================================================
FAILED tests/unit/test_types.py::TypesTests::test_TimeFromTicks - AssertionError: False is not true : `02:14:22` not present in any of
FAILED tests/unit/test_types.py::TypesTests::test_TimestampFromTicks - AssertionError: False is not true : `2019-11-04 02:14:22` not present in any of
FAILED tests/unit/test_version.py::VersionUtils::test_google_client_info_default_useragent - AssertionError: Tuples differ: ('x-g[13 chars]t', 'spanner_django/0.0.1 gl-python/3.6.8 grpc[15 chars]2.1') != ('x-g[13 chars]t', 'gl-py...

3 failed, 28 passed in 2.30s
nox > Command py.test --quiet --cov=google.cloud --cov=tests.unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests\unit failed with exit code 1
nox > Session unit-3.6 failed.
nox > Running session unit-3.7
nox > Creating virtual environment (virtualenv) using python.exe in .nox\unit-3-7
nox > pip install mock pytest pytest-cov
nox > pip install -e .
nox > py.test --quiet --cov=google.cloud --cov=tests.unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests\unit
........................F.F...F                                                                                                                                                                                                  [100%]C
overage.py warning: Module google.cloud was previously imported, but not measured (module-not-measured)

============================================================================================================== FAILURES ===============================================================================================================
____________________________________________________________________________________________________ TypesTests.test_TimeFromTicks ____________________________________________________________________________________________________

self = <tests.unit.test_types.TypesTests testMethod=test_TimeFromTicks>

    def test_TimeFromTicks(self):
        epochTicks = 1572851662.9782631  # Sun Nov 03 23:14:22 2019
        got = TimeFromTicks(epochTicks)
        # Since continuous integration infrastructure such as Travis CI
        # uses clocks on UTC, it is useful to be able to compare against
        # either of UTC or the known standard time.
        want = (
            datetime.time(23, 14, 22),
            datetime.datetime(2019, 11, 4, 7, 14, 22, tzUTC).time(),
        )
        matches = got in want
>       self.assertTrue(matches, "`%s` not present in any of\n`%s`" % (got, want))
E       AssertionError: False is not true : `02:14:22` not present in any of
E       `(datetime.time(23, 14, 22), datetime.time(7, 14, 22))`

tests\unit\test_types.py:63: AssertionError
_________________________________________________________________________________________________ TypesTests.test_TimestampFromTicks __________________________________________________________________________________________________

self = <tests.unit.test_types.TypesTests testMethod=test_TimestampFromTicks>

    def test_TimestampFromTicks(self):
        epochTicks = 1572851662.9782631  # Sun Nov 03 23:14:22 2019
        got = TimestampFromTicks(epochTicks)
        # Since continuous integration infrastructure such as Travis CI
        # uses clocks on UTC, it is useful to be able to compare against
        # either of UTC or the known standard time.
        want = (
            datetime.datetime(2019, 11, 3, 23, 14, 22),
            datetime.datetime(2019, 11, 4, 7, 14, 22, tzUTC),
        )
        matches = got in want
>       self.assertTrue(matches, "`%s` not present in any of\n`%s`" % (got, want))
E       AssertionError: False is not true : `2019-11-04 02:14:22` not present in any of
E       `(datetime.datetime(2019, 11, 3, 23, 14, 22), datetime.datetime(2019, 11, 4, 7, 14, 22))`

tests\unit\test_types.py:76: AssertionError
_______________________________________________________________________________________ VersionUtils.test_google_client_info_default_useragent ________________________________________________________________________________________

self = <tests.unit.test_version.VersionUtils testMethod=test_google_client_info_default_useragent>

    def test_google_client_info_default_useragent(self):
        got = google_client_info().to_grpc_metadata()
        want = ClientInfo(
            user_agent=DEFAULT_USER_AGENT,
            python_version="%d.%d.%d" % (vers.major, vers.minor, vers.micro or 0),
        ).to_grpc_metadata()
>       self.assertEqual(got, want)
E       AssertionError: Tuples differ: ('x-g[13 chars]t', 'spanner_django/0.0.1 gl-python/3.7.8 grpc[15 chars]2.1') != ('x-g[13 chars]t', 'gl-python/3.7.8 grpc/1.31.0 gax/1.22.1')
E       
E       First differing element 1:
E       'spanner_django/0.0.1 gl-python/3.7.8 grpc/1.31.0 gax/1.22.1'
E       'gl-python/3.7.8 grpc/1.31.0 gax/1.22.1'
E       
E       + ('x-goog-api-client', 'gl-python/3.7.8 grpc/1.31.0 gax/1.22.1')
E       - ('x-goog-api-client',
E       -  'spanner_django/0.0.1 gl-python/3.7.8 grpc/1.31.0 gax/1.22.1')

tests\unit\test_version.py:23: AssertionError


======================================================================================================= short test summary info =======================================================================================================
FAILED tests/unit/test_types.py::TypesTests::test_TimeFromTicks - AssertionError: False is not true : `02:14:22` not present in any of
FAILED tests/unit/test_types.py::TypesTests::test_TimestampFromTicks - AssertionError: False is not true : `2019-11-04 02:14:22` not present in any of
FAILED tests/unit/test_version.py::VersionUtils::test_google_client_info_default_useragent - AssertionError: Tuples differ: ('x-g[13 chars]t', 'spanner_django/0.0.1 gl-python/3.7.8 grpc[15 chars]2.1') != ('x-g[13 chars]t', 'gl-py...

3 failed, 28 passed in 2.48s
nox > Command py.test --quiet --cov=google.cloud --cov=tests.unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests\unit failed with exit code 1
nox > Session unit-3.7 failed.
nox > Running session unit-3.8
nox > Creating virtual environment (virtualenv) using python.exe in .nox\unit-3-8
nox > pip install mock pytest pytest-cov
nox > pip install -e .
nox > py.test --quiet --cov=google.cloud --cov=tests.unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests\unit
........................F.F...F                                                                                                                                                                                                  [100%]C
overage.py warning: Module google.cloud was previously imported, but not measured (module-not-measured)

============================================================================================================== FAILURES ===============================================================================================================
____________________________________________________________________________________________________ TypesTests.test_TimeFromTicks ____________________________________________________________________________________________________

self = <tests.unit.test_types.TypesTests testMethod=test_TimeFromTicks>

    def test_TimeFromTicks(self):
        epochTicks = 1572851662.9782631  # Sun Nov 03 23:14:22 2019
        got = TimeFromTicks(epochTicks)
        # Since continuous integration infrastructure such as Travis CI
        # uses clocks on UTC, it is useful to be able to compare against
        # either of UTC or the known standard time.
        want = (
            datetime.time(23, 14, 22),
            datetime.datetime(2019, 11, 4, 7, 14, 22, tzUTC).time(),
        )
        matches = got in want
>       self.assertTrue(matches, "`%s` not present in any of\n`%s`" % (got, want))
E       AssertionError: False is not true : `02:14:22` not present in any of
E       `(datetime.time(23, 14, 22), datetime.time(7, 14, 22))`

tests\unit\test_types.py:63: AssertionError
_________________________________________________________________________________________________ TypesTests.test_TimestampFromTicks __________________________________________________________________________________________________

self = <tests.unit.test_types.TypesTests testMethod=test_TimestampFromTicks>

    def test_TimestampFromTicks(self):
        epochTicks = 1572851662.9782631  # Sun Nov 03 23:14:22 2019
        got = TimestampFromTicks(epochTicks)
        # Since continuous integration infrastructure such as Travis CI
        # uses clocks on UTC, it is useful to be able to compare against
        # either of UTC or the known standard time.
        want = (
            datetime.datetime(2019, 11, 3, 23, 14, 22),
            datetime.datetime(2019, 11, 4, 7, 14, 22, tzUTC),
        )
        matches = got in want
>       self.assertTrue(matches, "`%s` not present in any of\n`%s`" % (got, want))
E       AssertionError: False is not true : `2019-11-04 02:14:22` not present in any of
E       `(datetime.datetime(2019, 11, 3, 23, 14, 22), datetime.datetime(2019, 11, 4, 7, 14, 22))`

tests\unit\test_types.py:76: AssertionError
_______________________________________________________________________________________ VersionUtils.test_google_client_info_default_useragent ________________________________________________________________________________________

self = <tests.unit.test_version.VersionUtils testMethod=test_google_client_info_default_useragent>

    def test_google_client_info_default_useragent(self):
        got = google_client_info().to_grpc_metadata()
        want = ClientInfo(
            user_agent=DEFAULT_USER_AGENT,
            python_version="%d.%d.%d" % (vers.major, vers.minor, vers.micro or 0),
        ).to_grpc_metadata()
>       self.assertEqual(got, want)
E       AssertionError: Tuples differ: ('x-g[13 chars]t', 'spanner_django/0.0.1 gl-python/3.8.3 grpc[15 chars]2.1') != ('x-g[13 chars]t', 'gl-python/3.8.3 grpc/1.31.0 gax/1.22.1')
E       
E       First differing element 1:
E       'spanner_django/0.0.1 gl-python/3.8.3 grpc/1.31.0 gax/1.22.1'
E       'gl-python/3.8.3 grpc/1.31.0 gax/1.22.1'
E       
E       + ('x-goog-api-client', 'gl-python/3.8.3 grpc/1.31.0 gax/1.22.1')
E       - ('x-goog-api-client',
E       -  'spanner_django/0.0.1 gl-python/3.8.3 grpc/1.31.0 gax/1.22.1')

tests\unit\test_version.py:23: AssertionError
========================================================================================================== warnings summary ===========================================================================================================
.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:30
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:30: DeprecationWarning: Call to deprecated create function FileDescriptor(). Note: Create unlinked descriptors is going to go away. Please use get
/find descriptors from generated code or query the descriptor_pool.
    DESCRIPTOR = _descriptor.FileDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:46
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:46: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use ge
t/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:64
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:64: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use ge
t/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:39
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:39: DeprecationWarning: Call to deprecated create function Descriptor(). Note: Create unlinked descriptors is going to go away. Please use get/fin
d descriptors from generated code or query the descriptor_pool.
    _HTTP = _descriptor.Descriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:103
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:103: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:121
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:121: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:139
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:139: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:157
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:157: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:175
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:175: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:193
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:193: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:211
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:211: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:229
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:229: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:247
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:247: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:265
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:265: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:292
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:292: DeprecationWarning: Call to deprecated create function OneofDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.OneofDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:96
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:96: DeprecationWarning: Call to deprecated create function Descriptor(). Note: Create unlinked descriptors is going to go away. Please use get/fin
d descriptors from generated code or query the descriptor_pool.
    _HTTPRULE = _descriptor.Descriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:312
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:312: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:330
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:330: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:305
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\http_pb2.py:305: DeprecationWarning: Call to deprecated create function Descriptor(). Note: Create unlinked descriptors is going to go away. Please use get/fi
nd descriptors from generated code or query the descriptor_pool.
    _CUSTOMHTTPPATTERN = _descriptor.Descriptor(

.nox\unit-3-8\lib\site-packages\google\api\annotations_pb2.py:34
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\annotations_pb2.py:34: DeprecationWarning: Call to deprecated create function FileDescriptor(). Note: Create unlinked descriptors is going to go away. Please
use get/find descriptors from generated code or query the descriptor_pool.
    DESCRIPTOR = _descriptor.FileDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\annotations_pb2.py:48
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\annotations_pb2.py:48: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please
 use get/find descriptors from generated code or query the descriptor_pool.
    http = _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\client_pb2.py:33
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\client_pb2.py:33: DeprecationWarning: Call to deprecated create function FileDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    DESCRIPTOR = _descriptor.FileDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\client_pb2.py:44
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\client_pb2.py:44: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use
get/find descriptors from generated code or query the descriptor_pool.
    default_host = _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\client_pb2.py:63
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\client_pb2.py:63: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use
get/find descriptors from generated code or query the descriptor_pool.
    oauth_scopes = _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\client_pb2.py:82
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\client_pb2.py:82: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use
get/find descriptors from generated code or query the descriptor_pool.
    method_signature = _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:34
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:34: DeprecationWarning: Call to deprecated create function FileDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    DESCRIPTOR = _descriptor.FileDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:49
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:49: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away.
 Please use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:56
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:56: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away.
 Please use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:59
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:59: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away.
 Please use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:62
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:62: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away.
 Please use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:65
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:65: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away.
 Please use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:68
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:68: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away.
 Please use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:43
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:43: DeprecationWarning: Call to deprecated create function EnumDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _FIELDBEHAVIOR = _descriptor.EnumDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:88
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\field_behavior_pb2.py:88: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Ple
ase use get/find descriptors from generated code or query the descriptor_pool.
    field_behavior = _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:33
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:33: DeprecationWarning: Call to deprecated create function FileDescriptor(). Note: Create unlinked descriptors is going to go away. Please use
 get/find descriptors from generated code or query the descriptor_pool.
    DESCRIPTOR = _descriptor.FileDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:44
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:44: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please us
e get/find descriptors from generated code or query the descriptor_pool.
    resource_reference = _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:63
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:63: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please us
e get/find descriptors from generated code or query the descriptor_pool.
    resource_definition = _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:82
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:82: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please us
e get/find descriptors from generated code or query the descriptor_pool.
    resource = _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:107
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:107: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:114
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:114: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:121
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:121: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:101
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:101: DeprecationWarning: Call to deprecated create function EnumDescriptor(). Note: Create unlinked descriptors is going to go away. Please us
e get/find descriptors from generated code or query the descriptor_pool.
    _RESOURCEDESCRIPTOR_HISTORY = _descriptor.EnumDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:144
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:144: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please u
se get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:162
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:162: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please u
se get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:180
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:180: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please u
se get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:198
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:198: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please u
se get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:216
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:216: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please u
se get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:234
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:234: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please u
se get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:137
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:137: DeprecationWarning: Call to deprecated create function Descriptor(). Note: Create unlinked descriptors is going to go away. Please use ge
t/find descriptors from generated code or query the descriptor_pool.
    _RESOURCEDESCRIPTOR = _descriptor.Descriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:273
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:273: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please u
se get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:291
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:291: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please u
se get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:266
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\api\resource_pb2.py:266: DeprecationWarning: Call to deprecated create function Descriptor(). Note: Create unlinked descriptors is going to go away. Please use ge
t/find descriptors from generated code or query the descriptor_pool.
    _RESOURCEREFERENCE = _descriptor.Descriptor(

.nox\unit-3-8\lib\site-packages\google\rpc\status_pb2.py:33
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\rpc\status_pb2.py:33: DeprecationWarning: Call to deprecated create function FileDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    DESCRIPTOR = _descriptor.FileDescriptor(

.nox\unit-3-8\lib\site-packages\google\rpc\status_pb2.py:50
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\rpc\status_pb2.py:50: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use
get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\rpc\status_pb2.py:68
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\rpc\status_pb2.py:68: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use
get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\rpc\status_pb2.py:86
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\rpc\status_pb2.py:86: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use
get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\rpc\status_pb2.py:43
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\rpc\status_pb2.py:43: DeprecationWarning: Call to deprecated create function Descriptor(). Note: Create unlinked descriptors is going to go away. Please use get/f
ind descriptors from generated code or query the descriptor_pool.
    _STATUS = _descriptor.Descriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:18
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:18: DeprecationWarning: Call to deprecated create function FileDescriptor(). Note: Create unlinked descriptors is going to go away. Please
 use get/find descriptors from generated code or query the descriptor_pool.
    DESCRIPTOR = _descriptor.FileDescriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:33
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:33: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away. P
lease use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:37
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:37: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away. P
lease use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:41
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:41: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away. P
lease use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:27
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:27: DeprecationWarning: Call to deprecated create function EnumDescriptor(). Note: Create unlinked descriptors is going to go away. Please
 use get/find descriptors from generated code or query the descriptor_pool.
    _AFFINITYCONFIG_COMMAND = _descriptor.EnumDescriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:61
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:61: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Pleas
e use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:68
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:68: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Pleas
e use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:54
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:54: DeprecationWarning: Call to deprecated create function Descriptor(). Note: Create unlinked descriptors is going to go away. Please use
 get/find descriptors from generated code or query the descriptor_pool.
    _APICONFIG = _descriptor.Descriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:99
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:99: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Pleas
e use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:106
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:106: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:113
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:113: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:92
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:92: DeprecationWarning: Call to deprecated create function Descriptor(). Note: Create unlinked descriptors is going to go away. Please use
 get/find descriptors from generated code or query the descriptor_pool.
    _CHANNELPOOLCONFIG = _descriptor.Descriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:144
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:144: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:151
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:151: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:137
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:137: DeprecationWarning: Call to deprecated create function Descriptor(). Note: Create unlinked descriptors is going to go away. Please us
e get/find descriptors from generated code or query the descriptor_pool.
    _METHODCONFIG = _descriptor.Descriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:182
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:182: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:189
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:189: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:175
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\grpc_gcp\proto\grpc_gcp_pb2.py:175: DeprecationWarning: Call to deprecated create function Descriptor(). Note: Create unlinked descriptors is going to go away. Please us
e get/find descriptors from generated code or query the descriptor_pool.
    _AFFINITYCONFIG = _descriptor.Descriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\options_pb2.py:19
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\options_pb2.py:19: DeprecationWarning: Call to deprecated create function FileDescriptor(). Note: Create unlinked descriptors is going to go away. Please u
se get/find descriptors from generated code or query the descriptor_pool.
    DESCRIPTOR = _descriptor.FileDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\options_pb2.py:38
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\options_pb2.py:38: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please
use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\options_pb2.py:31
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\options_pb2.py:31: DeprecationWarning: Call to deprecated create function Descriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _GETPOLICYOPTIONS = _descriptor.Descriptor(

.nox\unit-3-8\lib\site-packages\google\type\expr_pb2.py:30
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\type\expr_pb2.py:30: DeprecationWarning: Call to deprecated create function FileDescriptor(). Note: Create unlinked descriptors is going to go away. Please use ge
t/find descriptors from generated code or query the descriptor_pool.
    DESCRIPTOR = _descriptor.FileDescriptor(

.nox\unit-3-8\lib\site-packages\google\type\expr_pb2.py:46
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\type\expr_pb2.py:46: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\type\expr_pb2.py:64
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\type\expr_pb2.py:64: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\type\expr_pb2.py:82
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\type\expr_pb2.py:82: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use g
et/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\type\expr_pb2.py:100
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\type\expr_pb2.py:100: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use
get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\type\expr_pb2.py:39
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\type\expr_pb2.py:39: DeprecationWarning: Call to deprecated create function Descriptor(). Note: Create unlinked descriptors is going to go away. Please use get/fi
nd descriptors from generated code or query the descriptor_pool.
    _EXPR = _descriptor.Descriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:20
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:20: DeprecationWarning: Call to deprecated create function FileDescriptor(). Note: Create unlinked descriptors is going to go away. Please us
e get/find descriptors from generated code or query the descriptor_pool.
    DESCRIPTOR = _descriptor.FileDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:37
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:37: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:41
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:41: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:45
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:45: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:31
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:31: DeprecationWarning: Call to deprecated create function EnumDescriptor(). Note: Create unlinked descriptors is going to go away. Please us
e get/find descriptors from generated code or query the descriptor_pool.
    _BINDINGDELTA_ACTION = _descriptor.EnumDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:63
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:63: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:67
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:67: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:71
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:71: DeprecationWarning: Call to deprecated create function EnumValueDescriptor(). Note: Create unlinked descriptors is going to go away. Plea
se use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.EnumValueDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:57
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:57: DeprecationWarning: Call to deprecated create function EnumDescriptor(). Note: Create unlinked descriptors is going to go away. Please us
e get/find descriptors from generated code or query the descriptor_pool.
    _AUDITCONFIGDELTA_ACTION = _descriptor.EnumDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:91
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:91: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please u
se get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:98
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:98: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please u
se get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:105
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:105: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please
use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:84
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:84: DeprecationWarning: Call to deprecated create function Descriptor(). Note: Create unlinked descriptors is going to go away. Please use ge
t/find descriptors from generated code or query the descriptor_pool.
    _POLICY = _descriptor.Descriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:136
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:136: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please
use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:143
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:143: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please
use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:150
  c:\git\python-spanner-django\.nox\unit-3-8\lib\site-packages\google\iam\v1\policy_pb2.py:150: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please
use get/find descriptors from generated code or query the descriptor_pool.
    _descriptor.FieldDescriptor(

-- Docs: https://docs.pytest.org/en/stable/warnings.html


======================================================================================================= short test summary info =======================================================================================================
FAILED tests/unit/test_types.py::TypesTests::test_TimeFromTicks - AssertionError: False is not true : `02:14:22` not present in any of
FAILED tests/unit/test_types.py::TypesTests::test_TimestampFromTicks - AssertionError: False is not true : `2019-11-04 02:14:22` not present in any of
FAILED tests/unit/test_version.py::VersionUtils::test_google_client_info_default_useragent - AssertionError: Tuples differ: ('x-g[13 chars]t', 'spanner_django/0.0.1 gl-python/3.8.3 grpc[15 chars]2.1') != ('x-g[13 chars]t', 'gl-py...

3 failed, 28 passed, 100 warnings in 2.55s
nox > Command py.test --quiet --cov=google.cloud --cov=tests.unit --cov-append --cov-config=.coveragerc --cov-report= --cov-fail-under=0 tests\unit failed with exit code 1
nox > Session unit-3.8 failed.
nox > Running session system-2.7
nox > Session system-2.7 skipped: Python interpreter 2.7 not found.
nox > Running session system-3.7
nox > Creating virtual environment (virtualenv) using python.exe in .nox\system-3-7
nox > Session system-3.7 skipped: Credentials or emulator host must be set via environment variable.
nox > Running session cover
nox > Creating virtual environment (virtualenv) using python.exe in .nox\cover
nox > pip install coverage pytest-cov
nox > coverage report --show-missing --fail-under=99
Name                                                                                                                       Stmts   Miss  Cover   Missing
--------------------------------------------------------------------------------------------------------------------------------------------------------
.nox\unit-3-6\Lib\site-packages\google\cloud\_helpers.py                                                                     166     97    42%   81-82, 87, 92, 101, 110-111, 126, 130-132, 136, 140, 143, 146, 165-170, 185-187, 199-20
0, 212, 224-229, 241-242, 255, 268-274, 286, 305-321, 337-341, 366-370, 385-389, 406-414, 426, 440-441, 453-456, 473-475, 492, 519-537, 562-567, 597-600, 621-627
.nox\unit-3-6\Lib\site-packages\google\cloud\client.py                                                                        70     42    40%   74-86, 131-159, 163, 179-184, 201-211, 216, 249-250
.nox\unit-3-6\Lib\site-packages\google\cloud\exceptions.py                                                                    31      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_database_v1\__init__.py                                             8      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\__init__.py                                       0      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\database_admin_client.py                        316    260    18%   87-89, 96, 106, 116, 165-232, 298-337, 409-440, 489-513, 593-622, 668-692, 739-763, 826
-850, 909-935, 998-1024, 1105-1134, 1183-1207, 1272-1296, 1339-1363, 1466-1505, 1583-1616, 1733-1772, 1884-1923
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\database_admin_client_config.py                   1      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\enums.py                                         16      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\transports\__init__.py                            0      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\transports\database_admin_grpc_transport.py      52     26    50%   58-87, 110, 121, 134, 152, 165, 183, 197, 212, 230, 249, 270, 291, 304, 317, 330, 345,
370, 389, 410
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_database_v1\proto\__init__.py                                       0      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_database_v1\proto\backup_pb2.py                                    88      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_database_v1\proto\common_pb2.py                                    17      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_database_v1\proto\spanner_database_admin_pb2.py                   139      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_database_v1\proto\spanner_database_admin_pb2_grpc.py               99     71    28%   33-113, 132-134, 146-148, 153-155, 166-168, 175-177, 184-186, 197-199, 211-213, 227-229
, 245-247, 252-254, 259-261, 266-268, 275-277, 298-300, 312-314, 328-330, 334-424
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_database_v1\types.py                                               27      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_instance_v1\__init__.py                                             8      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\__init__.py                                       0      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\enums.py                                         13      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\instance_admin_client.py                        211    164    22%   100-102, 109, 118, 127, 174-241, 308-347, 391-415, 501-540, 591-617, 718-747, 856-885,
941-965, 1027-1051, 1108-1134, 1195-1221
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\instance_admin_client_config.py                   1      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\transports\__init__.py                            0      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\transports\instance_admin_grpc_transport.py      38     19    50%   58-87, 110, 121, 134, 147, 160, 173, 216, 264, 287, 304, 321, 340
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_instance_v1\proto\__init__.py                                       0      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_instance_v1\proto\spanner_instance_admin_pb2.py                   118      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_instance_v1\proto\spanner_instance_admin_pb2_grpc.py               63     43    32%   45-90, 124-126, 131-133, 138-140, 145-147, 185-187, 231-233, 248-250, 259-261, 270-272,
 282-284, 288-343
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_admin_instance_v1\types.py                                               28      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\__init__.py                                                           16      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\_helpers.py                                                          102     81    21%   40-44, 73-86, 100-130, 145, 157, 174-206, 224-230, 241, 253
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\backup.py                                                             90     64    29%   58-65, 78, 91, 101, 111, 120, 129, 139, 159-176, 188-202, 210-217, 226-234, 242-250, 25
8, 262-264, 269-271, 275
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\batch.py                                                              46     24    48%   37-38, 48, 62, 76, 90, 106, 117-118, 136-137, 145-157, 161-163, 167-168, 186
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\client.py                                                             97     52    46%   75, 79, 93-94, 107, 177-213, 223, 242, 247-263, 268-284, 295, 326-333, 368, 406-413, 42
7, 443
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\database.py                                                          274    189    31%   99-111, 136-155, 173, 182, 192, 201, 213, 218-237, 240-242, 247, 262-274, 285-292, 304-
311, 330-337, 345-347, 377-426, 437, 456, 467, 482, 512-522, 538-545, 553, 564, 584-587, 606-607, 611-613, 617-621, 643-645, 649-650, 654, 672-676, 690-695, 705-707, 720-723, 727-734, 741, 748, 794-810, 823-826, 884-905, 918, 934-93
8, 950-951, 969-975, 980-981, 985, 1000-1001
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\gapic\__init__.py                                                      0      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\gapic\enums.py                                                        25      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\gapic\spanner_client.py                                              276    226    18%   80-82, 89, 99, 150-217, 282-306, 367-395, 441-465, 542-581, 623-647, 781-816, 945-980,
1073-1099, 1210-1242, 1347-1381, 1436-1460, 1532-1567, 1620-1646, 1754-1785, 1879-1911
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\gapic\spanner_client_config.py                                         1      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\gapic\transports\__init__.py                                           0      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\gapic\transports\spanner_grpc_transport.py                            55     28    49%   64-85, 106-113, 124, 153, 169, 183, 196, 211, 234, 250, 273, 297, 313, 328, 348, 367, 3
90, 415
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\instance.py                                                          122     82    33%   71, 115-120, 127-131, 151-166, 184, 187-195, 198, 209-210, 241-257, 268-276, 286-291, 3
15-329, 346-349, 368, 395-401, 415, 433-438, 458-463, 477, 498-503, 524-529, 543-546
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\keyset.py                                                             77     61    21%   50-66, 74-88, 96-110, 114-116, 133-137, 145-155, 166-169, 176-178, 187-193
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\param_types.py                                                        15      3    80%   39, 54, 66
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\pool.py                                                              179    132    26%   39-41, 50, 64, 75, 89, 100, 108-110, 122, 156-159, 168-179, 192-201, 213, 218-224, 248-
251, 260, 269-278, 289-295, 300-306, 345-349, 358-371, 384-397, 409, 413-419, 427-442, 473-479, 488-489, 501-509, 513-516, 532-533, 536-537, 540
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\proto\__init__.py                                                      0      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\proto\keys_pb2.py                                                     32      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\proto\mutation_pb2.py                                                 38      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\proto\query_plan_pb2.py                                               38      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\proto\result_set_pb2.py                                               43      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\proto\spanner_pb2.py                                                 200      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\proto\spanner_pb2_grpc.py                                             87     63    28%   29-99, 134-136, 144-146, 153-155, 160-162, 169-171, 186-188, 197-199, 214-216, 233-235,
 244-246, 254-256, 268-270, 282-284, 299-301, 318-320, 324-404
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\proto\transaction_pb2.py                                              64      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\proto\type_pb2.py                                                     40      0   100%
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\session.py                                                           133    100    25%   59-62, 65, 70, 79, 98-100, 110-118, 129-138, 149-154, 161-165, 181-184, 208, 248, 265-2
68, 277-285, 310-344, 365-378, 396-404
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\snapshot.py                                                          162    132    19%   41-62, 88, 122-153, 205-254, 298-323, 365-398, 445-464, 468-494, 505-522
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\streamed.py                                                          136    108    21%   43-50, 59, 68, 78, 90-94, 102-109, 116-136, 139-148, 158-161, 172-192, 209-214, 219, 22
4-235, 240, 248-272, 277-292, 310-311
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\transaction.py                                                       100     76    24%   47-50, 58-65, 74-75, 85-102, 106-112, 121-134, 156-166, 199-226, 250-281, 285-286, 290-
293
.nox\unit-3-6\Lib\site-packages\google\cloud\spanner_v1\types.py                                                              29      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\_helpers.py                                                                     166     97    42%   81-82, 87, 92, 101, 110-111, 126, 130-132, 136, 140, 143, 146, 165-170, 185-187, 199-20
0, 212, 224-229, 241-242, 255, 268-274, 286, 305-321, 337-341, 366-370, 385-389, 406-414, 426, 440-441, 453-456, 473-475, 492, 519-537, 562-567, 597-600, 621-627
.nox\unit-3-7\Lib\site-packages\google\cloud\client.py                                                                        70     42    40%   74-86, 131-159, 163, 179-184, 201-211, 216, 249-250
.nox\unit-3-7\Lib\site-packages\google\cloud\exceptions.py                                                                    31      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_database_v1\__init__.py                                             8      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\__init__.py                                       0      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\database_admin_client.py                        316    260    18%   87-89, 96, 106, 116, 165-232, 298-337, 409-440, 489-513, 593-622, 668-692, 739-763, 826
-850, 909-935, 998-1024, 1105-1134, 1183-1207, 1272-1296, 1339-1363, 1466-1505, 1583-1616, 1733-1772, 1884-1923
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\database_admin_client_config.py                   1      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\enums.py                                         16      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\transports\__init__.py                            0      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\transports\database_admin_grpc_transport.py      52     26    50%   58-87, 110, 121, 134, 152, 165, 183, 197, 212, 230, 249, 270, 291, 304, 317, 330, 345,
370, 389, 410
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_database_v1\proto\__init__.py                                       0      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_database_v1\proto\backup_pb2.py                                    88      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_database_v1\proto\common_pb2.py                                    17      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_database_v1\proto\spanner_database_admin_pb2.py                   139      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_database_v1\proto\spanner_database_admin_pb2_grpc.py               99     71    28%   33-113, 132-134, 146-148, 153-155, 166-168, 175-177, 184-186, 197-199, 211-213, 227-229
, 245-247, 252-254, 259-261, 266-268, 275-277, 298-300, 312-314, 328-330, 334-424
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_database_v1\types.py                                               27      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_instance_v1\__init__.py                                             8      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\__init__.py                                       0      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\enums.py                                         13      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\instance_admin_client.py                        211    164    22%   100-102, 109, 118, 127, 174-241, 308-347, 391-415, 501-540, 591-617, 718-747, 856-885,
941-965, 1027-1051, 1108-1134, 1195-1221
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\instance_admin_client_config.py                   1      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\transports\__init__.py                            0      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\transports\instance_admin_grpc_transport.py      38     19    50%   58-87, 110, 121, 134, 147, 160, 173, 216, 264, 287, 304, 321, 340
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_instance_v1\proto\__init__.py                                       0      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_instance_v1\proto\spanner_instance_admin_pb2.py                   118      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_instance_v1\proto\spanner_instance_admin_pb2_grpc.py               63     43    32%   45-90, 124-126, 131-133, 138-140, 145-147, 185-187, 231-233, 248-250, 259-261, 270-272,
 282-284, 288-343
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_admin_instance_v1\types.py                                               28      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\__init__.py                                                           16      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\_helpers.py                                                          102     81    21%   40-44, 73-86, 100-130, 145, 157, 174-206, 224-230, 241, 253
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\backup.py                                                             90     64    29%   58-65, 78, 91, 101, 111, 120, 129, 139, 159-176, 188-202, 210-217, 226-234, 242-250, 25
8, 262-264, 269-271, 275
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\batch.py                                                              46     24    48%   37-38, 48, 62, 76, 90, 106, 117-118, 136-137, 145-157, 161-163, 167-168, 186
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\client.py                                                             97     52    46%   75, 79, 93-94, 107, 177-213, 223, 242, 247-263, 268-284, 295, 326-333, 368, 406-413, 42
7, 443
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\database.py                                                          274    189    31%   99-111, 136-155, 173, 182, 192, 201, 213, 218-237, 240-242, 247, 262-274, 285-292, 304-
311, 330-337, 345-347, 377-426, 437, 456, 467, 482, 512-522, 538-545, 553, 564, 584-587, 606-607, 611-613, 617-621, 643-645, 649-650, 654, 672-676, 690-695, 705-707, 720-723, 727-734, 741, 748, 794-810, 823-826, 884-905, 918, 934-93
8, 950-951, 969-975, 980-981, 985, 1000-1001
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\gapic\__init__.py                                                      0      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\gapic\enums.py                                                        25      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\gapic\spanner_client.py                                              276    226    18%   80-82, 89, 99, 150-217, 282-306, 367-395, 441-465, 542-581, 623-647, 781-816, 945-980,
1073-1099, 1210-1242, 1347-1381, 1436-1460, 1532-1567, 1620-1646, 1754-1785, 1879-1911
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\gapic\spanner_client_config.py                                         1      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\gapic\transports\__init__.py                                           0      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\gapic\transports\spanner_grpc_transport.py                            55     28    49%   64-85, 106-113, 124, 153, 169, 183, 196, 211, 234, 250, 273, 297, 313, 328, 348, 367, 3
90, 415
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\instance.py                                                          122     82    33%   71, 115-120, 127-131, 151-166, 184, 187-195, 198, 209-210, 241-257, 268-276, 286-291, 3
15-329, 346-349, 368, 395-401, 415, 433-438, 458-463, 477, 498-503, 524-529, 543-546
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\keyset.py                                                             77     61    21%   50-66, 74-88, 96-110, 114-116, 133-137, 145-155, 166-169, 176-178, 187-193
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\param_types.py                                                        15      3    80%   39, 54, 66
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\pool.py                                                              179    132    26%   39-41, 50, 64, 75, 89, 100, 108-110, 122, 156-159, 168-179, 192-201, 213, 218-224, 248-
251, 260, 269-278, 289-295, 300-306, 345-349, 358-371, 384-397, 409, 413-419, 427-442, 473-479, 488-489, 501-509, 513-516, 532-533, 536-537, 540
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\proto\__init__.py                                                      0      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\proto\keys_pb2.py                                                     32      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\proto\mutation_pb2.py                                                 38      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\proto\query_plan_pb2.py                                               38      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\proto\result_set_pb2.py                                               43      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\proto\spanner_pb2.py                                                 200      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\proto\spanner_pb2_grpc.py                                             87     63    28%   29-99, 134-136, 144-146, 153-155, 160-162, 169-171, 186-188, 197-199, 214-216, 233-235,
 244-246, 254-256, 268-270, 282-284, 299-301, 318-320, 324-404
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\proto\transaction_pb2.py                                              64      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\proto\type_pb2.py                                                     40      0   100%
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\session.py                                                           133    100    25%   59-62, 65, 70, 79, 98-100, 110-118, 129-138, 149-154, 161-165, 181-184, 208, 248, 265-2
68, 277-285, 310-344, 365-378, 396-404
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\snapshot.py                                                          162    132    19%   41-62, 88, 122-153, 205-254, 298-323, 365-398, 445-464, 468-494, 505-522
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\streamed.py                                                          136    108    21%   43-50, 59, 68, 78, 90-94, 102-109, 116-136, 139-148, 158-161, 172-192, 209-214, 219, 22
4-235, 240, 248-272, 277-292, 310-311
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\transaction.py                                                       100     76    24%   47-50, 58-65, 74-75, 85-102, 106-112, 121-134, 156-166, 199-226, 250-281, 285-286, 290-
293
.nox\unit-3-7\Lib\site-packages\google\cloud\spanner_v1\types.py                                                              29      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\_helpers.py                                                                     166     97    42%   81-82, 87, 92, 101, 110-111, 126, 130-132, 136, 140, 143, 146, 165-170, 185-187, 199-20
0, 212, 224-229, 241-242, 255, 268-274, 286, 305-321, 337-341, 366-370, 385-389, 406-414, 426, 440-441, 453-456, 473-475, 492, 519-537, 562-567, 597-600, 621-627
.nox\unit-3-8\Lib\site-packages\google\cloud\client.py                                                                        70     42    40%   74-86, 131-159, 163, 179-184, 201-211, 216, 249-250
.nox\unit-3-8\Lib\site-packages\google\cloud\exceptions.py                                                                    31      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_database_v1\__init__.py                                             8      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\__init__.py                                       0      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\database_admin_client.py                        316    260    18%   87-89, 96, 106, 116, 165-232, 298-337, 409-440, 489-513, 593-622, 668-692, 739-763, 826
-850, 909-935, 998-1024, 1105-1134, 1183-1207, 1272-1296, 1339-1363, 1466-1505, 1583-1616, 1733-1772, 1884-1923
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\database_admin_client_config.py                   1      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\enums.py                                         16      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\transports\__init__.py                            0      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_database_v1\gapic\transports\database_admin_grpc_transport.py      52     26    50%   58-87, 110, 121, 134, 152, 165, 183, 197, 212, 230, 249, 270, 291, 304, 317, 330, 345,
370, 389, 410
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_database_v1\proto\__init__.py                                       0      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_database_v1\proto\backup_pb2.py                                    88      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_database_v1\proto\common_pb2.py                                    17      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_database_v1\proto\spanner_database_admin_pb2.py                   139      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_database_v1\proto\spanner_database_admin_pb2_grpc.py               99     71    28%   33-113, 132-134, 146-148, 153-155, 166-168, 175-177, 184-186, 197-199, 211-213, 227-229
, 245-247, 252-254, 259-261, 266-268, 275-277, 298-300, 312-314, 328-330, 334-424
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_database_v1\types.py                                               27      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_instance_v1\__init__.py                                             8      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\__init__.py                                       0      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\enums.py                                         13      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\instance_admin_client.py                        211    164    22%   100-102, 109, 118, 127, 174-241, 308-347, 391-415, 501-540, 591-617, 718-747, 856-885,
941-965, 1027-1051, 1108-1134, 1195-1221
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\instance_admin_client_config.py                   1      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\transports\__init__.py                            0      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_instance_v1\gapic\transports\instance_admin_grpc_transport.py      38     19    50%   58-87, 110, 121, 134, 147, 160, 173, 216, 264, 287, 304, 321, 340
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_instance_v1\proto\__init__.py                                       0      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_instance_v1\proto\spanner_instance_admin_pb2.py                   118      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_instance_v1\proto\spanner_instance_admin_pb2_grpc.py               63     43    32%   45-90, 124-126, 131-133, 138-140, 145-147, 185-187, 231-233, 248-250, 259-261, 270-272,
 282-284, 288-343
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_admin_instance_v1\types.py                                               28      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\__init__.py                                                           16      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\_helpers.py                                                          102     81    21%   40-44, 73-86, 100-130, 145, 157, 174-206, 224-230, 241, 253
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\backup.py                                                             90     64    29%   58-65, 78, 91, 101, 111, 120, 129, 139, 159-176, 188-202, 210-217, 226-234, 242-250, 25
8, 262-264, 269-271, 275
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\batch.py                                                              46     24    48%   37-38, 48, 62, 76, 90, 106, 117-118, 136-137, 145-157, 161-163, 167-168, 186
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\client.py                                                             97     52    46%   75, 79, 93-94, 107, 177-213, 223, 242, 247-263, 268-284, 295, 326-333, 368, 406-413, 42
7, 443
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\database.py                                                          274    189    31%   99-111, 136-155, 173, 182, 192, 201, 213, 218-237, 240-242, 247, 262-274, 285-292, 304-
311, 330-337, 345-347, 377-426, 437, 456, 467, 482, 512-522, 538-545, 553, 564, 584-587, 606-607, 611-613, 617-621, 643-645, 649-650, 654, 672-676, 690-695, 705-707, 720-723, 727-734, 741, 748, 794-810, 823-826, 884-905, 918, 934-93
8, 950-951, 969-975, 980-981, 985, 1000-1001
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\gapic\__init__.py                                                      0      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\gapic\enums.py                                                        25      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\gapic\spanner_client.py                                              276    226    18%   80-82, 89, 99, 150-217, 282-306, 367-395, 441-465, 542-581, 623-647, 781-816, 945-980,
1073-1099, 1210-1242, 1347-1381, 1436-1460, 1532-1567, 1620-1646, 1754-1785, 1879-1911
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\gapic\spanner_client_config.py                                         1      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\gapic\transports\__init__.py                                           0      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\gapic\transports\spanner_grpc_transport.py                            55     28    49%   64-85, 106-113, 124, 153, 169, 183, 196, 211, 234, 250, 273, 297, 313, 328, 348, 367, 3
90, 415
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\instance.py                                                          122     82    33%   71, 115-120, 127-131, 151-166, 184, 187-195, 198, 209-210, 241-257, 268-276, 286-291, 3
15-329, 346-349, 368, 395-401, 415, 433-438, 458-463, 477, 498-503, 524-529, 543-546
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\keyset.py                                                             77     61    21%   50-66, 74-88, 96-110, 114-116, 133-137, 145-155, 166-169, 176-178, 187-193
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\param_types.py                                                        15      3    80%   39, 54, 66
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\pool.py                                                              179    132    26%   39-41, 50, 64, 75, 89, 100, 108-110, 122, 156-159, 168-179, 192-201, 213, 218-224, 248-
251, 260, 269-278, 289-295, 300-306, 345-349, 358-371, 384-397, 409, 413-419, 427-442, 473-479, 488-489, 501-509, 513-516, 532-533, 536-537, 540
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\proto\__init__.py                                                      0      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\proto\keys_pb2.py                                                     32      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\proto\mutation_pb2.py                                                 38      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\proto\query_plan_pb2.py                                               38      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\proto\result_set_pb2.py                                               43      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\proto\spanner_pb2.py                                                 200      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\proto\spanner_pb2_grpc.py                                             87     63    28%   29-99, 134-136, 144-146, 153-155, 160-162, 169-171, 186-188, 197-199, 214-216, 233-235,
 244-246, 254-256, 268-270, 282-284, 299-301, 318-320, 324-404
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\proto\transaction_pb2.py                                              64      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\proto\type_pb2.py                                                     40      0   100%
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\session.py                                                           133    100    25%   59-62, 65, 70, 79, 98-100, 110-118, 129-138, 149-154, 161-165, 181-184, 208, 248, 265-2
68, 277-285, 310-344, 365-378, 396-404
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\snapshot.py                                                          162    132    19%   41-62, 88, 122-153, 205-254, 298-323, 365-398, 445-464, 468-494, 505-522
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\streamed.py                                                          136    108    21%   43-50, 59, 68, 78, 90-94, 102-109, 116-136, 139-148, 158-161, 172-192, 209-214, 219, 22
4-235, 240, 248-272, 277-292, 310-311
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\transaction.py                                                       100     76    24%   47-50, 58-65, 74-75, 85-102, 106-112, 121-134, 156-166, 199-226, 250-281, 285-286, 290-
293
.nox\unit-3-8\Lib\site-packages\google\cloud\spanner_v1\types.py                                                              29      0   100%
google\cloud\__init__.py                                                                                                       6      3    50%   20-23
google\cloud\spanner_dbapi\__init__.py                                                                                        30     16    47%   74-95
google\cloud\spanner_dbapi\connection.py                                                                                      62     40    35%   19-21, 24-26, 32-33, 44-46, 49-50, 53-54, 57-58, 61-69, 72, 86-90, 93-111, 114-116, 119
-121, 124, 129, 132-133
google\cloud\spanner_dbapi\cursor.py                                                                                         172    131    24%   51-60, 72-101, 104, 107-117, 120-145, 150-156, 160-163, 166-191, 194, 197, 200, 204-220
, 224, 230-231, 234-235, 238-242, 245-247, 250-252, 255-260, 263-265, 280-292, 296, 299, 302, 305, 308, 311, 314, 328-334, 337, 340-353, 356-376
google\cloud\spanner_dbapi\exceptions.py                                                                                      20      0   100%
google\cloud\spanner_dbapi\parse_utils.py                                                                                    156      8    95%   40, 49, 139, 154, 245, 271, 322, 341
google\cloud\spanner_dbapi\parser.py                                                                                         147     20    86%   46, 50, 52, 54, 56, 79, 82, 89, 93, 98, 120, 128, 140, 238-247, 251-252
google\cloud\spanner_dbapi\types.py                                                                                           31      1    97%   43
google\cloud\spanner_dbapi\utils.py                                                                                           39      0   100%
google\cloud\spanner_dbapi\version.py                                                                                          7      0   100%
google\cloud\spanner_django\__init__.py                                                                                       41     41     0%   7-76
google\cloud\spanner_django\base.py                                                                                           47     47     0%   7-145
google\cloud\spanner_django\client.py                                                                                          4      4     0%   7-12
google\cloud\spanner_django\compiler.py                                                                                       48     48     0%   7-100
google\cloud\spanner_django\creation.py                                                                                       46     46     0%   7-81
google\cloud\spanner_django\expressions.py                                                                                    10     10     0%   7-22
google\cloud\spanner_django\features.py                                                                                       27     27     0%   7-342
google\cloud\spanner_django\functions.py                                                                                      52     52     0%   7-131
google\cloud\spanner_django\introspection.py                                                                                  65     65     0%   7-236
google\cloud\spanner_django\lookups.py                                                                                        90     90     0%   7-166
google\cloud\spanner_django\operations.py                                                                                    158    158     0%   7-295
google\cloud\spanner_django\schema.py                                                                                        127    127     0%   7-310
google\cloud\spanner_django\utils.py                                                                                           7      7     0%   1-15
google\cloud\spanner_django\validation.py                                                                                     10     10     0%   1-22
tests\unit\__init__.py                                                                                                         0      0   100%
tests\unit\test_globals.py                                                                                                     7      0   100%
tests\unit\test_parse_utils.py                                                                                                74      0   100%
tests\unit\test_parser.py                                                                                                     52      0   100%
tests\unit\test_types.py                                                                                                      43      0   100%
tests\unit\test_utils.py                                                                                                      19      0   100%
tests\unit\test_version.py                                                                                                    14      0   100%
--------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                                                                                      13572   7380    46%
Coverage failure: total of 46 is less than fail-under=99
nox > Command coverage report --show-missing --fail-under=99 failed with exit code 2
nox > Session cover failed.
nox > Running session docs
nox > Creating virtual environment (virtualenv) using python.exe in .nox\docs
nox > pip install -e .
nox > pip install sphinx alabaster recommonmark
nox > sphinx-build -W -T -N -b html -d docs\_build\doctrees\ docs\ docs\_build\html\
Running Sphinx v3.2.1
making output directory... done
[autosummary] generating autosummary for: index.rst
loading intersphinx inventory from http://python.readthedocs.org/en/latest/objects.inv...
loading intersphinx inventory from https://google-auth.readthedocs.io/en/stable/objects.inv...
loading intersphinx inventory from https://googleapis.dev/python/google-api-core/latest/objects.inv...
loading intersphinx inventory from https://grpc.io/grpc/python/objects.inv...
intersphinx inventory has moved: http://python.readthedocs.org/en/latest/objects.inv -> https://python.readthedocs.io/en/latest/objects.inv
intersphinx inventory has moved: https://grpc.io/grpc/python/objects.inv -> https://grpc.github.io/grpc/python/objects.inv
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 1 source files that are out of date
updating environment: [new config] 1 added, 0 changed, 0 removed
reading sources... [100%] index

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] index

generating indices...  genindexdone
writing additional pages...  searchdone
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.
nox > Ran multiple sessions:
nox > * lint: failed
nox > * blacken: success
nox > * lint_setup_py: success
nox > * unit-2.7: skipped
nox > * unit-3.5: skipped
nox > * unit-3.6: failed
nox > * unit-3.7: failed
nox > * unit-3.8: failed
nox > * system-2.7: skipped
nox > * system-3.7: skipped
nox > * cover: failed
nox > * docs: success

(python-spanner-django) C:\git\python-spanner-django>

@mf2199 mf2199 added api: spanner Issues related to the googleapis/python-spanner-django API. type: process A process-related concern. May include testing, release, or the like. labels Aug 24, 2020
Copy link
Contributor

@c24t c24t left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a lot of unrelated changes for one PR, and it looks to me like copying the noxfile straight from python-spanner will cause more harm than good here.

Since the formatting changes are mixed in with code and config changes, this will make for a difficult git history too. Better to quarantine the formatting changes in their own PR, maybe at the same time as the change to the linter/formatter config that makes these changes required.

I think we'll save a lot of time by starting with working config and building up to the same (or similar) set of targets as in python-spanner instead of checking in a broken config and then working backwards.

Here's what I'd recommend:

  1. Switch from tox to nox, with the same set of targets as in tox.ini now
  2. Add the docs target and make the changes required to get the docs to build
  3. Add test targets for other versions of python and django, these are sure to fail right now without any test changes
  4. Add the lint target and make automated formatting changes via black
  5. Add the coverage target
  6. Add system/integration tests, then add the system target

Also, why this change?

tests/spanner_dbapi --> tests/unit

Splitting the tests by module makes sense to me, even if spanner_dbapi is the only module with tests at the moment. Also all tests so far are unit tests, I don't see the argument for a separate tests/unit/ dir.

And this one:

django_spanner --> google/cloud/spanner_django

Should this be in the google.cloud namespace package? Maybe it should! But I don't know that the change should be part of this PR.

@c24t
Copy link
Contributor

c24t commented Sep 10, 2020

Looks like we can close this now that #480 is in.

@c24t c24t closed this Sep 10, 2020
@IlyaFaer IlyaFaer deleted the nox branch February 1, 2021 08:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: spanner Issues related to the googleapis/python-spanner-django API. cla: yes This human has signed the Contributor License Agreement. type: process A process-related concern. May include testing, release, or the like.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants