Files
sqlalchemy/setup.cfg
T
Mike Bayer 217948f5c7 Enable F821
In Ia63a510f9c1d08b055eef62cf047f1f427f0450c we introduced
"lambda combinations" which use a bit of function closure inspection
in order to allow for testing combinations that make use of symbols that
come from test fixtures, or from the test itself.

Two problems.  One is that we can't use F821 flake8 rule without either
adding lots of noqas, skipping the file, or adding arguments to the
lambdas themselves that are then populated, which makes for a very
verbose system.  The other is that the system is already verbose
with all those lambdas and the magic in use is a non-explicit kind,
hence F821 reminds us that if we can improve upon this, we should.

So let's improve upon it by making it so that the "lambda" is just
once and up front for the whole thing, and let it accept the arguments
directly.   This still requires magic, because these test cases need
to resolve at test collection time, not test runtime.  But we will
instead substitute a namespace up front that can be coerced into
its desired form within the tests.

Additionally, there's a little bit of py2k compatible type annotations
present; f821 is checking these, so we have to add those imports
also using the TYPE_CHECKING boolean so they don't take place in
py2k.

Change-Id: Idb7e7a0c8af86d9ab133f548511306ef68cdba14
2020-01-04 12:56:26 -05:00

68 lines
1.9 KiB
INI

[egg_info]
tag_build = dev
[metadata]
license_file = LICENSE
[tool:pytest]
addopts= --tb native -v -r sfxX --maxfail=25 -p no:warnings -p no:logging
python_files=test/*test_*.py
[upload]
sign = 1
identity = C4DAFEE1
[flake8]
show-source = true
enable-extensions = G
# E203 is due to https://github.com/PyCQA/pycodestyle/issues/373
ignore =
A003,
D,
E203,E305,E711,E712,E721,E722,E741,
N801,N802,N806,
RST304,RST303,RST299,RST399,
W503,W504
exclude = .venv,.git,.tox,dist,doc,*egg,build
import-order-style = google
application-import-names = sqlalchemy,test
[sqla_testing]
requirement_cls=test.requirements:DefaultRequirements
profile_file=test/profiles.txt
# name of a "loopback" link set up on the oracle database.
# to create this, suppose your DB is scott/tiger@xe. You'd create it
# like:
# create public database link test_link connect to scott identified by tiger using 'xe';
oracle_db_link = test_link
# host name of a postgres database that has the postgres_fdw extension.
# to create this run:
# CREATE EXTENSION postgres_fdw;
# GRANT USAGE ON FOREIGN DATA WRAPPER postgres_fdw TO public;
# this can be localhost to create a loopback foreign table
# postgres_test_db_link = localhost
[db]
default=sqlite:///:memory:
sqlite=sqlite:///:memory:
sqlite_file=sqlite:///querytest.db
postgresql=postgresql://scott:tiger@127.0.0.1:5432/test
pg8000=postgresql+pg8000://scott:tiger@127.0.0.1:5432/test
postgresql_psycopg2cffi=postgresql+psycopg2cffi://scott:tiger@127.0.0.1:5432/test
mysql=mysql://scott:tiger@127.0.0.1:3306/test?charset=utf8mb4
pymysql=mysql+pymysql://scott:tiger@127.0.0.1:3306/test?charset=utf8mb4
mssql=mssql+pyodbc://scott:tiger^5HHH@mssql2017:1433/test?driver=ODBC+Driver+13+for+SQL+Server
mssql_pymssql=mssql+pymssql://scott:tiger@ms_2008
oracle=oracle://scott:tiger@127.0.0.1:1521
oracle8=oracle://scott:tiger@127.0.0.1:1521/?use_ansi=0
firebird=firebird://sysdba:masterkey@localhost//Users/classic/foo.fdb