Files
deb-python-gabbi/gabbi/tests/test_gabbits_pytest.py
Chris Dent 17fbae067d Make sure the pytester plugin is called.
In the new model of gathering tests, the pytester plugin which
ensures that fixtures are started and stopped but not counted
as tests was not being run because test-name matching was no
longer working correctly.

These changes ensure that the plugin is run. Despite the small
change here, this took absolute ages to get right.

And it still doesn't fix the problem present in the previous
commit: The need for the test_pytest function to be present
in the namespace of the test module. So a few more iterations
remain.
2016-11-01 20:25:48 +00:00

39 lines
1.3 KiB
Python

#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
"""Test pytest driving of tests.
Unittest loaders don't see this file and pytest doesn't see load_tests,
so we manage to get coverage across both types of drivers, from tox,
without duplication.
"""
import os
from gabbi import driver
# TODO(cdent): this test_* needs to be imported bare or things do not work
from gabbi.driver import test_pytest # noqa
from gabbi.tests import simple_wsgi
from gabbi.tests import test_intercept
TESTS_DIR = 'gabbits_intercept'
def pytest_generate_tests(metafunc):
os.environ['GABBI_TEST_URL'] = 'takingnames'
test_dir = os.path.join(os.path.dirname(__file__), TESTS_DIR)
driver.py_test_generator(
test_dir, intercept=simple_wsgi.SimpleWsgi,
fixture_module=test_intercept,
response_handlers=[test_intercept.TestResponseHandler],
metafunc=metafunc)