#!/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