mirror of
https://github.com/sqlalchemy/sqlalchemy.git
synced 2026-05-06 17:01:07 -04:00
d2815b4ac3
Made corrections to the default pytest configuration so that test discovery runs correctly; previously, a configuration error had the effect of discovery locating the wrong files if a super-directory of the current directory were named "test". Fixes: #7045 Change-Id: I2e1f63a35f80ae3f53008f327d83c8342fa7f2f6
56 lines
1.4 KiB
Python
Executable File
56 lines
1.4 KiB
Python
Executable File
#!/usr/bin/env python
|
|
"""
|
|
pytest plugin script.
|
|
|
|
This script is an extension to pytest which
|
|
installs SQLAlchemy's testing plugin into the local environment.
|
|
|
|
"""
|
|
import os
|
|
import sys
|
|
|
|
import pytest
|
|
|
|
|
|
os.environ["SQLALCHEMY_WARN_20"] = "true"
|
|
|
|
collect_ignore_glob = []
|
|
|
|
# this requires that sqlalchemy.testing was not already
|
|
# imported in order to work
|
|
pytest.register_assert_rewrite("sqlalchemy.testing.assertions")
|
|
|
|
|
|
if not sys.flags.no_user_site:
|
|
# this is needed so that test scenarios like "python setup.py test"
|
|
# work correctly, as well as plain "pytest". These commands assume
|
|
# that the package in question is locally present, but since we have
|
|
# ./lib/, we need to punch that in.
|
|
# We check no_user_site to honor the use of this flag.
|
|
sys.path.insert(
|
|
0,
|
|
os.path.abspath(
|
|
os.path.join(
|
|
os.path.dirname(os.path.abspath(__file__)), "..", "lib"
|
|
)
|
|
),
|
|
)
|
|
|
|
# use bootstrapping so that test plugins are loaded
|
|
# without touching the main library before coverage starts
|
|
bootstrap_file = os.path.join(
|
|
os.path.dirname(__file__),
|
|
"..",
|
|
"lib",
|
|
"sqlalchemy",
|
|
"testing",
|
|
"plugin",
|
|
"bootstrap.py",
|
|
)
|
|
|
|
with open(bootstrap_file) as f:
|
|
code = compile(f.read(), "bootstrap.py", "exec")
|
|
to_bootstrap = "pytest"
|
|
exec(code, globals(), locals())
|
|
from sqla_pytestplugin import * # noqa
|