From 79b062909a5b70927cf6e2c4f5adc56c9387c653 Mon Sep 17 00:00:00 2001 From: Alan Wu Date: Wed, 20 Dec 2017 15:56:31 -0800 Subject: [PATCH] nox unittest updates --- appveyor.yml | 3 ++ bigquery_datatransfer/nox.py | 45 ++++++++++++++++++++++++------ container/nox.py | 53 ++++++++++++++++++++++++++++-------- dataproc/nox.py | 53 ++++++++++++++++++++++++++++-------- 4 files changed, 122 insertions(+), 32 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index c25647abc0f1..9923b3a89121 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -50,8 +50,11 @@ test_script: # Run the project tests - "%PYTHON%\\Scripts\\nox.exe -f api_core\\nox.py -s default" - "%PYTHON%\\Scripts\\nox.exe -f bigquery\\nox.py -s default" + - "%PYTHON%\\Scripts\\nox.exe -f bigquery_datatransfer\\nox.py -s default" - "%PYTHON%\\Scripts\\nox.exe -f bigtable\\nox.py -s default" + - "%PYTHON%\\Scripts\\nox.exe -f container\\nox.py -s default" - "%PYTHON%\\Scripts\\nox.exe -f core\\nox.py -s default" + - "%PYTHON%\\Scripts\\nox.exe -f dataproc\\nox.py -s default" - "%PYTHON%\\Scripts\\nox.exe -f datastore\\nox.py -s default" - "%PYTHON%\\Scripts\\nox.exe -f dns\\nox.py -s default" - "%PYTHON%\\Scripts\\nox.exe -f error_reporting\\nox.py -s default" diff --git a/bigquery_datatransfer/nox.py b/bigquery_datatransfer/nox.py index e51d87aa2d38..d0aa2cbab2e9 100644 --- a/bigquery_datatransfer/nox.py +++ b/bigquery_datatransfer/nox.py @@ -13,24 +13,53 @@ # limitations under the License. from __future__ import absolute_import + import os import nox +LOCAL_DEPS = ( + os.path.join('..', 'api_core'), +) + + @nox.session -@nox.parametrize('python_version', ['2.7', '3.4', '3.5', '3.6']) -def unit_tests(session, python_version): - """Run the unit test suite.""" +def default(session): + """Default unit test session. + + This is intended to be run **without** an interpreter set, so + that the current ``python`` (on the ``PATH``) or the version of + Python corresponding to the ``nox`` binary on the ``PATH`` can + run the tests. + """ + # Install all test dependencies, then install this package in-place. + session.install('mock', 'pytest', 'pytest-cov', *LOCAL_DEPS) + session.install('-e', '.') - session.interpreter = 'python{}'.format(python_version) + # Run py.test against the unit tests. + session.run( + 'py.test', + '--quiet', + '--cov=google.cloud.bigquery_datatransfer', + '--cov=google.cloud.bigquery_datatransfer_v1', + '--cov=tests.unit', + '--cov-append', + '--cov-config=.coveragerc', + '--cov-report=', + os.path.join('tests', 'unit', 'gapic', 'v1'), + *session.posargs + ) - session.virtualenv_dirname = 'unit-' + python_version - session.install('pytest') - session.install('-e', '.') +@nox.session +@nox.parametrize('py', ['2.7', '3.4', '3.5', '3.6']) +def unit(session, py): + """Run the unit test suite.""" - session.run('py.test', '--quiet', os.path.join('tests', 'unit')) + session.interpreter = 'python{}'.format(py) + session.virtualenv_dirname = 'unit-' + py + default(session) @nox.session diff --git a/container/nox.py b/container/nox.py index e8e2bb69d87a..d5ac11f42312 100644 --- a/container/nox.py +++ b/container/nox.py @@ -13,29 +13,58 @@ # limitations under the License. from __future__ import absolute_import + import os import nox +LOCAL_DEPS = ( + os.path.join('..', 'api_core'), +) + + @nox.session -@nox.parametrize('python_version', ['2.7', '3.4', '3.5', '3.6']) -def unit_tests(session, python_version): - """Run the unit test suite.""" +def default(session): + """Default unit test session. + + This is intended to be run **without** an interpreter set, so + that the current ``python`` (on the ``PATH``) or the version of + Python corresponding to the ``nox`` binary on the ``PATH`` can + run the tests. + """ + # Install all test dependencies, then install this package in-place. + session.install('mock', 'pytest', 'pytest-cov', *LOCAL_DEPS) + session.install('-e', '.') - session.interpreter = 'python{}'.format(python_version) + # Run py.test against the unit tests. + session.run( + 'py.test', + '--quiet', + '--cov=google.cloud.container', + '--cov=google.cloud.container_v1', + '--cov=tests.unit', + '--cov-append', + '--cov-config=.coveragerc', + '--cov-report=', + os.path.join('tests', 'unit'), + *session.posargs + ) - session.virtualenv_dirname = 'unit-' + python_version - session.install('pytest') - session.install('-e', '.') +@nox.session +@nox.parametrize('py', ['2.7', '3.4', '3.5', '3.6']) +def unit(session, py): + """Run the unit test suite.""" - session.run('py.test', '--quiet', os.path.join('tests', 'unit')) + session.interpreter = 'python{}'.format(py) + session.virtualenv_dirname = 'unit-' + py + default(session) @nox.session -@nox.parametrize('python_version', ['2.7', '3.6']) -def system_tests(session, python_version): +@nox.parametrize('py', ['2.7', '3.6']) +def system(session, py): """Run the system test suite.""" # Sanity check: Only run system tests if the environment variable is set. @@ -43,10 +72,10 @@ def system_tests(session, python_version): session.skip('Credentials must be set via environment variable.') # Run the system tests against latest Python 2 and Python 3 only. - session.interpreter = 'python{}'.format(python_version) + session.interpreter = 'python{}'.format(py) # Set the virtualenv dirname. - session.virtualenv_dirname = 'sys-' + python_version + session.virtualenv_dirname = 'sys-' + py # Install all test dependencies, then install this package into the # virtualenv's dist-packages. diff --git a/dataproc/nox.py b/dataproc/nox.py index aadbac4a0604..073812e3602c 100644 --- a/dataproc/nox.py +++ b/dataproc/nox.py @@ -13,37 +13,66 @@ # limitations under the License. from __future__ import absolute_import + import os import nox +LOCAL_DEPS = ( + os.path.join('..', 'api_core'), +) + + @nox.session -@nox.parametrize('python_version', ['2.7', '3.4', '3.5', '3.6']) -def unit_tests(session, python_version): - """Run the unit test suite.""" +def default(session): + """Default unit test session. + + This is intended to be run **without** an interpreter set, so + that the current ``python`` (on the ``PATH``) or the version of + Python corresponding to the ``nox`` binary on the ``PATH`` can + run the tests. + """ + # Install all test dependencies, then install this package in-place. + session.install('mock', 'pytest', 'pytest-cov', *LOCAL_DEPS) + session.install('-e', '.') - session.interpreter = 'python{}'.format(python_version) + # Run py.test against the unit tests. + session.run( + 'py.test', + '--quiet', + '--cov=google.cloud.dataproc', + '--cov=google.cloud.dataproc_v1', + '--cov=tests.unit', + '--cov-append', + '--cov-config=.coveragerc', + '--cov-report=', + os.path.join('tests', 'unit'), + *session.posargs + ) - session.virtualenv_dirname = 'unit-' + python_version - session.install('pytest') - session.install('-e', '.') +@nox.session +@nox.parametrize('py', ['2.7', '3.4', '3.5', '3.6']) +def unit(session, py): + """Run the unit test suite.""" - session.run('py.test', '--quiet', os.path.join('tests', 'unit')) + session.interpreter = 'python{}'.format(py) + session.virtualenv_dirname = 'unit-' + py + default(session) @nox.session -@nox.parametrize('python_version', ['2.7', '3.6']) -def system_tests(session, python_version): +@nox.parametrize('py', ['2.7', '3.6']) +def system(session, py): """Run the system test suite.""" if not os.environ.get('GOOGLE_APPLICATION_CREDENTIALS', ''): session.skip('Credentials must be set via environment variable.') - session.interpreter = 'python{}'.format(python_version) + session.interpreter = 'python{}'.format(py) - session.virtualenv_dirname = 'sys-' + python_version + session.virtualenv_dirname = 'sys-' + py session.install('pytest') session.install('-e', '.')