==> Building on manectric ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list ./ .SRCINFO 700 79% 0.00kB/s 0:00:00 878 100% 173.83kB/s 0:00:00 (xfr#1, to-chk=10/12) .nvchecker.toml 50 100% 48.83kB/s 0:00:00 50 100% 48.83kB/s 0:00:00 (xfr#2, to-chk=9/12) LICENSE 646 100% 630.86kB/s 0:00:00 646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=8/12) PKGBUILD 700 45% 683.59kB/s 0:00:00 1,530 100% 1.46MB/s 0:00:00 (xfr#4, to-chk=7/12) REUSE.toml 375 100% 366.21kB/s 0:00:00 375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=6/12) python-alembic-1.16.1-2.log 701 100% 684.57kB/s 0:00:00 701 100% 684.57kB/s 0:00:00 (xfr#6, to-chk=5/12) LICENSES/ keys/ keys/pgp/ keys/pgp/83AF7ACE251C13E6BB7DEFBD330239C1C4DAFEE1.asc 700 32% 683.59kB/s 0:00:00 2,176 100% 2.08MB/s 0:00:00 (xfr#7, to-chk=0/12) sent 988 bytes received 255 bytes 828.67 bytes/sec total size is 5,861 speedup is 4.72 ==> Running pkgctl build --arch riscv64 on remote host... ==> WARNING: invalid architecture: riscv64 ==> Updating pacman database cache [?25l:: Synchronizing package databases... core downloading... extra downloading... multilib downloading... [?25h==> Building python-alembic  -> repo: extra  -> arch: riscv64  -> worker: felix-1 ==> Building python-alembic for [extra] (riscv64) ]3008;start=9568711acb604c85b8a76477d7dbff00;user=root;hostname=manectric.felixc.at;machineid=533da39fd6d44e2ab82ad0af9ca241c3;bootid=5b4021f5990b4137b31c8881b9629ea7;pid=2602504;pidfdid=6795944;comm=systemd-nspawn;container=arch-nspawn-2602504;type=container\]11;?\]2;🔵 Container arch-nspawn-2602504 on manectric.felixc.at\:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [!p]104[?7h]3008;end=9568711acb604c85b8a76477d7dbff00\==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-1]...done ==> Making package: python-alembic 1.16.1-2 (Tue Jan 27 15:18:13 2026) ==> Retrieving sources...  -> Found python-alembic-1.16.1.tar.gz ==> Validating source files with sha512sums... python-alembic-1.16.1.tar.gz ... Passed ==> Validating source files with b2sums... python-alembic-1.16.1.tar.gz ... Passed ]3008;start=b1efeb129d904b0aaa0daac1a67db8a1;user=root;hostname=manectric.felixc.at;machineid=533da39fd6d44e2ab82ad0af9ca241c3;bootid=5b4021f5990b4137b31c8881b9629ea7;pid=2603533;pidfdid=6796973;comm=systemd-nspawn;container=arch-nspawn-2603533;type=container\]11;?\]2;🔵 Container arch-nspawn-2603533 on manectric.felixc.at\==> Making package: python-alembic 1.16.1-2 (Tue Jan 27 14:18:26 2026) ==> Checking runtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (7) New Version Net Change core/mpdecimal 4.0.1-1 0.31 MiB extra/python-greenlet 3.3.1-1 0.44 MiB extra/python-markupsafe 3.0.2-2 0.09 MiB core/python 3.14.2-2 132.78 MiB extra/python-mako 1.3.10-4 0.98 MiB extra/python-sqlalchemy 2.0.46-1 27.40 MiB extra/python-typing_extensions 4.15.0-3 0.52 MiB Total Installed Size: 162.52 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing mpdecimal... installing python... Optional dependencies for python python-setuptools: for building Python packages using tooling that is usually bundled with Python python-pip: for installing Python packages using tooling that is usually bundled with Python python-pipx: for installing Python software not packaged on Arch Linux sqlite: for a default database integration [installed] xz: for lzma [installed] tk: for tkinter installing python-markupsafe... installing python-mako... Optional dependencies for python-mako python-babel: for i18n features python-beaker: for caching support python-dogpile.cache: for caching support python-pygments: for syntax highlighting python-pytest: for testing utilities installing python-greenlet... installing python-typing_extensions... installing python-sqlalchemy... Optional dependencies for python-sqlalchemy python-psycopg: connect to PostgreSQL database python-psycopg2: connect to PostgreSQL database :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... ==> Checking buildtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (17) New Version Net Change extra/python-autocommand 2.2.2-9 0.08 MiB extra/python-iniconfig 2.1.0-3.1 0.05 MiB extra/python-jaraco.collections 5.1.0-3 0.11 MiB extra/python-jaraco.context 6.0.1-3 0.04 MiB extra/python-jaraco.functools 4.1.0-3 0.07 MiB extra/python-jaraco.text 4.0.0-4 0.08 MiB extra/python-more-itertools 10.8.0-2 0.73 MiB extra/python-packaging 26.0-1 0.89 MiB extra/python-platformdirs 4.5.1-3 0.28 MiB extra/python-pluggy 1.6.0-3.1 0.23 MiB extra/python-pygments 2.19.2-3 15.30 MiB extra/python-pyproject-hooks 1.2.0-6 0.11 MiB extra/python-build 1.4.0-1 0.24 MiB extra/python-installer 0.7.0-14 0.20 MiB extra/python-pytest 1:8.4.2-3 4.69 MiB extra/python-setuptools 1:80.9.0-4 8.03 MiB extra/python-wheel 0.45.1-4 0.30 MiB Total Installed Size: 31.44 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-packaging... installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-pip: to use as the Python package installer (default) python-uv: to use as the Python package installer python-virtualenv: to use virtualenv for build isolation installing python-installer... installing python-more-itertools... installing python-jaraco.functools... installing python-jaraco.context... installing python-autocommand... installing python-jaraco.text... Optional dependencies for python-jaraco.text python-inflect: for show-newlines script installing python-jaraco.collections... installing python-platformdirs... installing python-wheel... Optional dependencies for python-wheel python-keyring: for wheel.signatures python-xdg: for wheel.signatures python-setuptools: for legacy bdist_wheel subcommand [pending] installing python-setuptools... installing python-iniconfig... installing python-pluggy... installing python-pygments... installing python-pytest... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... ==> Retrieving sources... -> Found python-alembic-1.16.1.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources... -> Extracting python-alembic-1.16.1.tar.gz with bsdtar ==> Starting prepare()... ==> Starting build()... * Getting build dependencies for wheel... running egg_info creating alembic.egg-info writing alembic.egg-info/PKG-INFO writing dependency_links to alembic.egg-info/dependency_links.txt writing entry points to alembic.egg-info/entry_points.txt writing requirements to alembic.egg-info/requires.txt writing top-level names to alembic.egg-info/top_level.txt writing manifest file 'alembic.egg-info/SOURCES.txt' reading manifest file 'alembic.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.js' under directory 'docs' warning: no files found matching '*.jpg' under directory 'docs' warning: no files found matching '*.sty' under directory 'docs' warning: no files found matching '*.dat' under directory 'tests' warning: no files found matching '*.pyi' under directory 'tests' warning: no files found matching '*.pyi' under directory 'alembic/templates' no previously-included directories found matching 'docs/build/output' adding license file 'LICENSE' writing manifest file 'alembic.egg-info/SOURCES.txt' * Building wheel... running bdist_wheel running build running build_py creating build/lib/alembic copying ./alembic/__init__.py -> build/lib/alembic copying ./alembic/__main__.py -> build/lib/alembic copying ./alembic/command.py -> build/lib/alembic copying ./alembic/config.py -> build/lib/alembic copying ./alembic/context.py -> build/lib/alembic copying ./alembic/environment.py -> build/lib/alembic copying ./alembic/migration.py -> build/lib/alembic copying ./alembic/op.py -> build/lib/alembic creating build/lib/alembic/autogenerate copying ./alembic/autogenerate/__init__.py -> build/lib/alembic/autogenerate copying ./alembic/autogenerate/api.py -> build/lib/alembic/autogenerate copying ./alembic/autogenerate/compare.py -> build/lib/alembic/autogenerate copying ./alembic/autogenerate/render.py -> build/lib/alembic/autogenerate copying ./alembic/autogenerate/rewriter.py -> build/lib/alembic/autogenerate creating build/lib/alembic/ddl copying ./alembic/ddl/__init__.py -> build/lib/alembic/ddl copying ./alembic/ddl/_autogen.py -> build/lib/alembic/ddl copying ./alembic/ddl/base.py -> build/lib/alembic/ddl copying ./alembic/ddl/impl.py -> build/lib/alembic/ddl copying ./alembic/ddl/mssql.py -> build/lib/alembic/ddl copying ./alembic/ddl/mysql.py -> build/lib/alembic/ddl copying ./alembic/ddl/oracle.py -> build/lib/alembic/ddl copying ./alembic/ddl/postgresql.py -> build/lib/alembic/ddl copying ./alembic/ddl/sqlite.py -> build/lib/alembic/ddl creating build/lib/alembic/operations copying ./alembic/operations/__init__.py -> build/lib/alembic/operations copying ./alembic/operations/base.py -> build/lib/alembic/operations copying ./alembic/operations/batch.py -> build/lib/alembic/operations copying ./alembic/operations/ops.py -> build/lib/alembic/operations copying ./alembic/operations/schemaobj.py -> build/lib/alembic/operations copying ./alembic/operations/toimpl.py -> build/lib/alembic/operations creating build/lib/alembic/runtime copying ./alembic/runtime/__init__.py -> build/lib/alembic/runtime copying ./alembic/runtime/environment.py -> build/lib/alembic/runtime copying ./alembic/runtime/migration.py -> build/lib/alembic/runtime creating build/lib/alembic/script copying ./alembic/script/__init__.py -> build/lib/alembic/script copying ./alembic/script/base.py -> build/lib/alembic/script copying ./alembic/script/revision.py -> build/lib/alembic/script copying ./alembic/script/write_hooks.py -> build/lib/alembic/script creating build/lib/alembic/testing copying ./alembic/testing/__init__.py -> build/lib/alembic/testing copying ./alembic/testing/assertions.py -> build/lib/alembic/testing copying ./alembic/testing/env.py -> build/lib/alembic/testing copying ./alembic/testing/fixtures.py -> build/lib/alembic/testing copying ./alembic/testing/requirements.py -> build/lib/alembic/testing copying ./alembic/testing/schemacompare.py -> build/lib/alembic/testing copying ./alembic/testing/util.py -> build/lib/alembic/testing copying ./alembic/testing/warnings.py -> build/lib/alembic/testing creating build/lib/alembic/util copying ./alembic/util/__init__.py -> build/lib/alembic/util copying ./alembic/util/compat.py -> build/lib/alembic/util copying ./alembic/util/editor.py -> build/lib/alembic/util copying ./alembic/util/exc.py -> build/lib/alembic/util copying ./alembic/util/langhelpers.py -> build/lib/alembic/util copying ./alembic/util/messaging.py -> build/lib/alembic/util copying ./alembic/util/pyfiles.py -> build/lib/alembic/util copying ./alembic/util/sqla_compat.py -> build/lib/alembic/util creating build/lib/alembic/templates/async copying ./alembic/templates/async/env.py -> build/lib/alembic/templates/async creating build/lib/alembic/templates/generic copying ./alembic/templates/generic/env.py -> build/lib/alembic/templates/generic creating build/lib/alembic/templates/multidb copying ./alembic/templates/multidb/env.py -> build/lib/alembic/templates/multidb creating build/lib/alembic/templates/pyproject copying ./alembic/templates/pyproject/env.py -> build/lib/alembic/templates/pyproject creating build/lib/alembic/testing/plugin copying ./alembic/testing/plugin/__init__.py -> build/lib/alembic/testing/plugin copying ./alembic/testing/plugin/bootstrap.py -> build/lib/alembic/testing/plugin creating build/lib/alembic/testing/suite copying ./alembic/testing/suite/__init__.py -> build/lib/alembic/testing/suite copying ./alembic/testing/suite/_autogen_fixtures.py -> build/lib/alembic/testing/suite copying ./alembic/testing/suite/test_autogen_comments.py -> build/lib/alembic/testing/suite copying ./alembic/testing/suite/test_autogen_computed.py -> build/lib/alembic/testing/suite copying ./alembic/testing/suite/test_autogen_diffs.py -> build/lib/alembic/testing/suite copying ./alembic/testing/suite/test_autogen_fks.py -> build/lib/alembic/testing/suite copying ./alembic/testing/suite/test_autogen_identity.py -> build/lib/alembic/testing/suite copying ./alembic/testing/suite/test_environment.py -> build/lib/alembic/testing/suite copying ./alembic/testing/suite/test_op.py -> build/lib/alembic/testing/suite running egg_info writing alembic.egg-info/PKG-INFO writing dependency_links to alembic.egg-info/dependency_links.txt writing entry points to alembic.egg-info/entry_points.txt writing requirements to alembic.egg-info/requires.txt writing top-level names to alembic.egg-info/top_level.txt reading manifest file 'alembic.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.js' under directory 'docs' warning: no files found matching '*.jpg' under directory 'docs' warning: no files found matching '*.sty' under directory 'docs' warning: no files found matching '*.dat' under directory 'tests' warning: no files found matching '*.pyi' under directory 'tests' warning: no files found matching '*.pyi' under directory 'alembic/templates' no previously-included directories found matching 'docs/build/output' adding license file 'LICENSE' writing manifest file 'alembic.egg-info/SOURCES.txt' copying ./alembic/context.pyi -> build/lib/alembic copying ./alembic/op.pyi -> build/lib/alembic copying ./alembic/py.typed -> build/lib/alembic copying ./alembic/templates/async/README -> build/lib/alembic/templates/async copying ./alembic/templates/async/alembic.ini.mako -> build/lib/alembic/templates/async copying ./alembic/templates/async/script.py.mako -> build/lib/alembic/templates/async copying ./alembic/templates/generic/README -> build/lib/alembic/templates/generic copying ./alembic/templates/generic/alembic.ini.mako -> build/lib/alembic/templates/generic copying ./alembic/templates/generic/script.py.mako -> build/lib/alembic/templates/generic copying ./alembic/templates/multidb/README -> build/lib/alembic/templates/multidb copying ./alembic/templates/multidb/alembic.ini.mako -> build/lib/alembic/templates/multidb copying ./alembic/templates/multidb/script.py.mako -> build/lib/alembic/templates/multidb copying ./alembic/templates/pyproject/README -> build/lib/alembic/templates/pyproject copying ./alembic/templates/pyproject/alembic.ini.mako -> build/lib/alembic/templates/pyproject copying ./alembic/templates/pyproject/pyproject.toml.mako -> build/lib/alembic/templates/pyproject copying ./alembic/templates/pyproject/script.py.mako -> build/lib/alembic/templates/pyproject installing to build/bdist.linux-riscv64/wheel running install running install_lib creating build/bdist.linux-riscv64/wheel creating build/bdist.linux-riscv64/wheel/alembic copying build/lib/alembic/__init__.py -> build/bdist.linux-riscv64/wheel/./alembic copying build/lib/alembic/__main__.py -> build/bdist.linux-riscv64/wheel/./alembic copying build/lib/alembic/command.py -> build/bdist.linux-riscv64/wheel/./alembic copying build/lib/alembic/config.py -> build/bdist.linux-riscv64/wheel/./alembic copying build/lib/alembic/context.py -> build/bdist.linux-riscv64/wheel/./alembic copying build/lib/alembic/environment.py -> build/bdist.linux-riscv64/wheel/./alembic copying build/lib/alembic/migration.py -> build/bdist.linux-riscv64/wheel/./alembic copying build/lib/alembic/op.py -> build/bdist.linux-riscv64/wheel/./alembic creating build/bdist.linux-riscv64/wheel/alembic/autogenerate copying build/lib/alembic/autogenerate/__init__.py -> build/bdist.linux-riscv64/wheel/./alembic/autogenerate copying build/lib/alembic/autogenerate/api.py -> build/bdist.linux-riscv64/wheel/./alembic/autogenerate copying build/lib/alembic/autogenerate/compare.py -> build/bdist.linux-riscv64/wheel/./alembic/autogenerate copying build/lib/alembic/autogenerate/render.py -> build/bdist.linux-riscv64/wheel/./alembic/autogenerate copying build/lib/alembic/autogenerate/rewriter.py -> build/bdist.linux-riscv64/wheel/./alembic/autogenerate creating build/bdist.linux-riscv64/wheel/alembic/ddl copying build/lib/alembic/ddl/__init__.py -> build/bdist.linux-riscv64/wheel/./alembic/ddl copying build/lib/alembic/ddl/_autogen.py -> build/bdist.linux-riscv64/wheel/./alembic/ddl copying build/lib/alembic/ddl/base.py -> build/bdist.linux-riscv64/wheel/./alembic/ddl copying build/lib/alembic/ddl/impl.py -> build/bdist.linux-riscv64/wheel/./alembic/ddl copying build/lib/alembic/ddl/mssql.py -> build/bdist.linux-riscv64/wheel/./alembic/ddl copying build/lib/alembic/ddl/mysql.py -> build/bdist.linux-riscv64/wheel/./alembic/ddl copying build/lib/alembic/ddl/oracle.py -> build/bdist.linux-riscv64/wheel/./alembic/ddl copying build/lib/alembic/ddl/postgresql.py -> build/bdist.linux-riscv64/wheel/./alembic/ddl copying build/lib/alembic/ddl/sqlite.py -> build/bdist.linux-riscv64/wheel/./alembic/ddl creating build/bdist.linux-riscv64/wheel/alembic/operations copying build/lib/alembic/operations/__init__.py -> build/bdist.linux-riscv64/wheel/./alembic/operations copying build/lib/alembic/operations/base.py -> build/bdist.linux-riscv64/wheel/./alembic/operations copying build/lib/alembic/operations/batch.py -> build/bdist.linux-riscv64/wheel/./alembic/operations copying build/lib/alembic/operations/ops.py -> build/bdist.linux-riscv64/wheel/./alembic/operations copying build/lib/alembic/operations/schemaobj.py -> build/bdist.linux-riscv64/wheel/./alembic/operations copying build/lib/alembic/operations/toimpl.py -> build/bdist.linux-riscv64/wheel/./alembic/operations creating build/bdist.linux-riscv64/wheel/alembic/runtime copying build/lib/alembic/runtime/__init__.py -> build/bdist.linux-riscv64/wheel/./alembic/runtime copying build/lib/alembic/runtime/environment.py -> build/bdist.linux-riscv64/wheel/./alembic/runtime copying build/lib/alembic/runtime/migration.py -> build/bdist.linux-riscv64/wheel/./alembic/runtime creating build/bdist.linux-riscv64/wheel/alembic/script copying build/lib/alembic/script/__init__.py -> build/bdist.linux-riscv64/wheel/./alembic/script copying build/lib/alembic/script/base.py -> build/bdist.linux-riscv64/wheel/./alembic/script copying build/lib/alembic/script/revision.py -> build/bdist.linux-riscv64/wheel/./alembic/script copying build/lib/alembic/script/write_hooks.py -> build/bdist.linux-riscv64/wheel/./alembic/script creating build/bdist.linux-riscv64/wheel/alembic/testing copying build/lib/alembic/testing/__init__.py -> build/bdist.linux-riscv64/wheel/./alembic/testing copying build/lib/alembic/testing/assertions.py -> build/bdist.linux-riscv64/wheel/./alembic/testing copying build/lib/alembic/testing/env.py -> build/bdist.linux-riscv64/wheel/./alembic/testing copying build/lib/alembic/testing/fixtures.py -> build/bdist.linux-riscv64/wheel/./alembic/testing copying build/lib/alembic/testing/requirements.py -> build/bdist.linux-riscv64/wheel/./alembic/testing copying build/lib/alembic/testing/schemacompare.py -> build/bdist.linux-riscv64/wheel/./alembic/testing copying build/lib/alembic/testing/util.py -> build/bdist.linux-riscv64/wheel/./alembic/testing copying build/lib/alembic/testing/warnings.py -> build/bdist.linux-riscv64/wheel/./alembic/testing creating build/bdist.linux-riscv64/wheel/alembic/testing/plugin copying build/lib/alembic/testing/plugin/__init__.py -> build/bdist.linux-riscv64/wheel/./alembic/testing/plugin copying build/lib/alembic/testing/plugin/bootstrap.py -> build/bdist.linux-riscv64/wheel/./alembic/testing/plugin creating build/bdist.linux-riscv64/wheel/alembic/testing/suite copying build/lib/alembic/testing/suite/__init__.py -> build/bdist.linux-riscv64/wheel/./alembic/testing/suite copying build/lib/alembic/testing/suite/_autogen_fixtures.py -> build/bdist.linux-riscv64/wheel/./alembic/testing/suite copying build/lib/alembic/testing/suite/test_autogen_comments.py -> build/bdist.linux-riscv64/wheel/./alembic/testing/suite copying build/lib/alembic/testing/suite/test_autogen_computed.py -> build/bdist.linux-riscv64/wheel/./alembic/testing/suite copying build/lib/alembic/testing/suite/test_autogen_diffs.py -> build/bdist.linux-riscv64/wheel/./alembic/testing/suite copying build/lib/alembic/testing/suite/test_autogen_fks.py -> build/bdist.linux-riscv64/wheel/./alembic/testing/suite copying build/lib/alembic/testing/suite/test_autogen_identity.py -> build/bdist.linux-riscv64/wheel/./alembic/testing/suite copying build/lib/alembic/testing/suite/test_environment.py -> build/bdist.linux-riscv64/wheel/./alembic/testing/suite copying build/lib/alembic/testing/suite/test_op.py -> build/bdist.linux-riscv64/wheel/./alembic/testing/suite creating build/bdist.linux-riscv64/wheel/alembic/util copying build/lib/alembic/util/__init__.py -> build/bdist.linux-riscv64/wheel/./alembic/util copying build/lib/alembic/util/compat.py -> build/bdist.linux-riscv64/wheel/./alembic/util copying build/lib/alembic/util/editor.py -> build/bdist.linux-riscv64/wheel/./alembic/util copying build/lib/alembic/util/exc.py -> build/bdist.linux-riscv64/wheel/./alembic/util copying build/lib/alembic/util/langhelpers.py -> build/bdist.linux-riscv64/wheel/./alembic/util copying build/lib/alembic/util/messaging.py -> build/bdist.linux-riscv64/wheel/./alembic/util copying build/lib/alembic/util/pyfiles.py -> build/bdist.linux-riscv64/wheel/./alembic/util copying build/lib/alembic/util/sqla_compat.py -> build/bdist.linux-riscv64/wheel/./alembic/util creating build/bdist.linux-riscv64/wheel/alembic/templates creating build/bdist.linux-riscv64/wheel/alembic/templates/async copying build/lib/alembic/templates/async/env.py -> build/bdist.linux-riscv64/wheel/./alembic/templates/async copying build/lib/alembic/templates/async/README -> build/bdist.linux-riscv64/wheel/./alembic/templates/async copying build/lib/alembic/templates/async/alembic.ini.mako -> build/bdist.linux-riscv64/wheel/./alembic/templates/async copying build/lib/alembic/templates/async/script.py.mako -> build/bdist.linux-riscv64/wheel/./alembic/templates/async creating build/bdist.linux-riscv64/wheel/alembic/templates/generic copying build/lib/alembic/templates/generic/env.py -> build/bdist.linux-riscv64/wheel/./alembic/templates/generic copying build/lib/alembic/templates/generic/README -> build/bdist.linux-riscv64/wheel/./alembic/templates/generic copying build/lib/alembic/templates/generic/alembic.ini.mako -> build/bdist.linux-riscv64/wheel/./alembic/templates/generic copying build/lib/alembic/templates/generic/script.py.mako -> build/bdist.linux-riscv64/wheel/./alembic/templates/generic creating build/bdist.linux-riscv64/wheel/alembic/templates/multidb copying build/lib/alembic/templates/multidb/env.py -> build/bdist.linux-riscv64/wheel/./alembic/templates/multidb copying build/lib/alembic/templates/multidb/README -> build/bdist.linux-riscv64/wheel/./alembic/templates/multidb copying build/lib/alembic/templates/multidb/alembic.ini.mako -> build/bdist.linux-riscv64/wheel/./alembic/templates/multidb copying build/lib/alembic/templates/multidb/script.py.mako -> build/bdist.linux-riscv64/wheel/./alembic/templates/multidb creating build/bdist.linux-riscv64/wheel/alembic/templates/pyproject copying build/lib/alembic/templates/pyproject/env.py -> build/bdist.linux-riscv64/wheel/./alembic/templates/pyproject copying build/lib/alembic/templates/pyproject/README -> build/bdist.linux-riscv64/wheel/./alembic/templates/pyproject copying build/lib/alembic/templates/pyproject/alembic.ini.mako -> build/bdist.linux-riscv64/wheel/./alembic/templates/pyproject copying build/lib/alembic/templates/pyproject/pyproject.toml.mako -> build/bdist.linux-riscv64/wheel/./alembic/templates/pyproject copying build/lib/alembic/templates/pyproject/script.py.mako -> build/bdist.linux-riscv64/wheel/./alembic/templates/pyproject copying build/lib/alembic/context.pyi -> build/bdist.linux-riscv64/wheel/./alembic copying build/lib/alembic/op.pyi -> build/bdist.linux-riscv64/wheel/./alembic copying build/lib/alembic/py.typed -> build/bdist.linux-riscv64/wheel/./alembic running install_egg_info Copying alembic.egg-info to build/bdist.linux-riscv64/wheel/./alembic-1.16.1-py3.14.egg-info running install_scripts creating build/bdist.linux-riscv64/wheel/alembic-1.16.1.dist-info/WHEEL creating '/build/python-alembic/src/alembic-rel_1_16_1/dist/.tmp-_d4g82ci/alembic-1.16.1-py3-none-any.whl' and adding 'build/bdist.linux-riscv64/wheel' to it adding 'alembic/__init__.py' adding 'alembic/__main__.py' adding 'alembic/command.py' adding 'alembic/config.py' adding 'alembic/context.py' adding 'alembic/context.pyi' adding 'alembic/environment.py' adding 'alembic/migration.py' adding 'alembic/op.py' adding 'alembic/op.pyi' adding 'alembic/py.typed' adding 'alembic/autogenerate/__init__.py' adding 'alembic/autogenerate/api.py' adding 'alembic/autogenerate/compare.py' adding 'alembic/autogenerate/render.py' adding 'alembic/autogenerate/rewriter.py' adding 'alembic/ddl/__init__.py' adding 'alembic/ddl/_autogen.py' adding 'alembic/ddl/base.py' adding 'alembic/ddl/impl.py' adding 'alembic/ddl/mssql.py' adding 'alembic/ddl/mysql.py' adding 'alembic/ddl/oracle.py' adding 'alembic/ddl/postgresql.py' adding 'alembic/ddl/sqlite.py' adding 'alembic/operations/__init__.py' adding 'alembic/operations/base.py' adding 'alembic/operations/batch.py' adding 'alembic/operations/ops.py' adding 'alembic/operations/schemaobj.py' adding 'alembic/operations/toimpl.py' adding 'alembic/runtime/__init__.py' adding 'alembic/runtime/environment.py' adding 'alembic/runtime/migration.py' adding 'alembic/script/__init__.py' adding 'alembic/script/base.py' adding 'alembic/script/revision.py' adding 'alembic/script/write_hooks.py' adding 'alembic/templates/async/README' adding 'alembic/templates/async/alembic.ini.mako' adding 'alembic/templates/async/env.py' adding 'alembic/templates/async/script.py.mako' adding 'alembic/templates/generic/README' adding 'alembic/templates/generic/alembic.ini.mako' adding 'alembic/templates/generic/env.py' adding 'alembic/templates/generic/script.py.mako' adding 'alembic/templates/multidb/README' adding 'alembic/templates/multidb/alembic.ini.mako' adding 'alembic/templates/multidb/env.py' adding 'alembic/templates/multidb/script.py.mako' adding 'alembic/templates/pyproject/README' adding 'alembic/templates/pyproject/alembic.ini.mako' adding 'alembic/templates/pyproject/env.py' adding 'alembic/templates/pyproject/pyproject.toml.mako' adding 'alembic/templates/pyproject/script.py.mako' adding 'alembic/testing/__init__.py' adding 'alembic/testing/assertions.py' adding 'alembic/testing/env.py' adding 'alembic/testing/fixtures.py' adding 'alembic/testing/requirements.py' adding 'alembic/testing/schemacompare.py' adding 'alembic/testing/util.py' adding 'alembic/testing/warnings.py' adding 'alembic/testing/plugin/__init__.py' adding 'alembic/testing/plugin/bootstrap.py' adding 'alembic/testing/suite/__init__.py' adding 'alembic/testing/suite/_autogen_fixtures.py' adding 'alembic/testing/suite/test_autogen_comments.py' adding 'alembic/testing/suite/test_autogen_computed.py' adding 'alembic/testing/suite/test_autogen_diffs.py' adding 'alembic/testing/suite/test_autogen_fks.py' adding 'alembic/testing/suite/test_autogen_identity.py' adding 'alembic/testing/suite/test_environment.py' adding 'alembic/testing/suite/test_op.py' adding 'alembic/util/__init__.py' adding 'alembic/util/compat.py' adding 'alembic/util/editor.py' adding 'alembic/util/exc.py' adding 'alembic/util/langhelpers.py' adding 'alembic/util/messaging.py' adding 'alembic/util/pyfiles.py' adding 'alembic/util/sqla_compat.py' adding 'alembic-1.16.1.dist-info/licenses/LICENSE' adding 'alembic-1.16.1.dist-info/METADATA' adding 'alembic-1.16.1.dist-info/WHEEL' adding 'alembic-1.16.1.dist-info/entry_points.txt' adding 'alembic-1.16.1.dist-info/top_level.txt' adding 'alembic-1.16.1.dist-info/RECORD' removing build/bdist.linux-riscv64/wheel Successfully built alembic-1.16.1-py3-none-any.whl ==> Starting check()... =========================== sqlalchemy installation ============================ SQLAlchemy 2.0.46 (user site loaded) Path: /usr/lib/python3.14/site-packages/sqlalchemy/__init__.py compiled extension enabled, e.g. /usr/lib/python3.14/site-packages/sqlalchemy/cyextension/util.cpython-314-riscv64-linux-gnu.so ============================= test session starts ============================== platform linux -- Python 3.14.2, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python cachedir: .pytest_cache rootdir: /build/python-alembic/src/alembic-rel_1_16_1 configfile: pyproject.toml collecting ... collected 2048 items tests/test_autogen_composition.py::AddColumnOrderTest::test_render_add_columns PASSED [ 0%] tests/test_autogen_composition.py::AutogenerateDiffTest_sqlite+pysqlite_3_51_2::test_imports_maintained PASSED [ 0%] tests/test_autogen_composition.py::AutogenerateDiffTest_sqlite+pysqlite_3_51_2::test_render_diffs_batch PASSED [ 0%] tests/test_autogen_composition.py::AutogenerateDiffTest_sqlite+pysqlite_3_51_2::test_render_diffs_standard PASSED [ 0%] tests/test_autogen_composition.py::AutogenerateDiffTest_sqlite+pysqlite_3_51_2::test_render_nothing PASSED [ 0%] tests/test_autogen_composition.py::AutogenerateDiffTest_sqlite+pysqlite_3_51_2::test_render_nothing_batch PASSED [ 0%] tests/test_autogen_composition.py::AutogenerateNamingConvTest_sqlite+pysqlite_3_51_2::test_render_diffs_naming_conv PASSED [ 0%] tests/test_autogen_composition.py::AutogenerateNamingConvWBatchTest_sqlite+pysqlite_3_51_2::test_render_diffs_naming_conv PASSED [ 0%] tests/test_autogen_diffs.py::AutogenCustomVersionTableTest_sqlite+pysqlite_3_51_2::test_no_version_table PASSED [ 0%] tests/test_autogen_diffs.py::AutogenCustomVersionTableTest_sqlite+pysqlite_3_51_2::test_version_table_in_target PASSED [ 0%] tests/test_autogen_diffs.py::AutogenDefaultSchemaIsNoneTest_sqlite+pysqlite_3_51_2::test_no_default_schema PASSED [ 0%] tests/test_autogen_diffs.py::AutogenKeyTest_sqlite+pysqlite_3_51_2::test_autogen PASSED [ 0%] tests/test_autogen_diffs.py::AutogenVersionTableTest_sqlite+pysqlite_3_51_2::test_no_version_table PASSED [ 0%] tests/test_autogen_diffs.py::AutogenVersionTableTest_sqlite+pysqlite_3_51_2::test_version_table_in_target PASSED [ 0%] tests/test_autogen_diffs.py::AutogenerateCustomCompareTypeTest_sqlite+pysqlite_3_51_2::test_column_type_modified_custom_compare_type_returns_True PASSED [ 0%] tests/test_autogen_diffs.py::AutogenerateCustomCompareTypeTest_sqlite+pysqlite_3_51_2::test_column_type_not_modified_custom_compare_type_returns_False PASSED [ 0%] tests/test_autogen_diffs.py::AutogenerateCustomCompareTypeTest_sqlite+pysqlite_3_51_2::test_uses_custom_compare_type_function PASSED [ 0%] tests/test_autogen_diffs.py::AutogenerateDiffOrderTest_sqlite+pysqlite_3_51_2::test_diffs_order PASSED [ 1%] tests/test_autogen_diffs.py::AutogenerateDiffTest_sqlite+pysqlite_3_51_2::test_add_execute_sql_op PASSED [ 1%] tests/test_autogen_diffs.py::AutogenerateDiffTest_sqlite+pysqlite_3_51_2::test_affinity_typedec PASSED [ 1%] tests/test_autogen_diffs.py::AutogenerateDiffTest_sqlite+pysqlite_3_51_2::test_custom_type_compare PASSED [ 1%] tests/test_autogen_diffs.py::AutogenerateDiffTest_sqlite+pysqlite_3_51_2::test_diffs PASSED [ 1%] tests/test_autogen_diffs.py::AutogenerateDiffTest_sqlite+pysqlite_3_51_2::test_dont_barf_on_already_reflected PASSED [ 1%] tests/test_autogen_diffs.py::AutogenerateDiffTest_sqlite+pysqlite_3_51_2::test_include_name PASSED [ 1%] tests/test_autogen_diffs.py::AutogenerateDiffTest_sqlite+pysqlite_3_51_2::test_include_object PASSED [ 1%] tests/test_autogen_diffs.py::AutogenerateDiffTest_sqlite+pysqlite_3_51_2::test_skip_null_type_comparison_local PASSED [ 1%] tests/test_autogen_diffs.py::AutogenerateDiffTest_sqlite+pysqlite_3_51_2::test_skip_null_type_comparison_reflected PASSED [ 1%] tests/test_autogen_diffs.py::AutogenerateVariantCompareTest_sqlite+pysqlite_3_51_2::test_variant_no_issue PASSED [ 1%] tests/test_autogen_diffs.py::CompareMetadataTest_sqlite+pysqlite_3_51_2::test_compare_metadata PASSED [ 1%] tests/test_autogen_diffs.py::CompareMetadataTest_sqlite+pysqlite_3_51_2::test_compare_metadata_as_sql PASSED [ 1%] tests/test_autogen_diffs.py::CompareMetadataTest_sqlite+pysqlite_3_51_2::test_compare_metadata_include_name PASSED [ 1%] tests/test_autogen_diffs.py::CompareMetadataTest_sqlite+pysqlite_3_51_2::test_compare_metadata_include_object PASSED [ 1%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_datetime_comparisons[cola0-colb0-False-_exclusions_00] <- SKIPPED_00] (call)' : not postgresql) [ 1%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_datetime_comparisons[cola1-colb1-True-_exclusions_01] <- SKIPPED01] (call)' : not postgresql) [ 1%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_datetime_comparisons[cola2-colb2-True-_exclusions_02] <- SKIPPED02] (call)' : not postgresql) [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola0-_exclusions_00] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola1-_exclusions_01] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola10-_exclusions_010] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola11-_exclusions_011] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola12-_exclusions_012] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola13-_exclusions_013] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola14-_exclusions_014] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola15-_exclusions_015] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola16-_exclusions_016] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola17-_exclusions_017] <- SKIPPED-_exclusions_017] (call)' : not mysql and not mariadb) [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola18-_exclusions_018] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola2-_exclusions_02] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola3-_exclusions_03] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola4-_exclusions_04] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola5-_exclusions_05] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola6-_exclusions_06] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola7-_exclusions_07] <- PASSED [ 2%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola8-_exclusions_08] <- PASSED [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola9-_exclusions_09] <- PASSED [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_numeric_comparisons[cola0-colb0-False-_exclusions_00] <- PASSED [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_numeric_comparisons[cola1-colb1-True-_exclusions_01] <- PASSED [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_numeric_comparisons[cola2-colb2-True-_exclusions_02] <- PASSED [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_numeric_comparisons[cola3-colb3-True-_exclusions_03] <- PASSED [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_numeric_comparisons[cola4-colb4-True-_exclusions_04] <- PASSED [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_numeric_comparisons[cola5-colb5-False-_exclusions_05] <- PASSED [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_numeric_comparisons[cola6-colb6-False-_exclusions_06] <- PASSED [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_numeric_comparisons[cola7-colb7-False-_exclusions_07] <- PASSED [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_numeric_comparisons[cola8-colb8-False-_exclusions_08] <- PASSED [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola0-colb0-False-_exclusions_00] <- PASSED [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola1-colb1-False-_exclusions_01] <- PASSED [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola10-colb10-False-_exclusions_010] <- SKIPPED_010] (call)' : not postgresql) [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola11-colb11-False-_exclusions_011] <- SKIPPED_011] (call)' : not mysql and not mariadb) [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola12-colb12-True-_exclusions_012] <- SKIPPED012] (call)' : not mysql and not mariadb) [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola13-colb13-False-_exclusions_013] <- SKIPPED_013] (call)' : not mysql and not mariadb) [ 3%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola14-colb14-True-_exclusions_014] <- SKIPPED014] (call)' : not mysql and not mariadb) [ 4%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola2-colb2-True-_exclusions_02] <- PASSED [ 4%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola3-colb3-True-_exclusions_03] <- PASSED [ 4%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola4-colb4-False-_exclusions_04] <- PASSED [ 4%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola5-colb5-False-_exclusions_05] <- PASSED [ 4%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola6-colb6-True-_exclusions_06] <- PASSED [ 4%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola7-colb7-True-_exclusions_07] <- PASSED [ 4%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola8-colb8-True-_exclusions_08] <- PASSED [ 4%] tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola9-colb9-True-_exclusions_09] <- PASSED [ 4%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[DATETIME-(getdate())] <- SKIPPED(call)' : not mssql) [ 4%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[DATETIME-(now())] <- SKIPPEDl)' : sqlite) [ 4%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[INTEGER-15_0] <- PASSED [ 4%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[INTEGER-15_1] <- PASSED [ 4%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[VARCHAR(30)-'//slash'] <- PASSED [ 4%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[VARCHAR(30)-'has '' quote'] <- PASSED [ 4%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[VARCHAR(30)-'some default'] <- PASSED [ 4%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[VARCHAR(30)-some default] <- PASSED [ 4%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[VARCHAR(30)-substring('name', 1, 3)] <- SKIPPED'name', 1, 3)] (call)' : not mssql and not postgresql) [ 4%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[VARCHAR(30)-substring('name',1,3)] <- SKIPPED'name',1,3)] (call)' : not mssql and not postgresql) [ 5%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[VARCHAR(30)-substring(:substring_1, :substring_2, :substring_3)] <- SKIPPED:substring_1, :substring_2, :substring_3)] (call)' : not mssql and not postgresql) [ 5%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[VARCHAR(50)-substring(user_name(), charindex('',user_name())+(1),len(user_name()))] <- SKIPPEDnot mssql) [ 5%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[VARCHAR(50)-substring(user_name(),charindex('',user_name())+(1),len(user_name()))] <- SKIPPEDot mssql) [ 5%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_yes_positives[INTEGER-15-20_0] PASSED [ 5%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_yes_positives[INTEGER-15-20_1] PASSED [ 5%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_yes_positives[VARCHAR(30)-'//slash'-'s//l//ash'] PASSED [ 5%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_yes_positives[VARCHAR(30)-'some default'-'some new default'] PASSED [ 5%] tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_yes_positives[VARCHAR(30)-some default-some new default] PASSED [ 5%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[BIGINT-BIGINT] PASSED [ 5%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[BIGINT-INTEGER] PASSED [ 5%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[BIGINT-SMALLINT] PASSED [ 5%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[DECIMAL(10)-DECIMAL(10, 5)] PASSED [ 5%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[DECIMAL(10, 2)-NUMERIC(10)] PASSED [ 5%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[DECIMAL(10, 5)-DATETIME] PASSED [ 5%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[DECIMAL(10, 5)-DECIMAL(10)] PASSED [ 5%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[DECIMAL(10, 5)-DECIMAL(10, 6)] PASSED [ 5%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[DECIMAL(10, 5)-NUMERIC(10, 5)] PASSED [ 6%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[DECIMAL(10, 5)-NUMERIC(12, 5)] PASSED [ 6%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[INTEGER-INTEGER] PASSED [ 6%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[INTEGER-SMALLINT] PASSED [ 6%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[INTEGER-VARCHAR] PASSED [ 6%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[NUMERIC-NUMERIC] PASSED [ 6%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[TEXT-VARCHAR(255)] PASSED [ 6%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[VARCHAR(30)-INTEGER] PASSED [ 6%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[VARCHAR(30)-VARCHAR(30)] PASSED [ 6%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[VARCHAR(30)-VARCHAR(40)] PASSED [ 6%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_compare_type[VARCHAR(30)-VARCHAR] PASSED [ 6%] tests/test_autogen_diffs.py::CompareTypeSpecificityTest::test_typedec_to_nonstandard PASSED [ 6%] tests/test_autogen_diffs.py::IncludeFiltersAPITest::test_run_name_filters_supports_extension_types PASSED [ 6%] tests/test_autogen_diffs.py::IncludeFiltersAPITest::test_run_object_filters_supports_extension_types PASSED [ 6%] tests/test_autogen_diffs.py::MultipleMetaDataTest::test_empty_list PASSED [ 6%] tests/test_autogen_diffs.py::MultipleMetaDataTest::test_multiple PASSED [ 6%] tests/test_autogen_diffs.py::MultipleMetaDataTest::test_non_list_sequence PASSED [ 6%] tests/test_autogen_diffs.py::MultipleMetaDataTest::test_raise_on_dupe PASSED [ 6%] tests/test_autogen_diffs.py::OrigObjectTest::test_add_check PASSED [ 7%] tests/test_autogen_diffs.py::OrigObjectTest::test_add_column PASSED [ 7%] tests/test_autogen_diffs.py::OrigObjectTest::test_add_fk PASSED [ 7%] tests/test_autogen_diffs.py::OrigObjectTest::test_add_pk PASSED [ 7%] tests/test_autogen_diffs.py::OrigObjectTest::test_add_pk_no_orig PASSED [ 7%] tests/test_autogen_diffs.py::OrigObjectTest::test_add_table PASSED [ 7%] tests/test_autogen_diffs.py::OrigObjectTest::test_add_unique PASSED [ 7%] tests/test_autogen_diffs.py::OrigObjectTest::test_create_index PASSED [ 7%] tests/test_autogen_diffs.py::OrigObjectTest::test_create_unique_index PASSED [ 7%] tests/test_autogen_diffs.py::OrigObjectTest::test_drop_check PASSED [ 7%] tests/test_autogen_diffs.py::OrigObjectTest::test_drop_column PASSED [ 7%] tests/test_autogen_diffs.py::OrigObjectTest::test_drop_fk PASSED [ 7%] tests/test_autogen_diffs.py::OrigObjectTest::test_drop_index PASSED [ 7%] tests/test_autogen_diffs.py::OrigObjectTest::test_drop_pk PASSED [ 7%] tests/test_autogen_diffs.py::OrigObjectTest::test_drop_table PASSED [ 7%] tests/test_autogen_diffs.py::OrigObjectTest::test_drop_unique PASSED [ 7%] tests/test_autogen_diffs.py::PKConstraintUpgradesIgnoresNullableTest_sqlite+pysqlite_3_51_2::test_no_change PASSED [ 7%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_add PASSED [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_00] <- PASSED [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_010] <- PASSED [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_011] <- PASSED [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_012] <- PASSED [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_013] <- PASSED [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_014] <- PASSED [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_015] <- PASSED [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_016] <- SKIPPEDxclusions_016] (call)' : not postgresql) [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_017] <- SKIPPEDxclusions_017] (call)' : not postgresql) [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_018] <- SKIPPEDxclusions_018] (call)' : not postgresql) [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_019] <- SKIPPEDxclusions_019] (call)' : not postgresql) [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_01] <- PASSED [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_020] <- SKIPPEDxclusions_020] (call)' : not postgresql) [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_021] <- SKIPPEDxclusions_021] (call)' : not postgresql) [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_022] <- SKIPPEDxclusions_022] (call)' : not postgresql) [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_023] <- SKIPPEDxclusions_023] (call)' : not postgresql) [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_024] <- SKIPPEDxclusions_024] (call)' : not postgresql) [ 8%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_025] <- SKIPPEDxclusions_025] (call)' : not postgresql) [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_026] <- SKIPPEDxclusions_026] (call)' : not postgresql) [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_027] <- SKIPPEDxclusions_027] (call)' : not postgresql) [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_028] <- SKIPPEDxclusions_028] (call)' : not postgresql) [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_02] <- PASSED [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_03] <- PASSED [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_04] <- PASSED [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_05] <- PASSED [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_06] <- PASSED [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_07] <- PASSED [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_08] <- PASSED [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_09] <- PASSED [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_00] <- PASSED [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_010] <- PASSED [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_011] <- PASSED [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_012] <- PASSED [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_013] <- PASSED [ 9%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_014] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_015] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_016] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_017] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_018] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_019] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_01] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_020] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_021] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_022] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_023] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_024] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_025] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_026] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_027] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_028] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_029] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_02] <- PASSED [ 10%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_030] <- PASSED [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_031] <- PASSED [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_032] <- SKIPPED_exclusions_032] (call)' : not postgresql) [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_033] <- SKIPPED_exclusions_033] (call)' : not postgresql) [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_034] <- SKIPPED_exclusions_034] (call)' : not postgresql) [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_035] <- SKIPPED_exclusions_035] (call)' : not postgresql) [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_036] <- SKIPPED_exclusions_036] (call)' : not postgresql) [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_037] <- SKIPPED_exclusions_037] (call)' : not postgresql) [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_038] <- SKIPPED_exclusions_038] (call)' : not postgresql) [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_039] <- SKIPPED_exclusions_039] (call)' : not postgresql) [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_03] <- PASSED [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_040] <- SKIPPED_exclusions_040] (call)' : not postgresql) [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_041] <- SKIPPED_exclusions_041] (call)' : not postgresql) [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_042] <- SKIPPED_exclusions_042] (call)' : not postgresql) [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_043] <- SKIPPED_exclusions_043] (call)' : not postgresql) [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_044] <- SKIPPED_exclusions_044] (call)' : not postgresql) [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_045] <- SKIPPED_exclusions_045] (call)' : not postgresql) [ 11%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_046] <- SKIPPED_exclusions_046] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_047] <- SKIPPED_exclusions_047] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_048] <- SKIPPED_exclusions_048] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_049] <- SKIPPED_exclusions_049] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_04] <- PASSED [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_050] <- SKIPPED_exclusions_050] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_051] <- SKIPPED_exclusions_051] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_052] <- SKIPPED_exclusions_052] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_053] <- SKIPPED_exclusions_053] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_054] <- SKIPPED_exclusions_054] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_055] <- SKIPPED_exclusions_055] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_056] <- SKIPPED_exclusions_056] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_057] <- SKIPPED_exclusions_057] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_058] <- SKIPPED_exclusions_058] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_059] <- SKIPPED_exclusions_059] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_05] <- PASSED [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_060] <- SKIPPED_exclusions_060] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_061] <- SKIPPED_exclusions_061] (call)' : not postgresql) [ 12%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_062] <- SKIPPED_exclusions_062] (call)' : not postgresql) [ 13%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_063] <- SKIPPED_exclusions_063] (call)' : not postgresql) [ 13%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_064] <- SKIPPED_exclusions_064] (call)' : not postgresql) [ 13%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_065] <- SKIPPED_exclusions_065] (call)' : not postgresql) [ 13%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_066] <- SKIPPED_exclusions_066] (call)' : not postgresql) [ 13%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_067] <- SKIPPED_exclusions_067] (call)' : not postgresql) [ 13%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_068] <- SKIPPED_exclusions_068] (call)' : not postgresql) [ 13%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_069] <- SKIPPED_exclusions_069] (call)' : not postgresql) [ 13%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_06] <- PASSED [ 13%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_07] <- PASSED [ 13%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_08] <- PASSED [ 13%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_09] <- PASSED [ 13%] tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_remove PASSED [ 13%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_add_idx_non_col PASSED [ 13%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_add_ix_on_table_create PASSED [ 13%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_order_changed PASSED [ 13%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_changed[-] SKIPPED_3_51_2::test_col umn_sort_changed[-] (call)' : not postgresql) [ 13%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_changed[asc-desc] SKIPPED_3_51_2::test_column_sort_ changed[asc-desc] (call)' : not postgresql) [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_changed[desc-] SKIPPED_3_51_2::test_column_ sort_changed[desc-] (call)' : not postgresql) [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_changed[desc-asc] SKIPPED_3_51_2::test_column_sort_ changed[desc-asc] (call)' : not postgresql) [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_changed[nulls_first-nulls_last] SKIPPED_3_51_2::tes t_column_sort_changed[nulls_first-nulls_last] (call)' : not postgresql) [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_changed[nulls_last-nulls_first] SKIPPED_3_51_2::tes t_column_sort_changed[nulls_last-nulls_first] (call)' : not postgresql) [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[-] SKIPPED_3_51_2::test _column_sort_not_changed[-] (call)' : not postgresql) [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[-asc] SKIPPED_3_51_2::test_colu mn_sort_not_changed[-asc] (call)' : not postgresql) [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[-nulls_last] SKIPPED_3_51_2::te st_column_sort_not_changed[-nulls_last] (call)' : not postgresql) [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[asc-asc] SKIPPED_3_51_2::test_column_so rt_not_changed[asc-asc] (call)' : not postgresql) [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[desc-] SKIPPED_3_51_2::test_col umn_sort_not_changed[desc-] (call)' : not postgresql) [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[desc-desc] SKIPPED_3_51_2::test_column_ sort_not_changed[desc-desc] (call)' : not postgresql) [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[nulls_first-nulls_first] SKIPPED_3_51_2 ::test_column_sort_not_changed[nulls_first-nulls_first] (call)' : not postgresql) [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[nulls_last-nulls_last] SKIPPED_3_51_2:: test_column_sort_not_changed[nulls_last-nulls_last] (call)' : not postgresql) [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_drop_table_w_indexes PASSED [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_idx_string_col_in_fn_no_change PASSED [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_ix_casing_convention_changed_so_put_drops_first PASSED [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_new_idx_index_named_as_column PASSED [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_new_table_added PASSED [ 14%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_covering_index SKIPPED_3_51_2::test_nothing_cha nged_covering_index (call)' : not postgresql >= (11,) and not mssql) [ 15%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_implicit_composite_fk_index_named PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_implicit_fk_index_named PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_index_named_as_column PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_index_w_colkeys PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_ix_w_mixed_case_nconv_name PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_ix_w_mixed_case_plain_name PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_one PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_nothing_ix_changed_labels_were_truncated PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_removed_idx_index_named_as_column PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_unchanged_case_sensitive_explicit_idx PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_unchanged_case_sensitive_implicit_idx PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_unchanged_idx_non_col PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_add_unique_constraint PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_add_uq_ix_on_table_create PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_dont_add_uq_on_reverse_table_drop PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_dont_add_uq_on_table_create PASSED [ 15%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_drop_table_w_uq_constraint PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_index_becomes_unique PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_index_flag_becomes_named_unique_constraint PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_mismatch_db_named_col_flag PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_named_cols_changed PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_cols_unsorted PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_implicit_uq_w_naming_conv PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_one PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_two PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_unique_w_colkeys PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_uq_w_mixed_case_nconv_name PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_uq_w_mixed_case_plain_name PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_nothing_uq_changed_labels_were_truncated PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_remove_named_unique_constraint PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_remove_named_unique_index PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_remove_uq_constraint SKIPPEDsqlite_3_51_2::test_remove_uq _constraint (call)' : sqlite) [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_unique_flag_nothing_changed PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_unnamed_cols_changed PASSED [ 16%] tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_uq_casing_convention_changed_so_put_drops_first PASSED [ 17%] tests/test_autogen_indexes.py::IncludeHooksTest_sqlite+pysqlite_3_51_2::test_add_metadata_index PASSED [ 17%] tests/test_autogen_indexes.py::IncludeHooksTest_sqlite+pysqlite_3_51_2::test_add_metadata_unique PASSED [ 17%] tests/test_autogen_indexes.py::IncludeHooksTest_sqlite+pysqlite_3_51_2::test_change_index PASSED [ 17%] tests/test_autogen_indexes.py::IncludeHooksTest_sqlite+pysqlite_3_51_2::test_change_unique PASSED [ 17%] tests/test_autogen_indexes.py::IncludeHooksTest_sqlite+pysqlite_3_51_2::test_remove_connection_index[name] PASSED [ 17%] tests/test_autogen_indexes.py::IncludeHooksTest_sqlite+pysqlite_3_51_2::test_remove_connection_index[object] PASSED [ 17%] tests/test_autogen_indexes.py::IncludeHooksTest_sqlite+pysqlite_3_51_2::test_remove_connection_uq[name] PASSED [ 17%] tests/test_autogen_indexes.py::IncludeHooksTest_sqlite+pysqlite_3_51_2::test_remove_connection_uq[object] PASSED [ 17%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_add_unique_constraint PASSED [ 17%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_add_uq_ix_on_table_create PASSED [ 17%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_dont_add_uq_on_reverse_table_drop SKIPPED [ 17%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_dont_add_uq_on_table_create PASSED [ 17%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_drop_table_w_uq_constraint PASSED [ 17%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_index_becomes_unique PASSED [ 17%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_index_flag_becomes_named_unique_constraint PASSED [ 17%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_mismatch_db_named_col_flag PASSED [ 17%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_named_cols_changed PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_cols_unsorted PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_implicit_uq_w_naming_conv PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_one PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_two PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_unique_w_colkeys PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_uq_w_mixed_case_nconv_name PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_uq_w_mixed_case_plain_name PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_nothing_uq_changed_labels_were_truncated PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_remove_named_unique_constraint PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_remove_named_unique_index PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_remove_plain_index_is_reported PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_remove_unique_index_not_reported PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_remove_uq_constraint SKIPPEDte_3_51_2::test_remove_uq_constra int (call)' : sqlite) [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_unique_flag_nothing_changed PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_unique_not_reported PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_unnamed_cols_changed PASSED [ 18%] tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_uq_casing_convention_changed_so_put_drops_first SKIPPED [ 18%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_add_unique_constraint PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_add_uq_ix_on_table_create PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_dont_add_uq_on_reverse_table_drop SKIPPED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_dont_add_uq_on_table_create PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_drop_table_w_uq_constraint PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_index_becomes_unique PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_index_flag_becomes_named_unique_constraint PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_mismatch_db_named_col_flag PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_named_cols_changed PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_nothing_changed_cols_unsorted PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_nothing_changed_implicit_uq_w_naming_conv PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_nothing_changed_one PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_nothing_changed_two PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_nothing_changed_unique_w_colkeys PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_nothing_changed_uq_w_mixed_case_nconv_name PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_nothing_changed_uq_w_mixed_case_plain_name PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_nothing_uq_changed_labels_were_truncated PASSED [ 19%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_remove_named_unique_constraint PASSED [ 20%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_remove_named_unique_index PASSED [ 20%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_remove_plain_index_is_reported PASSED [ 20%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_remove_unique_index_not_reported PASSED [ 20%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_remove_uq_constraint SKIPPEDe_3_51_2::test_remove_uq_constrain t (call)' : sqlite) [ 20%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_unique_flag_nothing_changed PASSED [ 20%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_unique_not_reported PASSED [ 20%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_unnamed_cols_changed PASSED [ 20%] tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_uq_casing_convention_changed_so_put_drops_first SKIPPED [ 20%] tests/test_autogen_indexes.py::TruncatedIdxTest::test_idx_matches_long PASSED [ 20%] tests/test_autogen_render.py::AutogenRenderTest::test_add_fk_constraint PASSED [ 20%] tests/test_autogen_render.py::AutogenRenderTest::test_add_fk_constraint_batch PASSED [ 20%] tests/test_autogen_render.py::AutogenRenderTest::test_add_fk_constraint_inline_colkeys PASSED [ 20%] tests/test_autogen_render.py::AutogenRenderTest::test_add_fk_constraint_kwarg PASSED [ 20%] tests/test_autogen_render.py::AutogenRenderTest::test_add_fk_constraint_schema PASSED [ 20%] tests/test_autogen_render.py::AutogenRenderTest::test_add_fk_constraint_schema_batch PASSED [ 20%] tests/test_autogen_render.py::AutogenRenderTest::test_add_fk_constraint_separate_colkeys PASSED [ 20%] tests/test_autogen_render.py::AutogenRenderTest::test_add_unique_constraint PASSED [ 20%] tests/test_autogen_render.py::AutogenRenderTest::test_add_unique_constraint_batch PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_add_unique_constraint_schema PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_add_unique_constraint_schema_batch PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_add_unique_constraint_unicode_schema PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_drop_fk_constraint PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_drop_fk_constraint_batch PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_drop_fk_constraint_batch_schema PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_drop_fk_constraint_schema PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_drop_index PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_drop_index_batch PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_drop_index_func PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_drop_index_if_exists PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_drop_index_schema PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_drop_index_schema_batch PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_drop_index_text PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_drop_unique_constraint PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_drop_unique_constraint_schema PASSED [ 21%] tests/test_autogen_render.py::AutogenRenderTest::test_drop_unique_constraint_schema_reprobj PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_generic_array_type PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column_computed PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column_computed_persisted[False] PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column_computed_persisted[True] PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column_custom_kwarg PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column_identity[kw0-sa.Identity(always=False)-_exclusions_00] <- PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column_identity[kw1-sa.Identity(always=None)-_exclusions_01] <- PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column_identity[kw2-sa.Identity(always=True)-_exclusions_02] <- PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column_identity[kw3-sa.Identity(always=False, start=2, increment=4, minvalue=-3, maxvalue=99, nominvalue=True, nomaxvalue=True, cycle=True, cache=42)-_exclusions_03] <- PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column_identity[kw4-sa.Identity(always=False, start=42, oracle_on_null=True, oracle_order=False)-_exclusions_04] <- SKIPPEDe, oracle_order=False)-_exclusions_04] (call)' : custom function) [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column_identity[kw5-sa.Identity(always=False, on_null=True, start=42, order=False)-_exclusions_05] <- PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column_if_not_exists PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column_system PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column_w_schema PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column_with_comment PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_index PASSED [ 22%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_index_batch PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_index_cast PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_index_custom_kwarg PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_index_desc PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_index_fn PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_index_func PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_index_if_not_exists PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_index_label PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_index_schema PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_index_schema_batch PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_add_index_text PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_addtl_args PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_add_identity[kw0-sa.Identity(always=False)-_exclusions_00] <- PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_add_identity[kw1-sa.Identity(always=None)-_exclusions_01] <- PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_add_identity[kw2-sa.Identity(always=True)-_exclusions_02] <- PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_add_identity[kw3-sa.Identity(always=False, start=2, increment=4, minvalue=-3, maxvalue=99, nominvalue=True, nomaxvalue=True, cycle=True, cache=42)-_exclusions_03] <- PASSED [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_add_identity[kw4-sa.Identity(always=False, start=42, oracle_on_null=True, oracle_order=False)-_exclusions_04] <- SKIPPEDll=True, oracle_order=False)-_exclusions_04] (call)' : custom function) [ 23%] tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_add_identity[kw5-sa.Identity(always=False, on_null=True, start=42, order=False)-_exclusions_05] <- PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_computed_existing_default PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_computed_existing_default_persisted[False] PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_computed_existing_default_persisted[True] PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_computed_modify_default PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_computed_modify_default_persisted[False] PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_computed_modify_default_persisted[True] PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_drop_identity PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_existing_comment PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_modify_comment PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_array_no_context PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_check_constraint_literal PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_check_constraint_literal_binds PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_check_constraint_sqlexpr PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_col_autoinc_false_mysql PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_col_comment_with_quote PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_col_drop_comment PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_col_with_comment PASSED [ 24%] tests/test_autogen_render.py::AutogenRenderTest::test_render_col_with_server_default PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_create_table_comment_op PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_create_table_comment_op_batch[False] PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_create_table_comment_op_batch[True] PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_create_table_comment_op_with_existing_comment PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_create_table_comment_op_with_schema PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_create_table_comment_with_quote_op PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_create_table_with_user_module_type[None] PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_create_table_with_user_module_type[default] PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_create_table_with_user_module_type[my_module.] PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_custom PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_drop_column PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_drop_column_if_exists PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_drop_column_w_schema PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_drop_index_custom_kwarg PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_drop_table PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_drop_table_comment_op PASSED [ 25%] tests/test_autogen_render.py::AutogenRenderTest::test_render_drop_table_comment_op_batch[False] PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_drop_table_comment_op_batch[True] PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_drop_table_comment_op_existing_with_quote PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_drop_table_if_exists PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_drop_table_w_schema PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_drop_unique_constraint_if_exists PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_empty_pk_vs_nonempty_pk PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_enum PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_executesql_alembic_module_prefix[None] PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_executesql_alembic_module_prefix[test.] PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_executesql_plaintext PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_executesql_sqlexpr_notimplemented PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_fk_constraint_bad_table_resolve PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_fk_constraint_bad_table_resolve_dont_get_confused PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_fk_constraint_kwarg PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_fk_constraint_link_to_name PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_fk_constraint_resolve_key PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_fk_constraint_use_alter PASSED [ 26%] tests/test_autogen_render.py::AutogenRenderTest::test_render_fk_constraint_w_metadata_schema PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_if_not_exists PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_modify_name PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_modify_nullable PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_modify_nullable_no_existing_type PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_modify_nullable_w_default PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_modify_nullable_w_schema PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_modify_reflected_int_server_default PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_modify_type PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_modify_type_w_autoincrement PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_modify_type_w_schema PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_non_native_enum PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_pk_with_col_name_vs_col_key PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_quoted_server_default PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_reverse_variant PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_server_default_context_passed PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_server_default_func PASSED [ 27%] tests/test_autogen_render.py::AutogenRenderTest::test_render_server_default_int PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_server_default_no_context PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_server_default_non_native_boolean PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_server_default_text PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_max_cols PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_no_implicit_check PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_upgrade PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_w_autoincrement PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_w_fk_schema PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_w_metadata_schema PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_w_metadata_schema_override PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_w_prefixes PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_w_prefixes_schema PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_w_schema PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_w_system PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_w_unicode_name PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_w_unicode_schema PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_w_unsupported_constraint PASSED [ 28%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_with_comment PASSED [ 29%] tests/test_autogen_render.py::AutogenRenderTest::test_render_table_with_info PASSED [ 29%] tests/test_autogen_render.py::AutogenRenderTest::test_render_unicode_server_default PASSED [ 29%] tests/test_autogen_render.py::AutogenRenderTest::test_render_unique_constraint_opts PASSED [ 29%] tests/test_autogen_render.py::AutogenRenderTest::test_render_variant PASSED [ 29%] tests/test_autogen_render.py::AutogenRenderTest::test_repr_custom_type[plain-nonsqlaname] PASSED [ 29%] tests/test_autogen_render.py::AutogenRenderTest::test_repr_custom_type[plain-sqlaname] PASSED [ 29%] tests/test_autogen_render.py::AutogenRenderTest::test_repr_custom_type[usevariant-nonsqlaname] PASSED [ 29%] tests/test_autogen_render.py::AutogenRenderTest::test_repr_custom_type[usevariant-sqlaname] PASSED [ 29%] tests/test_autogen_render.py::AutogenRenderTest::test_repr_dialect_type PASSED [ 29%] tests/test_autogen_render.py::AutogenRenderTest::test_repr_plain_sqla_type PASSED [ 29%] tests/test_autogen_render.py::AutogenRenderTest::test_repr_user_type_user_prefix_None PASSED [ 29%] tests/test_autogen_render.py::AutogenRenderTest::test_repr_user_type_user_prefix_present PASSED [ 29%] tests/test_autogen_render.py::RenderNamingConventionTest::test_added_fk PASSED [ 29%] tests/test_autogen_render.py::RenderNamingConventionTest::test_create_table_plus_add_index_in_modify PASSED [ 29%] tests/test_autogen_render.py::RenderNamingConventionTest::test_explicit_named_unique_constraint PASSED [ 29%] tests/test_autogen_render.py::RenderNamingConventionTest::test_explicit_unique_constraint PASSED [ 29%] tests/test_autogen_render.py::RenderNamingConventionTest::test_implicit_unique_constraint PASSED [ 30%] tests/test_autogen_render.py::RenderNamingConventionTest::test_inline_ck_constraint PASSED [ 30%] tests/test_autogen_render.py::RenderNamingConventionTest::test_inline_fk PASSED [ 30%] tests/test_autogen_render.py::RenderNamingConventionTest::test_inline_pk_constraint PASSED [ 30%] tests/test_autogen_render.py::RenderNamingConventionTest::test_render_add_index PASSED [ 30%] tests/test_autogen_render.py::RenderNamingConventionTest::test_render_add_index_schema PASSED [ 30%] tests/test_autogen_render.py::RenderNamingConventionTest::test_render_check_constraint_renamed PASSED [ 30%] tests/test_autogen_render.py::RenderNamingConventionTest::test_render_drop_index PASSED [ 30%] tests/test_autogen_render.py::RenderNamingConventionTest::test_schema_type_boolean PASSED [ 30%] tests/test_batch.py::BatchAPITest::test_add_col PASSED [ 30%] tests/test_batch.py::BatchAPITest::test_create_check PASSED [ 30%] tests/test_batch.py::BatchAPITest::test_create_fk PASSED [ 30%] tests/test_batch.py::BatchAPITest::test_create_fk_schema PASSED [ 30%] tests/test_batch.py::BatchAPITest::test_create_pk PASSED [ 30%] tests/test_batch.py::BatchAPITest::test_create_uq PASSED [ 30%] tests/test_batch.py::BatchAPITest::test_drop_col PASSED [ 30%] tests/test_batch.py::BatchAPITest::test_drop_constraint PASSED [ 30%] tests/test_batch.py::BatchApplyTest::test_add_ck PASSED [ 30%] tests/test_batch.py::BatchApplyTest::test_add_ck_unnamed PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_col PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_col_insert_after_another_insert PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_col_insert_after_end PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_col_insert_after_middle PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_col_insert_after_penultimate PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_col_insert_after_plus_no_order PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_col_insert_before PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_col_insert_before_another_insert PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_col_insert_before_beginning PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_col_insert_before_middle PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_col_no_order_plus_insert_after PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_col_partial_reordering PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_column_comment PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_fk PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_server_default PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_table_opts PASSED [ 31%] tests/test_batch.py::BatchApplyTest::test_add_uq PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_alter_column_comment PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_change_type PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_change_type_schematype_to_non PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_create_index PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_do_not_add_existing_columns_columns PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_drop_ck_col PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_drop_ck_table PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_drop_col PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_drop_col_remove_fk PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_drop_col_remove_pk PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_drop_col_retain_fk PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_drop_col_retain_fk_selfref PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_drop_fk PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_drop_index PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_drop_pk PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_drop_server_default PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_drop_uq PASSED [ 32%] tests/test_batch.py::BatchApplyTest::test_partial_reordering PASSED [ 33%] tests/test_batch.py::BatchApplyTest::test_regen_multi_fk PASSED [ 33%] tests/test_batch.py::BatchApplyTest::test_regen_multi_fk_schema PASSED [ 33%] tests/test_batch.py::BatchApplyTest::test_rename_col PASSED [ 33%] tests/test_batch.py::BatchApplyTest::test_rename_col_boolean PASSED [ 33%] tests/test_batch.py::BatchApplyTest::test_rename_col_boolean_no_ck PASSED [ 33%] tests/test_batch.py::BatchApplyTest::test_rename_col_enum PASSED [ 33%] tests/test_batch.py::BatchApplyTest::test_rename_col_fk PASSED [ 33%] tests/test_batch.py::BatchApplyTest::test_rename_col_literal_ck PASSED [ 33%] tests/test_batch.py::BatchApplyTest::test_rename_col_literal_ck_workaround PASSED [ 33%] tests/test_batch.py::BatchApplyTest::test_rename_col_pk PASSED [ 33%] tests/test_batch.py::BatchApplyTest::test_rename_col_sql_ck PASSED [ 33%] tests/test_batch.py::BatchApplyTest::test_rename_col_w_index PASSED [ 33%] tests/test_batch.py::BatchApplyTest::test_rename_col_w_uq PASSED [ 33%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_ck_constraint[always] PASSED [ 33%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_ck_constraint[auto] PASSED [ 33%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_column_auto PASSED [ 33%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_column_auto_generated[False] PASSED [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_column_auto_generated[True] PASSED [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_column_auto_identity SKIPPED_add_column_auto_identity (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_column_auto_server_default_calculated PASSED [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_column_comment SKIPPED_add_column_comment (call)' : custom function) [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_column_comment_recreate SKIPPED_add_column_comment_recreate (call)' : custom function) [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_column_insert_after_recreate PASSED [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_column_insert_before_raise_on_alter PASSED [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_column_insert_before_recreate PASSED [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_column_recreate PASSED [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_constraint_type PASSED [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_pk_constraint[always] PASSED [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_pk_constraint[auto] PASSED [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_table_comment SKIPPED_add_table_comment (call)' : custom function) [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_uq[always] PASSED [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_uq[auto] PASSED [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_uq_plus_col[always] PASSED [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_uq_plus_col[auto] PASSED [ 34%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_alter_column_comment SKIPPED_alter_column_comment (call)' : custom function) [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_alter_column_comment_recreate SKIPPED_alter_column_comment_recreate (call)' : custom function) [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_change_type PASSED [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_change_type_boolean_to_int PASSED [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_change_type_int_to_boolean PASSED [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_create_drop_index PASSED [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_drop_ck_constraint[always] PASSED [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_drop_ck_constraint[auto] PASSED [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_drop_ck_constraint_legacy_type PASSED [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_drop_col_schematype PASSED [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_drop_column PASSED [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_drop_column_fk_recreate PASSED [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_drop_column_pk PASSED [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_drop_foreign_key PASSED [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_drop_pk_col_readd_col PASSED [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_drop_pk_col_readd_col_also_pk_const PASSED [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_drop_pk_col_readd_pk_col PASSED [ 35%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_drop_table_comment SKIPPED_drop_table_comment (call)' : custom function) [ 36%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_fk_points_to_me_auto PASSED [ 36%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_fk_points_to_me_recreate PASSED [ 36%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_fk_points_to_me_sqlite_refinteg PASSED [ 36%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_ix_existing PASSED [ 36%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_no_net_change_timestamp PASSED [ 36%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_no_net_change_timestamp_w_default PASSED [ 36%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_rename_column PASSED [ 36%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_rename_column_boolean PASSED [ 36%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_rename_column_boolean_named_ck PASSED [ 36%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_rename_column_non_native_boolean_no_ck PASSED [ 36%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_rename_column_pk PASSED [ 36%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_selfref_fk_auto PASSED [ 36%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_selfref_fk_recreate PASSED [ 36%] tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_selfref_fk_sqlite_refinteg PASSED [ 36%] tests/test_batch.py::CopyFromTest::test_change_name_from_existing_variant_type PASSED [ 36%] tests/test_batch.py::CopyFromTest::test_change_type PASSED [ 36%] tests/test_batch.py::CopyFromTest::test_change_type_from_schematype PASSED [ 36%] tests/test_batch.py::CopyFromTest::test_change_type_to_schematype PASSED [ 37%] tests/test_batch.py::CopyFromTest::test_create_drop_index_w_always PASSED [ 37%] tests/test_batch.py::CopyFromTest::test_create_drop_index_w_other_ops PASSED [ 37%] tests/test_batch.py::CopyFromTest::test_create_drop_index_wo_always PASSED [ 37%] tests/test_batch.py::OfflineTest::test_downgrade_batch_fails_gracefully PASSED [ 37%] tests/test_batch.py::OfflineTest::test_downgrade_batch_no_reflection PASSED [ 37%] tests/test_batch.py::OfflineTest::test_downgrade_non_batch PASSED [ 37%] tests/test_batch.py::OfflineTest::test_upgrade_batch_fails_gracefully PASSED [ 37%] tests/test_batch.py::OfflineTest::test_upgrade_batch_no_reflection PASSED [ 37%] tests/test_batch.py::OfflineTest::test_upgrade_non_batch PASSED [ 37%] tests/test_bulk_insert.py::BulkInsertTest::test_bulk_insert PASSED [ 37%] tests/test_bulk_insert.py::BulkInsertTest::test_bulk_insert_as_sql PASSED [ 37%] tests/test_bulk_insert.py::BulkInsertTest::test_bulk_insert_as_sql_mssql PASSED [ 37%] tests/test_bulk_insert.py::BulkInsertTest::test_bulk_insert_as_sql_pg PASSED [ 37%] tests/test_bulk_insert.py::BulkInsertTest::test_bulk_insert_from_new_table PASSED [ 37%] tests/test_bulk_insert.py::BulkInsertTest::test_bulk_insert_inline_literal_as_sql PASSED [ 37%] tests/test_bulk_insert.py::BulkInsertTest::test_bulk_insert_mssql PASSED [ 37%] tests/test_bulk_insert.py::BulkInsertTest::test_bulk_insert_no_rows PASSED [ 38%] tests/test_bulk_insert.py::BulkInsertTest::test_bulk_insert_pg PASSED [ 38%] tests/test_bulk_insert.py::BulkInsertTest::test_bulk_insert_pg_single PASSED [ 38%] tests/test_bulk_insert.py::BulkInsertTest::test_bulk_insert_pg_single_as_sql PASSED [ 38%] tests/test_bulk_insert.py::BulkInsertTest::test_bulk_insert_pg_single_big_t_as_sql PASSED [ 38%] tests/test_bulk_insert.py::BulkInsertTest::test_bulk_insert_wrong_cols PASSED [ 38%] tests/test_bulk_insert.py::BulkInsertTest::test_invalid_format PASSED [ 38%] tests/test_bulk_insert.py::RoundTripTest_sqlite+pysqlite_3_51_2::test_bulk_insert_from_new_table PASSED [ 38%] tests/test_bulk_insert.py::RoundTripTest_sqlite+pysqlite_3_51_2::test_bulk_insert_inline_literal PASSED [ 38%] tests/test_bulk_insert.py::RoundTripTest_sqlite+pysqlite_3_51_2::test_bulk_insert_round_trip PASSED [ 38%] tests/test_bulk_insert.py::RoundTripTest_sqlite+pysqlite_3_51_2::test_single_insert_round_trip PASSED [ 38%] tests/test_command.py::CheckTest::test_check_changes_detected PASSED [ 38%] tests/test_command.py::CheckTest::test_check_no_changes PASSED [ 38%] tests/test_command.py::CheckTestMultiDB::test_check_changes_detected PASSED [ 38%] tests/test_command.py::CheckTestMultiDB::test_check_no_changes PASSED [ 38%] tests/test_command.py::CommandLineTest::test_config_file_c_override PASSED [ 38%] tests/test_command.py::CommandLineTest::test_config_file_default PASSED [ 38%] tests/test_command.py::CommandLineTest::test_config_file_env_variable PASSED [ 38%] tests/test_command.py::CommandLineTest::test_config_file_env_variable_c_override PASSED [ 39%] tests/test_command.py::CommandLineTest::test_config_file_failure_modes PASSED [ 39%] tests/test_command.py::CommandLineTest::test_config_file_resolution[args0-some/pyproject.toml-alembic.ini] PASSED [ 39%] tests/test_command.py::CommandLineTest::test_config_file_resolution[args1-pyproject.toml-some/path_to_alembic.ini] PASSED [ 39%] tests/test_command.py::CommandLineTest::test_config_file_resolution[args2-foo/pyproject.toml-bar/alembic.ini] PASSED [ 39%] tests/test_command.py::CommandLineTest::test_config_file_resolution[args3-foo/pyproject.toml-bar/alembic.ini] PASSED [ 39%] tests/test_command.py::CommandLineTest::test_config_file_resolution[args4-pyproject.toml-alembic.ini] PASSED [ 39%] tests/test_command.py::CommandLineTest::test_config_file_resolution[args5-foo/pyproject.toml-alembic.ini] PASSED [ 39%] tests/test_command.py::CommandLineTest::test_config_file_resolution[args6-pyproject.toml-foo/some_alembic.ini] PASSED [ 39%] tests/test_command.py::CommandLineTest::test_help_text PASSED [ 39%] tests/test_command.py::CommandLineTest::test_init_custom_template_location[init] PASSED [ 39%] tests/test_command.py::CommandLineTest::test_init_custom_template_location[list_templates] PASSED [ 39%] tests/test_command.py::CommandLineTest::test_init_file_doesnt_exist PASSED [ 39%] tests/test_command.py::CommandLineTest::test_init_file_exists_and_is_empty PASSED [ 39%] tests/test_command.py::CommandLineTest::test_init_file_exists_and_is_not_empty PASSED [ 39%] tests/test_command.py::CommandLineTest::test_init_file_relative_version_token[generic-somepath/foobar-pyproject.toml-alembic.ini-None-%(here)s/somepath/foobar] PASSED [ 39%] tests/test_command.py::CommandLineTest::test_init_file_relative_version_token[generic-somepath/foobar-pyproject.toml-somepath/alembic.ini-None-%(here)s/foobar] PASSED [ 39%] tests/test_command.py::CommandLineTest::test_init_file_relative_version_token[pyproject-somepath/foobar-pyproject.toml-alembic.ini-%(here)s/somepath/foobar-None] PASSED [ 40%] tests/test_command.py::CommandLineTest::test_init_file_relative_version_token[pyproject-somepath/foobar-somepath/pyproject.toml-alembic.ini-%(here)s/foobar-None] PASSED [ 40%] tests/test_command.py::CommandLineTest::test_init_no_such_template PASSED [ 40%] tests/test_command.py::CommandLineTest::test_init_w_package PASSED [ 40%] tests/test_command.py::CommandLineTest::test_run_cmd_args_missing PASSED [ 40%] tests/test_command.py::CommandLineTest::test_version_text PASSED [ 40%] tests/test_command.py::CurrentTest::test_doesnt_create_alembic_version PASSED [ 40%] tests/test_command.py::CurrentTest::test_heads_one_is_dependent PASSED [ 40%] tests/test_command.py::CurrentTest::test_heads_upg PASSED [ 40%] tests/test_command.py::CurrentTest::test_no_current PASSED [ 40%] tests/test_command.py::CurrentTest::test_plain_current PASSED [ 40%] tests/test_command.py::CurrentTest::test_two_heads PASSED [ 40%] tests/test_command.py::EditTest::test_edit_b PASSED [ 40%] tests/test_command.py::EditTest::test_edit_current PASSED [ 40%] tests/test_command.py::EditTest::test_edit_head PASSED [ 40%] tests/test_command.py::EditTest::test_edit_no_current PASSED [ 40%] tests/test_command.py::EditTest::test_edit_no_revs PASSED [ 40%] tests/test_command.py::EnureVersionTest::test_ensure_version PASSED [ 40%] tests/test_command.py::EnureVersionTest::test_ensure_version_called_twice PASSED [ 41%] tests/test_command.py::EnureVersionTest::test_sql_ensure_version PASSED [ 41%] tests/test_command.py::HistoryTest::test_history_base_to_num PASSED [ 41%] tests/test_command.py::HistoryTest::test_history_current_to_head_as_b PASSED [ 41%] tests/test_command.py::HistoryTest::test_history_current_to_head_as_base PASSED [ 41%] tests/test_command.py::HistoryTest::test_history_full PASSED [ 41%] tests/test_command.py::HistoryTest::test_history_full_environment PASSED [ 41%] tests/test_command.py::HistoryTest::test_history_include_env PASSED [ 41%] tests/test_command.py::HistoryTest::test_history_indicate_current PASSED [ 41%] tests/test_command.py::HistoryTest::test_history_num_plus_relative PASSED [ 41%] tests/test_command.py::HistoryTest::test_history_num_range PASSED [ 41%] tests/test_command.py::HistoryTest::test_history_num_range_environment PASSED [ 41%] tests/test_command.py::HistoryTest::test_history_num_to_head PASSED [ 41%] tests/test_command.py::HistoryTest::test_history_num_to_head_environment PASSED [ 41%] tests/test_command.py::HistoryTest::test_history_relative_to_num PASSED [ 41%] tests/test_command.py::HistoryTest::test_history_too_large_relative_to_num PASSED [ 41%] tests/test_command.py::LiveStampTest_sqlite+pysqlite_3_51_2::test_stamp_creates_table PASSED [ 41%] tests/test_command.py::LiveStampTest_sqlite+pysqlite_3_51_2::test_stamp_existing_downgrade PASSED [ 42%] tests/test_command.py::LiveStampTest_sqlite+pysqlite_3_51_2::test_stamp_existing_upgrade PASSED [ 42%] tests/test_command.py::LiveStampTest_sqlite+pysqlite_3_51_2::test_stamp_version_already_there PASSED [ 42%] tests/test_command.py::RevisionEnvironmentTest::test_merge_cmd_revision_environment[False] PASSED [ 42%] tests/test_command.py::RevisionEnvironmentTest::test_merge_cmd_revision_environment[True] PASSED [ 42%] tests/test_command.py::RevisionTest::test_create_rev_autogen PASSED [ 42%] tests/test_command.py::RevisionTest::test_create_rev_autogen_db_not_up_to_date PASSED [ 42%] tests/test_command.py::RevisionTest::test_create_rev_autogen_db_not_up_to_date_multi_heads PASSED [ 42%] tests/test_command.py::RevisionTest::test_create_rev_autogen_need_to_select_head PASSED [ 42%] tests/test_command.py::RevisionTest::test_create_rev_autogenerate_db_not_up_to_date_post_merge PASSED [ 42%] tests/test_command.py::RevisionTest::test_create_rev_autogenerate_post_merge PASSED [ 42%] tests/test_command.py::RevisionTest::test_create_rev_depends_on PASSED [ 42%] tests/test_command.py::RevisionTest::test_create_rev_depends_on_branch_label PASSED [ 42%] tests/test_command.py::RevisionTest::test_create_rev_depends_on_partial_revid PASSED [ 42%] tests/test_command.py::RevisionTest::test_create_rev_invalid_depends_on PASSED [ 42%] tests/test_command.py::RevisionTest::test_create_rev_plain_db_not_up_to_date PASSED [ 42%] tests/test_command.py::RevisionTest::test_create_rev_plain_db_not_up_to_date_multi_heads PASSED [ 42%] tests/test_command.py::RevisionTest::test_create_rev_plain_need_to_select_head PASSED [ 42%] tests/test_command.py::RevisionTest::test_create_rev_plain_post_merge PASSED [ 43%] tests/test_command.py::RevisionTest::test_err_correctly_raised_on_dupe_rows_no_pk PASSED [ 43%] tests/test_command.py::RevisionTest::test_nonsensical_sql_mode_autogen PASSED [ 43%] tests/test_command.py::RevisionTest::test_nonsensical_sql_no_env PASSED [ 43%] tests/test_command.py::RevisionTest::test_pk_constraint_normally_prevents_dupe_rows PASSED [ 43%] tests/test_command.py::RevisionTest::test_sensical_sql_w_env PASSED [ 43%] tests/test_command.py::StampMultipleHeadsTest::test_online_stamp_multi_rev_from_real_ancestor PASSED [ 43%] tests/test_command.py::StampMultipleHeadsTest::test_online_stamp_multi_rev_nonsensical PASSED [ 43%] tests/test_command.py::StampMultipleHeadsTest::test_online_stamp_version_already_there PASSED [ 43%] tests/test_command.py::StampMultipleHeadsTest::test_sql_stamp_different_multi_start PASSED [ 43%] tests/test_command.py::StampMultipleHeadsTest::test_sql_stamp_heads PASSED [ 43%] tests/test_command.py::StampMultipleHeadsTest::test_sql_stamp_heads_symbolic PASSED [ 43%] tests/test_command.py::StampMultipleHeadsTest::test_sql_stamp_multi_rev_from_multi_base_nonsensical PASSED [ 43%] tests/test_command.py::StampMultipleHeadsTest::test_sql_stamp_multi_rev_from_multi_start PASSED [ 43%] tests/test_command.py::StampMultipleHeadsTest::test_sql_stamp_multi_rev_nonsensical PASSED [ 43%] tests/test_command.py::StampMultipleHeadsTest::test_stamp_purge PASSED [ 43%] tests/test_command.py::StampMultipleHeadsTest::test_stamp_purge_no_sql PASSED [ 43%] tests/test_command.py::StampMultipleRootsTest::test_sql_stamp_heads PASSED [ 44%] tests/test_command.py::StampMultipleRootsTest::test_sql_stamp_single_head PASSED [ 44%] tests/test_command.py::UpgradeDowngradeStampTest::test_base_to_head_sql PASSED [ 44%] tests/test_command.py::UpgradeDowngradeStampTest::test_none_to_head_sql PASSED [ 44%] tests/test_command.py::UpgradeDowngradeStampTest::test_sql_stamp_from_partial_rev PASSED [ 44%] tests/test_command.py::UpgradeDowngradeStampTest::test_sql_stamp_from_rev PASSED [ 44%] tests/test_command.py::UpgradeDowngradeStampTest::test_sql_stamp_revision_as_kw PASSED [ 44%] tests/test_command.py::UpgradeDowngradeStampTest::test_stamp_argparser_multiple_rev PASSED [ 44%] tests/test_command.py::UpgradeDowngradeStampTest::test_stamp_argparser_single_rev PASSED [ 44%] tests/test_command.py::UpgradeDowngradeStampTest::test_version_from_middle_update PASSED [ 44%] tests/test_command.py::UpgradeDowngradeStampTest::test_version_from_none_insert PASSED [ 44%] tests/test_command.py::UpgradeDowngradeStampTest::test_version_to_middle PASSED [ 44%] tests/test_command.py::UpgradeDowngradeStampTest::test_version_to_none PASSED [ 44%] tests/test_config.py::CommandLineTest::test_register_command PASSED [ 44%] tests/test_config.py::ConfigTest::test_attributes_attr PASSED [ 44%] tests/test_config.py::ConfigTest::test_attributes_constructor PASSED [ 44%] tests/test_config.py::ConfigTest::test_config_no_file_main_option PASSED [ 44%] tests/test_config.py::ConfigTest::test_config_no_file_section_option PASSED [ 44%] tests/test_config.py::ConfigTest::test_config_set_main_option_percent PASSED [ 45%] tests/test_config.py::ConfigTest::test_config_set_section_option_interpolation PASSED [ 45%] tests/test_config.py::ConfigTest::test_config_set_section_option_percent PASSED [ 45%] tests/test_config.py::ConfigTest::test_no_script_error PASSED [ 45%] tests/test_config.py::ConfigTest::test_prepend_sys_path_locations[Linux pathsep 1] PASSED [ 45%] tests/test_config.py::ConfigTest::test_prepend_sys_path_locations[Linux pathsep 2] PASSED [ 45%] tests/test_config.py::ConfigTest::test_prepend_sys_path_locations[Windows pathsep 1] PASSED [ 45%] tests/test_config.py::ConfigTest::test_prepend_sys_path_locations[Windows pathsep 2] PASSED [ 45%] tests/test_config.py::ConfigTest::test_prepend_sys_path_locations[invalid pathsep 2] PASSED [ 45%] tests/test_config.py::ConfigTest::test_prepend_sys_path_locations[legacy raw string 1] PASSED [ 45%] tests/test_config.py::ConfigTest::test_prepend_sys_path_locations[legacy raw string 2] PASSED [ 45%] tests/test_config.py::ConfigTest::test_prepend_sys_path_locations[legacy raw string 3] PASSED [ 45%] tests/test_config.py::ConfigTest::test_prepend_sys_path_locations[legacy raw string 4] PASSED [ 45%] tests/test_config.py::ConfigTest::test_prepend_sys_path_locations[multiline string 1] PASSED [ 45%] tests/test_config.py::ConfigTest::test_prepend_sys_path_locations[os pathsep] PASSED [ 45%] tests/test_config.py::ConfigTest::test_standalone_op PASSED [ 45%] tests/test_config.py::ConfigTest::test_version_locations[Linux pathsep 1] PASSED [ 45%] tests/test_config.py::ConfigTest::test_version_locations[Linux pathsep 2] PASSED [ 46%] tests/test_config.py::ConfigTest::test_version_locations[Windows pathsep 1] PASSED [ 46%] tests/test_config.py::ConfigTest::test_version_locations[Windows pathsep 2] PASSED [ 46%] tests/test_config.py::ConfigTest::test_version_locations[invalid pathsep 2] PASSED [ 46%] tests/test_config.py::ConfigTest::test_version_locations[legacy raw string 1] PASSED [ 46%] tests/test_config.py::ConfigTest::test_version_locations[legacy raw string 2] PASSED [ 46%] tests/test_config.py::ConfigTest::test_version_locations[legacy raw string 3] PASSED [ 46%] tests/test_config.py::ConfigTest::test_version_locations[legacy raw string 4] PASSED [ 46%] tests/test_config.py::ConfigTest::test_version_locations[multiline string 1] PASSED [ 46%] tests/test_config.py::ConfigTest::test_version_locations[os pathsep] PASSED [ 46%] tests/test_config.py::ConfigTest::test_version_path_separator_deprecation_warning PASSED [ 46%] tests/test_config.py::FileConfigTest::test_config_args PASSED [ 46%] tests/test_config.py::PyprojectConfigTest::test_get_main_ini_added PASSED [ 46%] tests/test_config.py::PyprojectConfigTest::test_get_main_option_raises PASSED [ 46%] tests/test_config.py::PyprojectConfigTest::test_no_config_at_all_still_raises PASSED [ 46%] tests/test_config.py::PyprojectConfigTest::test_prepend_sys_path PASSED [ 46%] tests/test_config.py::PyprojectConfigTest::test_revision_command_no_alembicini PASSED [ 46%] tests/test_config.py::PyprojectConfigTest::test_script_location PASSED [ 46%] tests/test_config.py::PyprojectConfigTest::test_string_list PASSED [ 47%] tests/test_config.py::PyprojectConfigTest::test_version_locations PASSED [ 47%] tests/test_config.py::PyprojectConfigTest::test_write_hooks PASSED [ 47%] tests/test_config.py::StdoutOutputEncodingTest::test_ascii_unicode PASSED [ 47%] tests/test_config.py::StdoutOutputEncodingTest::test_only_formats_output_with_args PASSED [ 47%] tests/test_config.py::StdoutOutputEncodingTest::test_plain PASSED [ 47%] tests/test_config.py::StdoutOutputEncodingTest::test_utf8_unicode PASSED [ 47%] tests/test_config.py::TemplateOutputEncodingTest::test_default PASSED [ 47%] tests/test_config.py::TemplateOutputEncodingTest::test_setting PASSED [ 47%] tests/test_editor.py::TestHelpers::test_edit_with_default_editor PASSED [ 47%] tests/test_editor.py::TestHelpers::test_edit_with_default_editor_windows PASSED [ 47%] tests/test_editor.py::TestHelpers::test_edit_with_missing_editor PASSED [ 47%] tests/test_editor.py::TestHelpers::test_edit_with_user_editor[False] PASSED [ 47%] tests/test_editor.py::TestHelpers::test_edit_with_user_editor[True] PASSED [ 47%] tests/test_editor.py::TestHelpers::test_edit_with_user_editor_abs PASSED [ 47%] tests/test_editor.py::TestHelpers::test_edit_with_user_editor_exists[EDITOR] PASSED [ 47%] tests/test_editor.py::TestHelpers::test_edit_with_user_editor_exists[VISUAL] PASSED [ 47%] tests/test_editor.py::TestHelpers::test_edit_with_user_editor_precedence[False] PASSED [ 48%] tests/test_editor.py::TestHelpers::test_edit_with_user_editor_precedence[True] PASSED [ 48%] tests/test_environment.py::CWDTest::test_sys_path_prepend[. /tmp/foo-None-expected5] PASSED [ 48%] tests/test_environment.py::CWDTest::test_sys_path_prepend[. /tmp/foo-space-expected6] PASSED [ 48%] tests/test_environment.py::CWDTest::test_sys_path_prepend[.-None-expected0] PASSED [ 48%] tests/test_environment.py::CWDTest::test_sys_path_prepend[/tmp/foo /tmp/bar-None-expected3] PASSED [ 48%] tests/test_environment.py::CWDTest::test_sys_path_prepend[/tmp/foo,/tmp/bar-None-expected4] PASSED [ 48%] tests/test_environment.py::CWDTest::test_sys_path_prepend[/tmp/foo:/tmp/bar-:-expected2] PASSED [ 48%] tests/test_environment.py::CWDTest::test_sys_path_prepend[/tmp/foo:/tmp/bar-None-expected1] PASSED [ 48%] tests/test_environment.py::EnvironmentTest::test_error_on_passing_engine PASSED [ 48%] tests/test_environment.py::EnvironmentTest::test_migration_context_has_config PASSED [ 48%] tests/test_environment.py::EnvironmentTest::test_sql_mode_parameters PASSED [ 48%] tests/test_environment.py::EnvironmentTest::test_tag_arg PASSED [ 48%] tests/test_environment.py::EnvironmentTest::test_x_arg PASSED [ 48%] tests/test_environment.py::EnvironmentTest::test_x_arg_asdict PASSED [ 48%] tests/test_environment.py::EnvironmentTest::test_x_arg_empty_value PASSED [ 48%] tests/test_environment.py::EnvironmentTest::test_x_arg_no_opts PASSED [ 48%] tests/test_environment.py::EnvironmentTest::test_x_arg_no_opts_asdict PASSED [ 48%] tests/test_external_dialect.py::ExternalDialectRenderTest::test_external_nested_render_external_type PASSED [ 49%] tests/test_external_dialect.py::ExternalDialectRenderTest::test_external_nested_render_sqla_type PASSED [ 49%] tests/test_external_dialect.py::ExternalDialectRenderTest::test_render_type PASSED [ 49%] tests/test_impl.py::FutureImplTest_sqlite+pysqlite_3_51_2::test_dont_send_both PASSED [ 49%] tests/test_impl.py::FutureImplTest_sqlite+pysqlite_3_51_2::test_execute_multiparams PASSED [ 49%] tests/test_impl.py::FutureImplTest_sqlite+pysqlite_3_51_2::test_execute_params PASSED [ 49%] tests/test_impl.py::FutureImplTest_sqlite+pysqlite_3_51_2::test_no_multiparams_w_as_sql PASSED [ 49%] tests/test_impl.py::FutureImplTest_sqlite+pysqlite_3_51_2::test_no_params_w_as_sql PASSED [ 49%] tests/test_impl.py::ImplTest_sqlite+pysqlite_3_51_2::test_dont_send_both PASSED [ 49%] tests/test_impl.py::ImplTest_sqlite+pysqlite_3_51_2::test_execute_multiparams PASSED [ 49%] tests/test_impl.py::ImplTest_sqlite+pysqlite_3_51_2::test_execute_params PASSED [ 49%] tests/test_impl.py::ImplTest_sqlite+pysqlite_3_51_2::test_no_multiparams_w_as_sql PASSED [ 49%] tests/test_impl.py::ImplTest_sqlite+pysqlite_3_51_2::test_no_params_w_as_sql PASSED [ 49%] tests/test_messaging.py::MessagingTest::test_current_obfuscate_password PASSED [ 49%] tests/test_messaging.py::MessagingTest::test_msg_wraps PASSED [ 49%] tests/test_mssql.py::FullEnvironmentTests::test_batch_separator_custom PASSED [ 49%] tests/test_mssql.py::FullEnvironmentTests::test_batch_separator_default PASSED [ 49%] tests/test_mssql.py::FullEnvironmentTests::test_begin_commit PASSED [ 50%] tests/test_mssql.py::OpTest::test_add_column PASSED [ 50%] tests/test_mssql.py::OpTest::test_add_column_computed PASSED [ 50%] tests/test_mssql.py::OpTest::test_add_column_identity[kw0] SKIPPED)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 50%] tests/test_mssql.py::OpTest::test_add_column_identity[kw1] SKIPPED)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 50%] tests/test_mssql.py::OpTest::test_add_column_identity[kw2] SKIPPED)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 50%] tests/test_mssql.py::OpTest::test_add_column_identity[kw3] SKIPPED)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 50%] tests/test_mssql.py::OpTest::test_add_column_with_default PASSED [ 50%] tests/test_mssql.py::OpTest::test_alter_add_server_default PASSED [ 50%] tests/test_mssql.py::OpTest::test_alter_column_computed_not_supported[-0] PASSED [ 50%] tests/test_mssql.py::OpTest::test_alter_column_computed_not_supported[-1] PASSED [ 50%] tests/test_mssql.py::OpTest::test_alter_column_computed_not_supported[-2] PASSED [ 50%] tests/test_mssql.py::OpTest::test_alter_column_dont_drop_default PASSED [ 50%] tests/test_mssql.py::OpTest::test_alter_column_dont_touch_constraints PASSED [ 50%] tests/test_mssql.py::OpTest::test_alter_column_drop_default PASSED [ 50%] tests/test_mssql.py::OpTest::test_alter_column_drop_default_w_schema PASSED [ 50%] tests/test_mssql.py::OpTest::test_alter_column_identity_add_not_supported[-0] SKIPPEDorted[-0] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 50%] tests/test_mssql.py::OpTest::test_alter_column_identity_add_not_supported[-1] SKIPPEDorted[-1] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 50%] tests/test_mssql.py::OpTest::test_alter_column_identity_add_not_supported[-2] SKIPPEDorted[-2] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 51%] tests/test_mssql.py::OpTest::test_alter_column_not_nullable_w_existing_type PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_not_nullable_w_new_type PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_nullable_type_required PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_nullable_w_existing_type PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_nullable_w_new_type PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_rename_mssql PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_rename_mssql_schema PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_rename_quoted_mssql PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_type_and_nullability[False-False-False] PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_type_and_nullability[False-False-True] PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_type_and_nullability[False-True-False] PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_type_and_nullability[False-True-True] PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_type_and_nullability[True-False-False] PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_type_and_nullability[True-False-True] PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_type_and_nullability[True-True-False] PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_type_and_nullability[True-True-True] PASSED [ 51%] tests/test_mssql.py::OpTest::test_alter_column_type_dont_change_nullability PASSED [ 52%] tests/test_mssql.py::OpTest::test_alter_column_type_should_have_existing_nullable PASSED [ 52%] tests/test_mssql.py::OpTest::test_alter_do_everything PASSED [ 52%] tests/test_mssql.py::OpTest::test_alter_remove_server_default PASSED [ 52%] tests/test_mssql.py::OpTest::test_alter_replace_server_default PASSED [ 52%] tests/test_mssql.py::OpTest::test_create_index_mssql_include PASSED [ 52%] tests/test_mssql.py::OpTest::test_create_index_mssql_include_is_none PASSED [ 52%] tests/test_mssql.py::OpTest::test_drop_column_w_check PASSED [ 52%] tests/test_mssql.py::OpTest::test_drop_column_w_check_in_batch PASSED [ 52%] tests/test_mssql.py::OpTest::test_drop_column_w_check_quoting PASSED [ 52%] tests/test_mssql.py::OpTest::test_drop_column_w_default PASSED [ 52%] tests/test_mssql.py::OpTest::test_drop_column_w_default_in_batch PASSED [ 52%] tests/test_mssql.py::OpTest::test_drop_column_w_fk PASSED [ 52%] tests/test_mssql.py::OpTest::test_drop_column_w_fk_in_batch PASSED [ 52%] tests/test_mssql.py::OpTest::test_drop_column_w_fk_schema PASSED [ 52%] tests/test_mssql.py::OpTest::test_drop_column_w_schema PASSED [ 52%] tests/test_mssql.py::OpTest::test_drop_index PASSED [ 52%] tests/test_mssql.py::OpTest::test_drop_index_w_tablename_legacy PASSED [ 52%] tests/test_mssql.py::OpTest::test_rename_table PASSED [ 53%] tests/test_mssql.py::OpTest::test_rename_table_casesens PASSED [ 53%] tests/test_mssql.py::OpTest::test_rename_table_schema PASSED [ 53%] tests/test_mssql.py::OpTest::test_rename_table_schema_casesens PASSED [ 53%] tests/test_mysql.py::MySQLOpTest::test_add_column_computed PASSED [ 53%] tests/test_mysql.py::MySQLOpTest::test_add_column_if_not_exists PASSED [ 53%] tests/test_mysql.py::MySQLOpTest::test_add_column_with_comment PASSED [ 53%] tests/test_mysql.py::MySQLOpTest::test_alter_column_add_comment PASSED [ 53%] tests/test_mysql.py::MySQLOpTest::test_alter_column_add_comment_quoting PASSED [ 53%] tests/test_mysql.py::MySQLOpTest::test_alter_column_computed_not_supported[-0] PASSED [ 53%] tests/test_mysql.py::MySQLOpTest::test_alter_column_computed_not_supported[-1] PASSED [ 53%] tests/test_mysql.py::MySQLOpTest::test_alter_column_computed_not_supported[-2] PASSED [ 53%] tests/test_mysql.py::MySQLOpTest::test_alter_column_drop_comment PASSED [ 53%] tests/test_mysql.py::MySQLOpTest::test_alter_column_drop_default PASSED [ 53%] tests/test_mysql.py::MySQLOpTest::test_alter_column_existing_comment PASSED [ 53%] tests/test_mysql.py::MySQLOpTest::test_alter_column_identity_not_supported[-0] PASSED [ 53%] tests/test_mysql.py::MySQLOpTest::test_alter_column_identity_not_supported[-1] PASSED [ 53%] tests/test_mysql.py::MySQLOpTest::test_alter_column_identity_not_supported[-2] PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_alter_column_modify_datetime_default PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_alter_column_modify_default PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_alter_column_modify_programmatic_default PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_alter_column_multi_alter_w_drop_default PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_alter_column_new_comment_replaces_existing PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_alter_column_remove_schematype PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_col_add_autoincrement PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_col_alter_type_required PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_col_dont_remove_server_default PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_col_multi_alter PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_col_not_nullable PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_col_not_nullable_existing_serv_default PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_col_nullable PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_col_remove_autoincrement PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_create_table_comment PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_create_table_with_column_comments PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_create_table_with_comment PASSED [ 54%] tests/test_mysql.py::MySQLOpTest::test_drop_check_mariadb PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_drop_check_mysql PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_drop_check_quoted_mariadb PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_drop_check_quoted_mysql PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_drop_column_if_exists PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_drop_constraint_primary PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_drop_fk PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_drop_fk_legacy PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_drop_fk_quoted PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_drop_generic_constraint PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_drop_table_comment PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_drop_unique PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_drop_unique_quoted PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_drop_unknown PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_rename_column PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_rename_column_autoincrement PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_rename_column_existing_comment PASSED [ 55%] tests/test_mysql.py::MySQLOpTest::test_rename_column_quotes_needed_one PASSED [ 56%] tests/test_mysql.py::MySQLOpTest::test_rename_column_quotes_needed_two PASSED [ 56%] tests/test_mysql.py::MySQLOpTest::test_rename_column_serv_compiled_default PASSED [ 56%] tests/test_mysql.py::MySQLOpTest::test_rename_column_serv_default PASSED [ 56%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_destination_rev_context_runs_abbreviated PASSED [ 56%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_destination_rev_post_context PASSED [ 56%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_destination_rev_post_context_multihead PASSED [ 56%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_destination_rev_pre_context PASSED [ 56%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_destination_rev_pre_context_abbreviated PASSED [ 56%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_destination_rev_pre_context_multihead PASSED [ 56%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_downgrade_wo_colon PASSED [ 56%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_head_rev_post_context PASSED [ 56%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_head_rev_post_context_multihead PASSED [ 56%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_head_rev_pre_context PASSED [ 56%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_head_rev_pre_context_multihead PASSED [ 56%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_not_requires_connection PASSED [ 56%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_requires_connection PASSED [ 56%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_running_comments_not_in_sql PASSED [ 56%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_starting_rev_context_runs_abbreviated PASSED [ 57%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_starting_rev_current_pre_context PASSED [ 57%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_starting_rev_post_context PASSED [ 57%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_starting_rev_pre_context PASSED [ 57%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_starting_rev_pre_context_abbreviated PASSED [ 57%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_starting_rev_pre_context_cmd_w_no_startrev PASSED [ 57%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_tag_None PASSED [ 57%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_tag_cfg_arg PASSED [ 57%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_tag_cmd_arg PASSED [ 57%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_tag_pre_context PASSED [ 57%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_tag_pre_context_None PASSED [ 57%] tests/test_offline_environment.py::OfflineEnvironmentTest::test_upgrade_with_output_encoding PASSED [ 57%] tests/test_op.py::CustomOpTest::test_custom_op PASSED [ 57%] tests/test_op.py::ObjectFromToTest::test_create_index PASSED [ 57%] tests/test_op.py::ObjectFromToTest::test_create_index_add_kw PASSED [ 57%] tests/test_op.py::ObjectFromToTest::test_create_table PASSED [ 57%] tests/test_op.py::ObjectFromToTest::test_create_table_add_kw PASSED [ 57%] tests/test_op.py::ObjectFromToTest::test_create_unique_constraint PASSED [ 58%] tests/test_op.py::ObjectFromToTest::test_create_unique_constraint_add_kw PASSED [ 58%] tests/test_op.py::ObjectFromToTest::test_drop_constraint_not_available PASSED [ 58%] tests/test_op.py::ObjectFromToTest::test_drop_index PASSED [ 58%] tests/test_op.py::ObjectFromToTest::test_drop_index_add_kw PASSED [ 58%] tests/test_op.py::ObjectFromToTest::test_drop_table PASSED [ 58%] tests/test_op.py::ObjectFromToTest::test_drop_table_add_kw PASSED [ 58%] tests/test_op.py::ObjectFromToTest::test_drop_unique_constraint PASSED [ 58%] tests/test_op.py::ObjectFromToTest::test_drop_unique_constraint_change_name PASSED [ 58%] tests/test_op.py::OpTest::test_add_check_constraint PASSED [ 58%] tests/test_op.py::OpTest::test_add_check_constraint_schema PASSED [ 58%] tests/test_op.py::OpTest::test_add_column PASSED [ 58%] tests/test_op.py::OpTest::test_add_column_already_attached PASSED [ 58%] tests/test_op.py::OpTest::test_add_column_exists_directives PASSED [ 58%] tests/test_op.py::OpTest::test_add_column_fk PASSED [ 58%] tests/test_op.py::OpTest::test_add_column_fk_schema PASSED [ 58%] tests/test_op.py::OpTest::test_add_column_fk_self_referential PASSED [ 58%] tests/test_op.py::OpTest::test_add_column_schema PASSED [ 58%] tests/test_op.py::OpTest::test_add_column_schema_fk PASSED [ 59%] tests/test_op.py::OpTest::test_add_column_schema_fk_schema PASSED [ 59%] tests/test_op.py::OpTest::test_add_column_schema_fk_self_referential PASSED [ 59%] tests/test_op.py::OpTest::test_add_column_schema_hard_quoting PASSED [ 59%] tests/test_op.py::OpTest::test_add_column_schema_schema_type PASSED [ 59%] tests/test_op.py::OpTest::test_add_column_schema_type PASSED [ 59%] tests/test_op.py::OpTest::test_add_column_schema_type_checks_rule PASSED [ 59%] tests/test_op.py::OpTest::test_add_column_schema_with_default PASSED [ 59%] tests/test_op.py::OpTest::test_add_column_w_check PASSED [ 59%] tests/test_op.py::OpTest::test_add_column_with_default PASSED [ 59%] tests/test_op.py::OpTest::test_add_column_with_index PASSED [ 59%] tests/test_op.py::OpTest::test_add_constraint_schema_hard_quoting PASSED [ 59%] tests/test_op.py::OpTest::test_add_foreign_key PASSED [ 59%] tests/test_op.py::OpTest::test_add_foreign_key_composite_self_referential PASSED [ 59%] tests/test_op.py::OpTest::test_add_foreign_key_deferrable PASSED [ 59%] tests/test_op.py::OpTest::test_add_foreign_key_dialect_kw PASSED [ 59%] tests/test_op.py::OpTest::test_add_foreign_key_initially PASSED [ 59%] tests/test_op.py::OpTest::test_add_foreign_key_match PASSED [ 60%] tests/test_op.py::OpTest::test_add_foreign_key_ondelete PASSED [ 60%] tests/test_op.py::OpTest::test_add_foreign_key_onupdate PASSED [ 60%] tests/test_op.py::OpTest::test_add_foreign_key_schema PASSED [ 60%] tests/test_op.py::OpTest::test_add_foreign_key_schema_same_tablename PASSED [ 60%] tests/test_op.py::OpTest::test_add_foreign_key_self_referential PASSED [ 60%] tests/test_op.py::OpTest::test_add_primary_key_constraint PASSED [ 60%] tests/test_op.py::OpTest::test_add_primary_key_constraint_schema PASSED [ 60%] tests/test_op.py::OpTest::test_add_unique_constraint PASSED [ 60%] tests/test_op.py::OpTest::test_add_unique_constraint_col_event PASSED [ 60%] tests/test_op.py::OpTest::test_add_unique_constraint_schema PASSED [ 60%] tests/test_op.py::OpTest::test_alter_column_computed_not_supported[-0] PASSED [ 60%] tests/test_op.py::OpTest::test_alter_column_computed_not_supported[-1] PASSED [ 60%] tests/test_op.py::OpTest::test_alter_column_computed_not_supported[-2] PASSED [ 60%] tests/test_op.py::OpTest::test_alter_column_drop_default PASSED [ 60%] tests/test_op.py::OpTest::test_alter_column_identity_not_supported[-0] PASSED [ 60%] tests/test_op.py::OpTest::test_alter_column_identity_not_supported[-1] PASSED [ 60%] tests/test_op.py::OpTest::test_alter_column_identity_not_supported[-2] PASSED [ 60%] tests/test_op.py::OpTest::test_alter_column_not_nullable PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_nullable PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_rename PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_schema_drop_default PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_schema_not_nullable PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_schema_nullable PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_schema_rename PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_schema_schema_type_existing_type PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_schema_schema_type_existing_type_no_const PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_schema_schema_type_existing_type_no_new_type PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_schema_schema_type_named PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_schema_schema_type_unnamed PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_schema_set_compiled_default PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_schema_set_default PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_schema_type PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_schema_type_existing_type PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_schema_type_existing_type_no_const PASSED [ 61%] tests/test_op.py::OpTest::test_alter_column_schema_type_existing_type_no_new_type PASSED [ 62%] tests/test_op.py::OpTest::test_alter_column_schema_type_named PASSED [ 62%] tests/test_op.py::OpTest::test_alter_column_schema_type_unnamed[False] PASSED [ 62%] tests/test_op.py::OpTest::test_alter_column_schema_type_unnamed[None] PASSED [ 62%] tests/test_op.py::OpTest::test_alter_column_schema_type_unnamed[True] PASSED [ 62%] tests/test_op.py::OpTest::test_alter_column_set_compiled_default PASSED [ 62%] tests/test_op.py::OpTest::test_alter_column_set_default PASSED [ 62%] tests/test_op.py::OpTest::test_alter_column_type PASSED [ 62%] tests/test_op.py::OpTest::test_cant_op PASSED [ 62%] tests/test_op.py::OpTest::test_create_index PASSED [ 62%] tests/test_op.py::OpTest::test_create_index_arbitrary_expr PASSED [ 62%] tests/test_op.py::OpTest::test_create_index_expressions PASSED [ 62%] tests/test_op.py::OpTest::test_create_index_if_not_exists PASSED [ 62%] tests/test_op.py::OpTest::test_create_index_quote_flag PASSED [ 62%] tests/test_op.py::OpTest::test_create_index_quoting PASSED [ 62%] tests/test_op.py::OpTest::test_create_index_schema PASSED [ 62%] tests/test_op.py::OpTest::test_create_index_table_col_event PASSED [ 62%] tests/test_op.py::OpTest::test_create_table_check_constraint PASSED [ 62%] tests/test_op.py::OpTest::test_create_table_comment_op SKIPPED)' : custom function) [ 63%] tests/test_op.py::OpTest::test_create_table_event PASSED [ 63%] tests/test_op.py::OpTest::test_create_table_fk_and_schema PASSED [ 63%] tests/test_op.py::OpTest::test_create_table_if_not_exists PASSED [ 63%] tests/test_op.py::OpTest::test_create_table_index PASSED [ 63%] tests/test_op.py::OpTest::test_create_table_index_flag PASSED [ 63%] tests/test_op.py::OpTest::test_create_table_no_pk PASSED [ 63%] tests/test_op.py::OpTest::test_create_table_selfref PASSED [ 63%] tests/test_op.py::OpTest::test_create_table_two_fk PASSED [ 63%] tests/test_op.py::OpTest::test_create_table_unique_constraint PASSED [ 63%] tests/test_op.py::OpTest::test_create_table_unique_flag PASSED [ 63%] tests/test_op.py::OpTest::test_create_table_with_check_constraint_with_expr PASSED [ 63%] tests/test_op.py::OpTest::test_create_unique_index PASSED [ 63%] tests/test_op.py::OpTest::test_drop_column PASSED [ 63%] tests/test_op.py::OpTest::test_drop_column_exists_directives PASSED [ 63%] tests/test_op.py::OpTest::test_drop_column_schema PASSED [ 63%] tests/test_op.py::OpTest::test_drop_constraint PASSED [ 63%] tests/test_op.py::OpTest::test_drop_constraint_if_exists PASSED [ 64%] tests/test_op.py::OpTest::test_drop_constraint_legacy_type PASSED [ 64%] tests/test_op.py::OpTest::test_drop_constraint_schema PASSED [ 64%] tests/test_op.py::OpTest::test_drop_constraint_type PASSED [ 64%] tests/test_op.py::OpTest::test_drop_constraint_type_generic PASSED [ 64%] tests/test_op.py::OpTest::test_drop_index PASSED [ 64%] tests/test_op.py::OpTest::test_drop_index_if_exists PASSED [ 64%] tests/test_op.py::OpTest::test_drop_index_schema PASSED [ 64%] tests/test_op.py::OpTest::test_drop_index_w_tablename PASSED [ 64%] tests/test_op.py::OpTest::test_drop_index_w_tablename_legacy PASSED [ 64%] tests/test_op.py::OpTest::test_drop_table PASSED [ 64%] tests/test_op.py::OpTest::test_drop_table_comment_op SKIPPED)' : custom function) [ 64%] tests/test_op.py::OpTest::test_drop_table_event PASSED [ 64%] tests/test_op.py::OpTest::test_drop_table_if_exists PASSED [ 64%] tests/test_op.py::OpTest::test_drop_table_schema PASSED [ 64%] tests/test_op.py::OpTest::test_execute_delete PASSED [ 64%] tests/test_op.py::OpTest::test_execute_insert PASSED [ 64%] tests/test_op.py::OpTest::test_execute_str PASSED [ 64%] tests/test_op.py::OpTest::test_execute_textclause PASSED [ 65%] tests/test_op.py::OpTest::test_execute_update PASSED [ 65%] tests/test_op.py::OpTest::test_generic_alter_column_type_and_nullability[False-False] PASSED [ 65%] tests/test_op.py::OpTest::test_generic_alter_column_type_and_nullability[False-True] PASSED [ 65%] tests/test_op.py::OpTest::test_generic_alter_column_type_and_nullability[True-False] PASSED [ 65%] tests/test_op.py::OpTest::test_generic_alter_column_type_and_nullability[True-True] PASSED [ 65%] tests/test_op.py::OpTest::test_inline_literal PASSED [ 65%] tests/test_op.py::OpTest::test_naming_changes PASSED [ 65%] tests/test_op.py::OpTest::test_naming_changes_drop_idx PASSED [ 65%] tests/test_op.py::OpTest::test_rename_table PASSED [ 65%] tests/test_op.py::OpTest::test_rename_table_schema PASSED [ 65%] tests/test_op.py::OpTest::test_rename_table_schema_hard_quoting PASSED [ 65%] tests/test_op.py::OpTest::test_run_async_error PASSED [ 65%] tests/test_op.py::OpTest::test_run_async_ok PASSED [ 65%] tests/test_op.py::SQLModeOpTest::test_auto_literals PASSED [ 65%] tests/test_op.py::SQLModeOpTest::test_create_table_literal_binds PASSED [ 65%] tests/test_op_naming_convention.py::AutoNamingConventionTest::test_add_check_constraint PASSED [ 65%] tests/test_op_naming_convention.py::AutoNamingConventionTest::test_add_check_constraint_already_named_from_schema PASSED [ 66%] tests/test_op_naming_convention.py::AutoNamingConventionTest::test_add_check_constraint_inline_on_column PASSED [ 66%] tests/test_op_naming_convention.py::AutoNamingConventionTest::test_add_check_constraint_inline_on_column_w_f PASSED [ 66%] tests/test_op_naming_convention.py::AutoNamingConventionTest::test_add_check_constraint_inline_on_table PASSED [ 66%] tests/test_op_naming_convention.py::AutoNamingConventionTest::test_add_check_constraint_inline_on_table_w_f PASSED [ 66%] tests/test_op_naming_convention.py::AutoNamingConventionTest::test_add_check_constraint_name_is_none PASSED [ 66%] tests/test_op_naming_convention.py::AutoNamingConventionTest::test_add_column_schema_type PASSED [ 66%] tests/test_op_naming_convention.py::AutoNamingConventionTest::test_add_column_schema_type_w_f PASSED [ 66%] tests/test_op_naming_convention.py::AutoNamingConventionTest::test_add_index_name_is_none PASSED [ 66%] tests/test_op_naming_convention.py::AutoNamingConventionTest::test_add_unique_constraint_name_is_none PASSED [ 66%] tests/test_op_naming_convention.py::AutoNamingConventionTest::test_drop_check_constraint_opf PASSED [ 66%] tests/test_op_naming_convention.py::AutoNamingConventionTest::test_drop_check_constraint_plain PASSED [ 66%] tests/test_oracle.py::FullEnvironmentTests::test_batch_separator_custom PASSED [ 66%] tests/test_oracle.py::FullEnvironmentTests::test_batch_separator_default PASSED [ 66%] tests/test_oracle.py::FullEnvironmentTests::test_begin_commit PASSED [ 66%] tests/test_oracle.py::OpTest::test_add_column PASSED [ 66%] tests/test_oracle.py::OpTest::test_add_column_computed PASSED [ 66%] tests/test_oracle.py::OpTest::test_add_column_with_comment SKIPPED)' : custom function) [ 66%] tests/test_oracle.py::OpTest::test_add_column_with_default PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_add_server_default PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_column_add_comment PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_column_add_comment_quotes PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_column_computed_not_supported[-0] PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_column_computed_not_supported[-1] PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_column_computed_not_supported[-2] PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_column_drop_comment PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_column_new_type PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_column_not_nullable_w_existing_type PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_column_not_nullable_w_new_type PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_column_nullable_w_existing_type PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_column_nullable_w_new_type PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_column_rename_oracle PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_do_everything PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_remove_server_default PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_replace_server_default PASSED [ 67%] tests/test_oracle.py::OpTest::test_alter_table_rename_oracle PASSED [ 68%] tests/test_oracle.py::OpTest::test_alter_table_rename_schema_oracle PASSED [ 68%] tests/test_oracle.py::OpTest::test_create_table_comment PASSED [ 68%] tests/test_oracle.py::OpTest::test_create_table_with_column_comments SKIPPED)' : custom function) [ 68%] tests/test_oracle.py::OpTest::test_drop_column_w_check PASSED [ 68%] tests/test_oracle.py::OpTest::test_drop_column_w_default PASSED [ 68%] tests/test_oracle.py::OpTest::test_drop_index PASSED [ 68%] tests/test_oracle.py::OpTest::test_drop_table_comment PASSED [ 68%] tests/test_post_write.py::HookTest::test_invoke PASSED [ 68%] tests/test_post_write.py::HookTest::test_register PASSED [ 68%] tests/test_post_write.py::RunHookTest::test_black_with_cwd PASSED [ 68%] tests/test_post_write.py::RunHookTest::test_console_scripts[ini] PASSED [ 68%] tests/test_post_write.py::RunHookTest::test_console_scripts[toml] PASSED [ 68%] tests/test_post_write.py::RunHookTest::test_console_scripts_entrypoint_missing PASSED [ 68%] tests/test_post_write.py::RunHookTest::test_empty_hooks PASSED [ 68%] tests/test_post_write.py::RunHookTest::test_empty_section PASSED [ 68%] tests/test_post_write.py::RunHookTest::test_exec_executable_missing PASSED [ 68%] tests/test_post_write.py::RunHookTest::test_exec_with_cwd PASSED [ 68%] tests/test_post_write.py::RunHookTest::test_exec_with_filename_interpolation[False] PASSED [ 69%] tests/test_post_write.py::RunHookTest::test_exec_with_filename_interpolation[True] PASSED [ 69%] tests/test_post_write.py::RunHookTest::test_exec_with_full_pathname PASSED [ 69%] tests/test_post_write.py::RunHookTest::test_exec_with_path_in_config PASSED [ 69%] tests/test_post_write.py::RunHookTest::test_exec_with_path_search PASSED [ 69%] tests/test_post_write.py::RunHookTest::test_filename_interpolation[ini-False] PASSED [ 69%] tests/test_post_write.py::RunHookTest::test_filename_interpolation[ini-True] PASSED [ 69%] tests/test_post_write.py::RunHookTest::test_filename_interpolation[toml-False] PASSED [ 69%] tests/test_post_write.py::RunHookTest::test_filename_interpolation[toml-True] PASSED [ 69%] tests/test_post_write.py::RunHookTest::test_generic[ini] PASSED [ 69%] tests/test_post_write.py::RunHookTest::test_generic[toml] PASSED [ 69%] tests/test_post_write.py::RunHookTest::test_no_section[ini] PASSED [ 69%] tests/test_post_write.py::RunHookTest::test_no_section[toml] PASSED [ 69%] tests/test_post_write.py::RunHookTest::test_no_type[ini] PASSED [ 69%] tests/test_post_write.py::RunHookTest::test_no_type[toml] PASSED [ 69%] tests/test_post_write.py::RunHookTest::test_path_in_config PASSED [ 69%] tests/test_postgresql.py::PGOfflineEnumTest::test_offline_distinct_enum_create PASSED [ 69%] tests/test_postgresql.py::PGOfflineEnumTest::test_offline_distinct_enum_drop PASSED [ 70%] tests/test_postgresql.py::PGOfflineEnumTest::test_offline_inline_enum_create PASSED [ 70%] tests/test_postgresql.py::PGOfflineEnumTest::test_offline_inline_enum_drop PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_add_exclude_constraint PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_add_exclude_constraint_case_sensitive PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_array_type_user_defined_inner PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_drop_exclude_constraint PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_generic_array_type PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_inline_exclude_constraint PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_inline_exclude_constraint_case_sensitive PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_inline_exclude_constraint_fn PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_inline_exclude_constraint_literal_column PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_inline_exclude_constraint_text PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_json_type PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_jsonb_expression_in_index PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_jsonb_type PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_postgresql_array_type PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_postgresql_hstore_subtypes PASSED [ 70%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_render_add_index_pg_where PASSED [ 71%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_render_index_nulls_not_distinct_constraint PASSED [ 71%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_render_server_default_native_boolean PASSED [ 71%] tests/test_postgresql.py::PostgresqlAutogenRenderTest::test_render_unique_nulls_not_distinct_constraint PASSED [ 71%] tests/test_postgresql.py::PostgresqlOpTest::test_add_column_computed PASSED [ 71%] tests/test_postgresql.py::PostgresqlOpTest::test_add_column_identity[kw0-None] SKIPPED[kw0-None] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 71%] tests/test_postgresql.py::PostgresqlOpTest::test_add_column_identity[kw1-None] SKIPPED[kw1-None] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 71%] tests/test_postgresql.py::PostgresqlOpTest::test_add_column_identity[kw2-INCREMENT BY 33 START WITH 3 MAXVALUE 99 CYCLE] SKIPPED[kw2-INCREMENT BY 33 START WITH 3 MAXVALUE 99 CYCLE] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 71%] tests/test_postgresql.py::PostgresqlOpTest::test_add_column_if_not_exists PASSED [ 71%] tests/test_postgresql.py::PostgresqlOpTest::test_add_column_with_comment PASSED [ 71%] tests/test_postgresql.py::PostgresqlOpTest::test_add_identity_to_column[kw0-None] SKIPPEDumn[kw0-None] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 71%] tests/test_postgresql.py::PostgresqlOpTest::test_add_identity_to_column[kw1-None] SKIPPEDumn[kw1-None] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 71%] tests/test_postgresql.py::PostgresqlOpTest::test_add_identity_to_column[kw2-INCREMENT BY 33 START WITH 3 MAXVALUE 99 CYCLE] SKIPPEDumn[kw2- INCREMENT BY 33 START WITH 3 MAXVALUE 99 CYCLE] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 71%] tests/test_postgresql.py::PostgresqlOpTest::test_alter_column_add_comment PASSED [ 71%] tests/test_postgresql.py::PostgresqlOpTest::test_alter_column_add_comment_quoting PASSED [ 71%] tests/test_postgresql.py::PostgresqlOpTest::test_alter_column_add_comment_table_and_column_quoting PASSED [ 71%] tests/test_postgresql.py::PostgresqlOpTest::test_alter_column_computed_not_supported[-0] PASSED [ 71%] tests/test_postgresql.py::PostgresqlOpTest::test_alter_column_computed_not_supported[-1] PASSED [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_alter_column_computed_not_supported[-2] PASSED [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_alter_column_drop_comment PASSED [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_alter_column_type_using PASSED [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_alter_column_with_comment PASSED [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_change_identity_in_column[existing0-updated0-SET GENERATED ALWAYS] SKIPPEDcolumn[existing0- updated0-SET GENERATED ALWAYS] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_change_identity_in_column[existing1-updated1-SET GENERATED BY DEFAULT SET START WITH 3] SKIPPEDll)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_change_identity_in_column[existing2-updated2-SET CYCLE SET INCREMENT BY 1] SKIPPEDcolumn[existin g2-updated2-SET CYCLE SET INCREMENT BY 1] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_change_identity_in_column[existing3-updated3-SET CACHE 2] SKIPPEDcolumn[existing3-updated3-SET CACHE 2] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_change_identity_in_column[existing4-updated4-SET MINVALUE 0] SKIPPEDcolumn[existing4-updated4- SET MINVALUE 0] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_col_w_pk_is_serial PASSED [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_create_exclude_constraint PASSED [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_create_exclude_constraint_quoted_column PASSED [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_create_exclude_constraint_quoted_literal PASSED [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_create_index_if_not_exists PASSED [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_create_index_postgresql_concurrently PASSED [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_create_index_postgresql_expressions PASSED [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_create_index_postgresql_include PASSED [ 72%] tests/test_postgresql.py::PostgresqlOpTest::test_create_index_postgresql_include_is_none PASSED [ 73%] tests/test_postgresql.py::PostgresqlOpTest::test_create_index_postgresql_where PASSED [ 73%] tests/test_postgresql.py::PostgresqlOpTest::test_create_table_comment PASSED [ 73%] tests/test_postgresql.py::PostgresqlOpTest::test_create_table_with_column_comments PASSED [ 73%] tests/test_postgresql.py::PostgresqlOpTest::test_create_table_with_comment PASSED [ 73%] tests/test_postgresql.py::PostgresqlOpTest::test_drop_column_if_exists PASSED [ 73%] tests/test_postgresql.py::PostgresqlOpTest::test_drop_exclude_or_other_constraint PASSED [ 73%] tests/test_postgresql.py::PostgresqlOpTest::test_drop_index_if_exists PASSED [ 73%] tests/test_postgresql.py::PostgresqlOpTest::test_drop_index_postgresql_concurrently[include_table] PASSED [ 73%] tests/test_postgresql.py::PostgresqlOpTest::test_drop_index_postgresql_concurrently[no_table] PASSED [ 73%] tests/test_postgresql.py::PostgresqlOpTest::test_drop_table_comment PASSED [ 73%] tests/test_postgresql.py::PostgresqlOpTest::test_remove_identity_from_column SKIPPEDm_column (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql) [ 73%] tests/test_postgresql.py::PostgresqlOpTest::test_rename_table_postgresql PASSED [ 73%] tests/test_postgresql.py::PostgresqlOpTest::test_rename_table_schema_postgresql PASSED [ 73%] tests/test_revision.py::APITest::test_add_revision_one_head PASSED [ 73%] tests/test_revision.py::APITest::test_add_revision_two_head PASSED [ 73%] tests/test_revision.py::APITest::test_get_revision_base_multiple PASSED [ 73%] tests/test_revision.py::APITest::test_get_revision_base_single PASSED [ 74%] tests/test_revision.py::APITest::test_get_revision_head_multiple PASSED [ 74%] tests/test_revision.py::APITest::test_get_revision_head_single PASSED [ 74%] tests/test_revision.py::APITest::test_get_revision_heads_multiple PASSED [ 74%] tests/test_revision.py::APITest::test_get_revisions_head_multiple PASSED [ 74%] tests/test_revision.py::APITest::test_get_revisions_heads_multiple PASSED [ 74%] tests/test_revision.py::APITest::test_invalid_datatype PASSED [ 74%] tests/test_revision.py::APITest::test_iterate_tolerates_dupe_targets PASSED [ 74%] tests/test_revision.py::APITest::test_repr_revs PASSED [ 74%] tests/test_revision.py::BranchTravellingTest::test_ancestor_nodes PASSED [ 74%] tests/test_revision.py::BranchTravellingTest::test_detect_invalid_head_selection PASSED [ 74%] tests/test_revision.py::BranchTravellingTest::test_iterate_one_branch_both_to_merge PASSED [ 74%] tests/test_revision.py::BranchTravellingTest::test_iterate_to_symbolic_base PASSED [ 74%] tests/test_revision.py::BranchTravellingTest::test_three_branches_end_in_single_branch PASSED [ 74%] tests/test_revision.py::BranchTravellingTest::test_three_branches_end_multiple_bases PASSED [ 74%] tests/test_revision.py::BranchTravellingTest::test_three_branches_end_multiple_bases_exclusive PASSED [ 74%] tests/test_revision.py::BranchTravellingTest::test_three_branches_end_multiple_bases_exclusive_blank PASSED [ 74%] tests/test_revision.py::BranchTravellingTest::test_three_branches_to_root PASSED [ 74%] tests/test_revision.py::BranchTravellingTest::test_two_branches_end_behind_branch PASSED [ 75%] tests/test_revision.py::BranchTravellingTest::test_two_branches_end_in_branch PASSED [ 75%] tests/test_revision.py::BranchTravellingTest::test_two_branches_to_root PASSED [ 75%] tests/test_revision.py::DepResolutionFailedTest::test_failure_message PASSED [ 75%] tests/test_revision.py::DiamondTest::test_iterate_simple_diamond PASSED [ 75%] tests/test_revision.py::EmptyMapTest::test_iterate PASSED [ 75%] tests/test_revision.py::GraphWithCycleTest::test_revision_map_extra_simple_cycle PASSED [ 75%] tests/test_revision.py::GraphWithCycleTest::test_revision_map_extra_simple_dep_cycle PASSED [ 75%] tests/test_revision.py::GraphWithCycleTest::test_revision_map_lower_simple_cycle PASSED [ 75%] tests/test_revision.py::GraphWithCycleTest::test_revision_map_lower_simple_dep_cycle PASSED [ 75%] tests/test_revision.py::GraphWithCycleTest::test_revision_map_simple_cycle PASSED [ 75%] tests/test_revision.py::GraphWithCycleTest::test_revision_map_simple_dep_cycle PASSED [ 75%] tests/test_revision.py::GraphWithCycleTest::test_revision_map_upper_simple_cycle PASSED [ 75%] tests/test_revision.py::GraphWithCycleTest::test_revision_map_upper_simple_dep_cycle PASSED [ 75%] tests/test_revision.py::GraphWithLoopTest::test_revision_dupe_head PASSED [ 75%] tests/test_revision.py::GraphWithLoopTest::test_revision_map_base_dependency_loop PASSED [ 75%] tests/test_revision.py::GraphWithLoopTest::test_revision_map_base_loop PASSED [ 75%] tests/test_revision.py::GraphWithLoopTest::test_revision_map_branch_point_dep_loop PASSED [ 76%] tests/test_revision.py::GraphWithLoopTest::test_revision_map_branch_point_loop PASSED [ 76%] tests/test_revision.py::GraphWithLoopTest::test_revision_map_head_dep_loop PASSED [ 76%] tests/test_revision.py::GraphWithLoopTest::test_revision_map_head_loop PASSED [ 76%] tests/test_revision.py::GraphWithLoopTest::test_revision_map_merge_point_dep_loop PASSED [ 76%] tests/test_revision.py::GraphWithLoopTest::test_revision_map_merge_point_loop PASSED [ 76%] tests/test_revision.py::GraphWithLoopTest::test_revision_map_no_loop_w_overlapping_substrings PASSED [ 76%] tests/test_revision.py::GraphWithLoopTest::test_revision_map_no_loop_w_overlapping_substrings_dependencies PASSED [ 76%] tests/test_revision.py::GraphWithLoopTest::test_revision_map_solitary_dependency_loop PASSED [ 76%] tests/test_revision.py::GraphWithLoopTest::test_revision_map_solitary_loop PASSED [ 76%] tests/test_revision.py::LabeledBranchTest::test_actually_short_rev_name PASSED [ 76%] tests/test_revision.py::LabeledBranchTest::test_branch_at_heads PASSED [ 76%] tests/test_revision.py::LabeledBranchTest::test_branch_at_self PASSED [ 76%] tests/test_revision.py::LabeledBranchTest::test_branch_at_syntax PASSED [ 76%] tests/test_revision.py::LabeledBranchTest::test_branch_w_down_relative PASSED [ 76%] tests/test_revision.py::LabeledBranchTest::test_branch_w_up_relative PASSED [ 76%] tests/test_revision.py::LabeledBranchTest::test_dupe_branch_collection PASSED [ 76%] tests/test_revision.py::LabeledBranchTest::test_filter_for_lineage_heads PASSED [ 76%] tests/test_revision.py::LabeledBranchTest::test_filter_for_lineage_labeled_head_across_merge PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_get_base_revisions PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_get_base_revisions_labeled PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_get_current_named_rev PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_iterate_head_to_named_base PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_iterate_head_to_version_specific_base PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_iterate_named_head_to_base PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_iterate_named_head_to_heads PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_iterate_named_rev_to_heads PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_iterate_to_branch_at_rev PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_no_revision_exists PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_no_such_branch PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_not_actually_a_branch PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_not_actually_a_branch_partial_resolution PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_partial_id_resolve PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_partial_id_resolve_too_short PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_retrieve_branch_revision PASSED [ 77%] tests/test_revision.py::LabeledBranchTest::test_rev_not_in_branch PASSED [ 78%] tests/test_revision.py::LargeMapTest::test_all PASSED [ 78%] tests/test_revision.py::LongShortBranchTest::test_iterate_full PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestOne::test_different_branch_not_wrong_direction PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestOne::test_heads_to_base PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestOne::test_heads_to_base_downgrade PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestOne::test_same_branch_wrong_direction PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestOne::test_we_need_base2_downgrade PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestOne::test_we_need_base2_upgrade PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestOne::test_we_need_base3_downgrade PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestOne::test_we_need_base3_upgrade PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestOne::test_we_need_head1_downgrade PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestOne::test_we_need_head1_upgrade PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestOne::test_we_need_head2_downgrade PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestOne::test_we_need_head2_upgrade PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestOne::test_we_need_head3_downgrade PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestOne::test_we_need_head3_upgrade PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestOne::test_what_are_the_heads PASSED [ 78%] tests/test_revision.py::MultipleBaseCrossDependencyTestThree::test_traverse_no_parent_but_a_dep PASSED [ 79%] tests/test_revision.py::MultipleBaseCrossDependencyTestTwo::test_heads_to_base PASSED [ 79%] tests/test_revision.py::MultipleBaseCrossDependencyTestTwo::test_we_need_base1 PASSED [ 79%] tests/test_revision.py::MultipleBaseCrossDependencyTestTwo::test_we_need_base2 PASSED [ 79%] tests/test_revision.py::MultipleBaseCrossDependencyTestTwo::test_we_need_base3 PASSED [ 79%] tests/test_revision.py::MultipleBaseCrossDependencyTestTwo::test_we_need_head1 PASSED [ 79%] tests/test_revision.py::MultipleBaseCrossDependencyTestTwo::test_we_need_head2 PASSED [ 79%] tests/test_revision.py::MultipleBaseCrossDependencyTestTwo::test_we_need_head3 PASSED [ 79%] tests/test_revision.py::MultipleBaseCrossDependencyTestTwo::test_what_are_the_heads PASSED [ 79%] tests/test_revision.py::MultipleBaseTest::test_detect_invalid_base_selection PASSED [ 79%] tests/test_revision.py::MultipleBaseTest::test_heads_to_base PASSED [ 79%] tests/test_revision.py::MultipleBaseTest::test_heads_to_base_exclusive PASSED [ 79%] tests/test_revision.py::MultipleBaseTest::test_heads_to_blank PASSED [ 79%] tests/test_revision.py::MultipleBaseTest::test_heads_to_revs_base_exclusive PASSED [ 79%] tests/test_revision.py::MultipleBaseTest::test_heads_to_revs_plus_implicit_base_exclusive PASSED [ 79%] tests/test_revision.py::MultipleBaseTest::test_heads_to_revs_plus_implicit_base_inclusive PASSED [ 79%] tests/test_revision.py::MultipleBaseTest::test_specific_path_one PASSED [ 79%] tests/test_revision.py::MultipleBaseTest::test_specific_path_two_implicit_base PASSED [ 80%] tests/test_revision.py::MultipleBranchEffectiveHead::test_effective_head PASSED [ 80%] tests/test_revision.py::MultipleBranchEffectiveHead::test_other_downgrade PASSED [ 80%] tests/test_revision.py::MultipleBranchEffectiveHead::test_use_all_current PASSED [ 80%] tests/test_revision.py::MultipleBranchTest::test_distinct_branches PASSED [ 80%] tests/test_revision.py::MultipleBranchTest::test_iterate_from_merge_point PASSED [ 80%] tests/test_revision.py::MultipleBranchTest::test_iterate_multiple_branch_to_base PASSED [ 80%] tests/test_revision.py::MultipleBranchTest::test_iterate_multiple_heads PASSED [ 80%] tests/test_revision.py::MultipleBranchTest::test_iterate_multiple_heads_single_base PASSED [ 80%] tests/test_revision.py::MultipleBranchTest::test_iterate_single_branch PASSED [ 80%] tests/test_revision.py::MultipleBranchTest::test_iterate_single_branch_to_base PASSED [ 80%] tests/test_revision.py::MultipleBranchTest::test_same_branch_wrong_direction PASSED [ 80%] tests/test_revision.py::MultipleBranchTest::test_wrong_direction_to_base_as_empty PASSED [ 80%] tests/test_revision.py::MultipleBranchTest::test_wrong_direction_to_base_as_none PASSED [ 80%] tests/test_revision.py::NormalizedDownRevTest::test_all_traversal PASSED [ 80%] tests/test_revision.py::NormalizedDownRevTest::test_branch_traversal PASSED [ 80%] tests/test_revision.py::NormalizedDownRevTest::test_dupe_dependency PASSED [ 80%] tests/test_revision.py::NormalizedDownRevTest::test_normalized_down_revisions PASSED [ 80%] tests/test_revision.py::NormalizedDownRevTest::test_partial_traversal PASSED [ 81%] tests/test_revision.py::NormalizedDownRevTest::test_partial_traversal_implicit_base_one PASSED [ 81%] tests/test_revision.py::NormalizedDownRevTest::test_partial_traversal_implicit_base_three PASSED [ 81%] tests/test_revision.py::NormalizedDownRevTest::test_partial_traversal_implicit_base_two PASSED [ 81%] tests/test_script_consumption.py::ApplyVersionsFunctionalTest_False_True_sqlite+pysqlite_3_51_2::test_steps PASSED [ 81%] tests/test_script_consumption.py::ApplyVersionsFunctionalTest_True_False_sqlite+pysqlite_3_51_2::test_steps PASSED [ 81%] tests/test_script_consumption.py::ApplyVersionsFunctionalTest_True_True_sqlite+pysqlite_3_51_2::test_steps PASSED [ 81%] tests/test_script_consumption.py::BranchedOnlineTransactionalDDLTest::test_noerr_rev_leaves_open_transaction_transactional_ddl SKIPPEDlchemy 1.x test) [ 81%] tests/test_script_consumption.py::BranchedOnlineTransactionalDDLTest::test_noerr_transaction_opened_externally SKIPPED2)+pysqlite'SQLAlchemy 1.x test) [ 81%] tests/test_script_consumption.py::BranchedOnlineTransactionalDDLTest::test_raise_when_rev_leaves_open_transaction SKIPPEDpysqlite'SQLAlchemy 1.x test) [ 81%] tests/test_script_consumption.py::BranchedOnlineTransactionalDDLTest::test_raise_when_rev_leaves_open_transaction_tpm SKIPPEDlite'SQLAlchemy 1.x test) [ 81%] tests/test_script_consumption.py::CallbackEnvironmentTest_sqlite+pysqlite_3_51_2::test_steps PASSED [ 81%] tests/test_script_consumption.py::EncodingTest::test_encode PASSED [ 81%] tests/test_script_consumption.py::FutureApplyVersionsTest_False_True_sqlite+pysqlite_3_51_2::test_steps PASSED [ 81%] tests/test_script_consumption.py::FutureApplyVersionsTest_True_False_sqlite+pysqlite_3_51_2::test_steps PASSED [ 81%] tests/test_script_consumption.py::FutureApplyVersionsTest_True_True_sqlite+pysqlite_3_51_2::test_steps PASSED [ 81%] tests/test_script_consumption.py::FutureOnlineTransactionalDDLTest::test_noerr_rev_leaves_open_transaction_transactional_ddl PASSED [ 81%] tests/test_script_consumption.py::FutureOnlineTransactionalDDLTest::test_noerr_transaction_opened_externally PASSED [ 82%] tests/test_script_consumption.py::FutureOnlineTransactionalDDLTest::test_raise_when_rev_leaves_open_transaction PASSED [ 82%] tests/test_script_consumption.py::FutureOnlineTransactionalDDLTest::test_raise_when_rev_leaves_open_transaction_tpm PASSED [ 82%] tests/test_script_consumption.py::IgnoreFilesTest::test_ignore_dot_hash_py PASSED [ 82%] tests/test_script_consumption.py::IgnoreFilesTest::test_ignore_dot_hash_pyc PASSED [ 82%] tests/test_script_consumption.py::IgnoreFilesTest::test_ignore_dot_hash_pyo PASSED [ 82%] tests/test_script_consumption.py::IgnoreFilesTest::test_ignore_dot_hash_pyx PASSED [ 82%] tests/test_script_consumption.py::IgnoreFilesTest::test_ignore_init_py PASSED [ 82%] tests/test_script_consumption.py::IgnoreFilesTest::test_ignore_init_pyc PASSED [ 82%] tests/test_script_consumption.py::IgnoreFilesTest::test_ignore_init_pyo PASSED [ 82%] tests/test_script_consumption.py::IgnoreFilesTest::test_ignore_init_pyx PASSED [ 82%] tests/test_script_consumption.py::NewFangledEnvOnlySourcelessIgnoreFilesTest::test_ignore_dot_hash_py PASSED [ 82%] tests/test_script_consumption.py::NewFangledEnvOnlySourcelessIgnoreFilesTest::test_ignore_dot_hash_pyc PASSED [ 82%] tests/test_script_consumption.py::NewFangledEnvOnlySourcelessIgnoreFilesTest::test_ignore_dot_hash_pyo PASSED [ 82%] tests/test_script_consumption.py::NewFangledEnvOnlySourcelessIgnoreFilesTest::test_ignore_dot_hash_pyx PASSED [ 82%] tests/test_script_consumption.py::NewFangledEnvOnlySourcelessIgnoreFilesTest::test_ignore_init_py PASSED [ 82%] tests/test_script_consumption.py::NewFangledEnvOnlySourcelessIgnoreFilesTest::test_ignore_init_pyc PASSED [ 82%] tests/test_script_consumption.py::NewFangledEnvOnlySourcelessIgnoreFilesTest::test_ignore_init_pyo PASSED [ 82%] tests/test_script_consumption.py::NewFangledEnvOnlySourcelessIgnoreFilesTest::test_ignore_init_pyx PASSED [ 83%] tests/test_script_consumption.py::NewFangledEverythingSourcelessIgnoreFilesTest::test_ignore_dot_hash_py PASSED [ 83%] tests/test_script_consumption.py::NewFangledEverythingSourcelessIgnoreFilesTest::test_ignore_dot_hash_pyc PASSED [ 83%] tests/test_script_consumption.py::NewFangledEverythingSourcelessIgnoreFilesTest::test_ignore_dot_hash_pyo PASSED [ 83%] tests/test_script_consumption.py::NewFangledEverythingSourcelessIgnoreFilesTest::test_ignore_dot_hash_pyx PASSED [ 83%] tests/test_script_consumption.py::NewFangledEverythingSourcelessIgnoreFilesTest::test_ignore_init_py PASSED [ 83%] tests/test_script_consumption.py::NewFangledEverythingSourcelessIgnoreFilesTest::test_ignore_init_pyc PASSED [ 83%] tests/test_script_consumption.py::NewFangledEverythingSourcelessIgnoreFilesTest::test_ignore_init_pyo PASSED [ 83%] tests/test_script_consumption.py::NewFangledEverythingSourcelessIgnoreFilesTest::test_ignore_init_pyx PASSED [ 83%] tests/test_script_consumption.py::NewFangledSourcelessApplyVersionsTest_pep3147_envonly_sqlite+pysqlite_3_51_2::test_steps PASSED [ 83%] tests/test_script_consumption.py::NewFangledSourcelessApplyVersionsTest_pep3147_everything_sqlite+pysqlite_3_51_2::test_steps PASSED [ 83%] tests/test_script_consumption.py::OfflineTransactionalDDLTest::test_begin_commit_nontransactional_ddl PASSED [ 83%] tests/test_script_consumption.py::OfflineTransactionalDDLTest::test_begin_commit_per_rev_ddl PASSED [ 83%] tests/test_script_consumption.py::OfflineTransactionalDDLTest::test_begin_commit_transactional_ddl PASSED [ 83%] tests/test_script_consumption.py::OnlineTransactionalDDLTest::test_noerr_rev_leaves_open_transaction_transactional_ddl PASSED [ 83%] tests/test_script_consumption.py::OnlineTransactionalDDLTest::test_noerr_transaction_opened_externally PASSED [ 83%] tests/test_script_consumption.py::OnlineTransactionalDDLTest::test_raise_when_rev_leaves_open_transaction PASSED [ 83%] tests/test_script_consumption.py::OnlineTransactionalDDLTest::test_raise_when_rev_leaves_open_transaction_tpm PASSED [ 84%] tests/test_script_consumption.py::RecursiveScriptDirectoryTest::test_dir_structure_with_missing_file PASSED [ 84%] tests/test_script_consumption.py::RecursiveScriptDirectoryTest::test_flat_and_dir_structure PASSED [ 84%] tests/test_script_consumption.py::RecursiveScriptDirectoryTest::test_flat_structure PASSED [ 84%] tests/test_script_consumption.py::RecursiveScriptDirectoryTest::test_ignore_for_non_recursive PASSED [ 84%] tests/test_script_consumption.py::RecursiveScriptDirectoryTest::test_multiple_dir_recursive PASSED [ 84%] tests/test_script_consumption.py::RecursiveScriptDirectoryTest::test_multiple_dir_recursive_change_version_dir PASSED [ 84%] tests/test_script_consumption.py::RecursiveScriptDirectoryTest::test_nested_dir_structure PASSED [ 84%] tests/test_script_consumption.py::SimpleSourcelessApplyVersionsTest_sqlite+pysqlite_3_51_2::test_steps PASSED [ 84%] tests/test_script_consumption.py::SimpleSourcelessIgnoreFilesTest::test_ignore_dot_hash_py PASSED [ 84%] tests/test_script_consumption.py::SimpleSourcelessIgnoreFilesTest::test_ignore_dot_hash_pyc PASSED [ 84%] tests/test_script_consumption.py::SimpleSourcelessIgnoreFilesTest::test_ignore_dot_hash_pyo PASSED [ 84%] tests/test_script_consumption.py::SimpleSourcelessIgnoreFilesTest::test_ignore_dot_hash_pyx PASSED [ 84%] tests/test_script_consumption.py::SimpleSourcelessIgnoreFilesTest::test_ignore_init_py PASSED [ 84%] tests/test_script_consumption.py::SimpleSourcelessIgnoreFilesTest::test_ignore_init_pyc PASSED [ 84%] tests/test_script_consumption.py::SimpleSourcelessIgnoreFilesTest::test_ignore_init_pyo PASSED [ 84%] tests/test_script_consumption.py::SimpleSourcelessIgnoreFilesTest::test_ignore_init_pyx PASSED [ 84%] tests/test_script_consumption.py::SourcelessNeedsFlagTest::test_needs_flag PASSED [ 84%] tests/test_script_consumption.py::VersionNameTemplateTest::test_error_on_new_with_missing_revision PASSED [ 85%] tests/test_script_consumption.py::VersionNameTemplateTest::test_lookup_legacy PASSED [ 85%] tests/test_script_consumption.py::VersionNameTemplateTest::test_option PASSED [ 85%] tests/test_script_production.py::CustomizeRevisionTest::test_autogen PASSED [ 85%] tests/test_script_production.py::CustomizeRevisionTest::test_new_locations_no_autogen PASSED [ 85%] tests/test_script_production.py::CustomizeRevisionTest::test_programmatic_command_option PASSED [ 85%] tests/test_script_production.py::CustomizeRevisionTest::test_renders_added_directives_no_autogen PASSED [ 85%] tests/test_script_production.py::DuplicateVersionLocationsTest::test_env_emits_warning PASSED [ 85%] tests/test_script_production.py::GeneralOrderedTests::test_steps PASSED [ 85%] tests/test_script_production.py::ImportsTest::test_imports_in_script PASSED [ 85%] tests/test_script_production.py::MultiContextTest::test_autogen PASSED [ 85%] tests/test_script_production.py::MultiDirRevisionCommandTest::test_multiple_dir_chooses_base PASSED [ 85%] tests/test_script_production.py::MultiDirRevisionCommandTest::test_multiple_dir_no_bases PASSED [ 85%] tests/test_script_production.py::MultiDirRevisionCommandTest::test_multiple_dir_no_bases_invalid_version_path PASSED [ 85%] tests/test_script_production.py::MultiDirRevisionCommandTest::test_multiple_dir_no_bases_version_path PASSED [ 85%] tests/test_script_production.py::NormPathTest::test_script_location PASSED [ 85%] tests/test_script_production.py::NormPathTest::test_script_location_multiple PASSED [ 85%] tests/test_script_production.py::RevisionCommandTest::test_create_script_basic PASSED [ 86%] tests/test_script_production.py::RevisionCommandTest::test_create_script_branches PASSED [ 86%] tests/test_script_production.py::RevisionCommandTest::test_create_script_branches_old_template PASSED [ 86%] tests/test_script_production.py::RevisionCommandTest::test_create_script_missing_splice PASSED [ 86%] tests/test_script_production.py::RevisionCommandTest::test_create_script_splice PASSED [ 86%] tests/test_script_production.py::RevisionCommandTest::test_illegal_revision_chars PASSED [ 86%] tests/test_script_production.py::RewriterTest::test_add_execute_sql PASSED [ 86%] tests/test_script_production.py::RewriterTest::test_all_traverse PASSED [ 86%] tests/test_script_production.py::RewriterTest::test_chained_ops PASSED [ 86%] tests/test_script_production.py::RewriterTest::test_double_migrate_table PASSED [ 86%] tests/test_script_production.py::RewriterTest::test_multiple_passes_with_mutations PASSED [ 86%] tests/test_script_production.py::RewriterTest::test_no_needless_pass PASSED [ 86%] tests/test_script_production.py::ScriptAccessorTest::test_upgrade_downgrade_ops_list_accessors PASSED [ 86%] tests/test_script_production.py::ScriptNamingTest::test_args PASSED [ 86%] tests/test_script_production.py::ScriptNamingTest::test_custom_tz PASSED [ 86%] tests/test_script_production.py::ScriptNamingTest::test_custom_tz_lowercase PASSED [ 86%] tests/test_script_production.py::ScriptNamingTest::test_custom_tz_utc PASSED [ 86%] tests/test_script_production.py::ScriptNamingTest::test_custom_tzdata_tz PASSED [ 86%] tests/test_script_production.py::ScriptNamingTest::test_default_tz PASSED [ 87%] tests/test_script_production.py::ScriptNamingTest::test_epoch[create_date0-%s/versions/1343228885_12345_this_is_a_message_2012_7_25_15_8_5.py] PASSED [ 87%] tests/test_script_production.py::ScriptNamingTest::test_epoch[create_date1-%s/versions/1343228886_12345_this_is_a_message_2012_7_25_15_8_6.py] PASSED [ 87%] tests/test_script_production.py::ScriptNamingTest::test_generates_a_date PASSED [ 87%] tests/test_script_production.py::ScriptNamingTest::test_no_zoneinfo_module PASSED [ 87%] tests/test_script_production.py::ScriptNamingTest::test_tz_cant_locate PASSED [ 87%] tests/test_script_production.py::TemplateArgsTest::test_args_propagate PASSED [ 87%] tests/test_script_production.py::TemplateArgsTest::test_bad_render PASSED [ 87%] tests/test_script_production.py::TemplateArgsTest::test_tmpl_args_revision PASSED [ 87%] tests/test_sqlite.py::SQLiteAutogenIndexTest_sqlite+pysqlite_3_51_2::test_functional_ix_one PASSED [ 87%] tests/test_sqlite.py::SQLiteAutogenIndexTest_sqlite+pysqlite_3_51_2::test_functional_ix_two PASSED [ 87%] tests/test_sqlite.py::SQLiteAutogenRenderTest::test_render_add_column_w_on_conflict PASSED [ 87%] tests/test_sqlite.py::SQLiteAutogenRenderTest::test_render_server_default_const PASSED [ 87%] tests/test_sqlite.py::SQLiteAutogenRenderTest::test_render_server_default_expr_needs_parens PASSED [ 87%] tests/test_sqlite.py::SQLiteAutogenRenderTest::test_render_server_default_text_expr_needs_parens PASSED [ 87%] tests/test_sqlite.py::SQLiteDefaultCompareTest_sqlite+pysqlite_3_51_2::test_compare_current_timestamp_func PASSED [ 87%] tests/test_sqlite.py::SQLiteDefaultCompareTest_sqlite+pysqlite_3_51_2::test_compare_current_timestamp_func_now PASSED [ 87%] tests/test_sqlite.py::SQLiteDefaultCompareTest_sqlite+pysqlite_3_51_2::test_compare_current_timestamp_text PASSED [ 88%] tests/test_sqlite.py::SQLiteDefaultCompareTest_sqlite+pysqlite_3_51_2::test_compare_float_str PASSED [ 88%] tests/test_sqlite.py::SQLiteDefaultCompareTest_sqlite+pysqlite_3_51_2::test_compare_float_str_diff PASSED [ 88%] tests/test_sqlite.py::SQLiteDefaultCompareTest_sqlite+pysqlite_3_51_2::test_compare_float_text PASSED [ 88%] tests/test_sqlite.py::SQLiteDefaultCompareTest_sqlite+pysqlite_3_51_2::test_compare_float_text_diff PASSED [ 88%] tests/test_sqlite.py::SQLiteDefaultCompareTest_sqlite+pysqlite_3_51_2::test_compare_integer_str PASSED [ 88%] tests/test_sqlite.py::SQLiteDefaultCompareTest_sqlite+pysqlite_3_51_2::test_compare_integer_str_diff PASSED [ 88%] tests/test_sqlite.py::SQLiteDefaultCompareTest_sqlite+pysqlite_3_51_2::test_compare_integer_text PASSED [ 88%] tests/test_sqlite.py::SQLiteDefaultCompareTest_sqlite+pysqlite_3_51_2::test_compare_integer_text_diff PASSED [ 88%] tests/test_sqlite.py::SQLiteDefaultCompareTest_sqlite+pysqlite_3_51_2::test_compare_string_literal PASSED [ 88%] tests/test_sqlite.py::SQLiteDefaultCompareTest_sqlite+pysqlite_3_51_2::test_compare_string_literal_diff PASSED [ 88%] tests/test_sqlite.py::SQLiteTest::test_add_column PASSED [ 88%] tests/test_sqlite.py::SQLiteTest::test_add_column_implicit_constraint PASSED [ 88%] tests/test_sqlite.py::SQLiteTest::test_add_column_with_comment_ignored SKIPPED)' : custom function) [ 88%] tests/test_sqlite.py::SQLiteTest::test_add_explicit_constraint PASSED [ 88%] tests/test_sqlite.py::SQLiteTest::test_create_table_with_comment_ignored SKIPPEDored (call)' : custom function) [ 88%] tests/test_sqlite.py::SQLiteTest::test_drop_explicit_constraint PASSED [ 88%] tests/test_sqlite.py::SQLiteTest::test_rename_column PASSED [ 88%] tests/test_sqlite.py::SQLiteTest::test_rename_table_w_schema PASSED [ 89%] tests/test_stubs.py::TestStubFiles::test_context_pyi SKIPPEDementation 'sqlite(3.51.2)+pysqlite'black and zimports are required for this test, python 3.14 does not work right now) [ 89%] tests/test_stubs.py::TestStubFiles::test_op_pyi SKIPPED implementation 'sqlite(3.51.2)+pysqlite'black and zimports are required for this test, python 3.14 does not work right now) [ 89%] tests/test_stubs.py::TestStubFiles::test_operation_base_file[batch_op] SKIPPED'sqlite(3.51.2)+pysqlite'python 3.14 does not work right now, black and zimports are required for this test) [ 89%] tests/test_stubs.py::TestStubFiles::test_operation_base_file[op_cls] SKIPPED'sqlite(3.51.2)+pysqlite'black and zimports are required for this test, python 3.14 does not work right now) [ 89%] tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled[False] <- alembic/testing/suite/test_autogen_diffs.py SKIPPED [ 89%] tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled[True] <- alembic/testing/suite/test_autogen_diffs.py SKIPPED [ 89%] tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled_in_comment[False] <- alembic/testing/suite/test_autogen_diffs.py SKIPPED [ 89%] tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled_in_comment[True] <- alembic/testing/suite/test_autogen_diffs.py SKIPPED [ 89%] tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled_in_notnull[False] <- alembic/testing/suite/test_autogen_diffs.py SKIPPED [ 89%] tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled_in_notnull[True] <- alembic/testing/suite/test_autogen_diffs.py SKIPPED [ 89%] tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled_in_server_default[False] <- alembic/testing/suite/test_autogen_diffs.py SKIPPED [ 89%] tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled_in_server_default[True] <- alembic/testing/suite/test_autogen_diffs.py SKIPPED [ 89%] tests/test_suite.py::AutogenerateComputedTest_sqlite+pysqlite_3_51_2::test_add_computed_column <- alembic/testing/suite/test_autogen_computed.py PASSED [ 89%] tests/test_suite.py::AutogenerateComputedTest_sqlite+pysqlite_3_51_2::test_cant_change_computed_warning[0] <- alembic/testing/suite/test_autogen_computed.py PASSED [ 89%] tests/test_suite.py::AutogenerateComputedTest_sqlite+pysqlite_3_51_2::test_cant_change_computed_warning[1] <- alembic/testing/suite/test_autogen_computed.py PASSED [ 89%] tests/test_suite.py::AutogenerateComputedTest_sqlite+pysqlite_3_51_2::test_cant_change_computed_warning[2] <- alembic/testing/suite/test_autogen_computed.py PASSED [ 89%] tests/test_suite.py::AutogenerateComputedTest_sqlite+pysqlite_3_51_2::test_cant_change_computed_warning[3] <- alembic/testing/suite/test_autogen_computed.py PASSED [ 90%] tests/test_suite.py::AutogenerateComputedTest_sqlite+pysqlite_3_51_2::test_computed_unchanged[0] <- alembic/testing/suite/test_autogen_computed.py PASSED [ 90%] tests/test_suite.py::AutogenerateComputedTest_sqlite+pysqlite_3_51_2::test_computed_unchanged[1] <- alembic/testing/suite/test_autogen_computed.py PASSED [ 90%] tests/test_suite.py::AutogenerateComputedTest_sqlite+pysqlite_3_51_2::test_computed_unchanged[2] <- alembic/testing/suite/test_autogen_computed.py PASSED [ 90%] tests/test_suite.py::AutogenerateComputedTest_sqlite+pysqlite_3_51_2::test_computed_unchanged[3] <- alembic/testing/suite/test_autogen_computed.py PASSED [ 90%] tests/test_suite.py::AutogenerateComputedTest_sqlite+pysqlite_3_51_2::test_remove_computed_column <- alembic/testing/suite/test_autogen_computed.py PASSED [ 90%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_add_deferrable <- alembic/testing/suite/test_autogen_fks.py SKIPPED [ 90%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_add_initially_deferrable_nochange_one <- alembic/testing/suite/test_autogen_fks.py SKIPPED [ 90%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_add_initially_deferrable_nochange_three <- alembic/testing/suite/test_autogen_fks.py SKIPPED) [ 90%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_add_initially_deferrable_nochange_two <- alembic/testing/suite/test_autogen_fks.py SKIPPED [ 90%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_add_initially_deferred <- alembic/testing/suite/test_autogen_fks.py SKIPPED [ 90%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_add_initially_immediate_plus_deferrable <- alembic/testing/suite/test_autogen_fks.py SKIPPED) [ 90%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_add_ondelete <- alembic/testing/suite/test_autogen_fks.py PASSED [ 90%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_add_onupdate <- alembic/testing/suite/test_autogen_fks.py PASSED [ 90%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_change_ondelete_from_restrict <- alembic/testing/suite/test_autogen_fks.py PASSED [ 90%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_change_onupdate_from_restrict <- alembic/testing/suite/test_autogen_fks.py PASSED [ 90%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_nochange_ondelete <- alembic/testing/suite/test_autogen_fks.py PASSED [ 90%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_nochange_ondelete_noaction <- alembic/testing/suite/test_autogen_fks.py PASSED [ 90%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_nochange_ondelete_restrict <- alembic/testing/suite/test_autogen_fks.py PASSED [ 91%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_nochange_onupdate <- alembic/testing/suite/test_autogen_fks.py PASSED [ 91%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_nochange_onupdate_noaction <- alembic/testing/suite/test_autogen_fks.py PASSED [ 91%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_nochange_onupdate_restrict <- alembic/testing/suite/test_autogen_fks.py PASSED [ 91%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_ondelete_onupdate_combo <- alembic/testing/suite/test_autogen_fks.py PASSED [ 91%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_remove_deferrable <- alembic/testing/suite/test_autogen_fks.py SKIPPED [ 91%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_remove_initially_deferred <- alembic/testing/suite/test_autogen_fks.py SKIPPED [ 91%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_remove_initially_immediate_plus_deferrable <- alembic/testing/suite/test_autogen_fks.py SKIPPEDesql and not oracle) [ 91%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_remove_ondelete <- alembic/testing/suite/test_autogen_fks.py PASSED [ 91%] tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_remove_onupdate <- alembic/testing/suite/test_autogen_fks.py PASSED [ 91%] tests/test_suite.py::AutogenerateForeignKeysTest_sqlite+pysqlite_3_51_2::test_add_composite_fk_with_name <- alembic/testing/suite/test_autogen_fks.py PASSED [ 91%] tests/test_suite.py::AutogenerateForeignKeysTest_sqlite+pysqlite_3_51_2::test_add_fk <- alembic/testing/suite/test_autogen_fks.py PASSED [ 91%] tests/test_suite.py::AutogenerateForeignKeysTest_sqlite+pysqlite_3_51_2::test_add_fk_colkeys <- alembic/testing/suite/test_autogen_fks.py PASSED [ 91%] tests/test_suite.py::AutogenerateForeignKeysTest_sqlite+pysqlite_3_51_2::test_casing_convention_changed_so_put_drops_first <- alembic/testing/suite/test_autogen_fks.py FAILED [ 91%] tests/test_suite.py::AutogenerateForeignKeysTest_sqlite+pysqlite_3_51_2::test_no_change <- alembic/testing/suite/test_autogen_fks.py PASSED [ 91%] tests/test_suite.py::AutogenerateForeignKeysTest_sqlite+pysqlite_3_51_2::test_no_change_colkeys <- alembic/testing/suite/test_autogen_fks.py PASSED [ 91%] tests/test_suite.py::AutogenerateForeignKeysTest_sqlite+pysqlite_3_51_2::test_no_change_composite_fk <- alembic/testing/suite/test_autogen_fks.py PASSED [ 91%] tests/test_suite.py::AutogenerateForeignKeysTest_sqlite+pysqlite_3_51_2::test_remove_composite_fk <- alembic/testing/suite/test_autogen_fks.py PASSED [ 92%] tests/test_suite.py::AutogenerateForeignKeysTest_sqlite+pysqlite_3_51_2::test_remove_fk <- alembic/testing/suite/test_autogen_fks.py PASSED [ 92%] tests/test_suite.py::AutoincrementTest_sqlite+pysqlite_3_51_2::test_alter_column_autoincrement_compositepk_explicit_true <- alembic/testing/suite/test_autogen_diffs.py SKIPPEDorted by database) [ 92%] tests/test_suite.py::AutoincrementTest_sqlite+pysqlite_3_51_2::test_alter_column_autoincrement_compositepk_false <- alembic/testing/suite/test_autogen_diffs.py PASSED [ 92%] tests/test_suite.py::AutoincrementTest_sqlite+pysqlite_3_51_2::test_alter_column_autoincrement_compositepk_implicit_false <- alembic/testing/suite/test_autogen_diffs.py PASSED [ 92%] tests/test_suite.py::AutoincrementTest_sqlite+pysqlite_3_51_2::test_alter_column_autoincrement_none <- alembic/testing/suite/test_autogen_diffs.py PASSED [ 92%] tests/test_suite.py::AutoincrementTest_sqlite+pysqlite_3_51_2::test_alter_column_autoincrement_nonpk_explicit_true <- alembic/testing/suite/test_autogen_diffs.py PASSED [ 92%] tests/test_suite.py::AutoincrementTest_sqlite+pysqlite_3_51_2::test_alter_column_autoincrement_nonpk_false <- alembic/testing/suite/test_autogen_diffs.py PASSED [ 92%] tests/test_suite.py::AutoincrementTest_sqlite+pysqlite_3_51_2::test_alter_column_autoincrement_nonpk_implicit_false <- alembic/testing/suite/test_autogen_diffs.py PASSED [ 92%] tests/test_suite.py::AutoincrementTest_sqlite+pysqlite_3_51_2::test_alter_column_autoincrement_pk_explicit_true <- alembic/testing/suite/test_autogen_diffs.py PASSED [ 92%] tests/test_suite.py::AutoincrementTest_sqlite+pysqlite_3_51_2::test_alter_column_autoincrement_pk_false <- alembic/testing/suite/test_autogen_diffs.py PASSED [ 92%] tests/test_suite.py::AutoincrementTest_sqlite+pysqlite_3_51_2::test_alter_column_autoincrement_pk_implicit_true <- alembic/testing/suite/test_autogen_diffs.py PASSED [ 92%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_autocommit_block <- alembic/testing/suite/test_environment.py SKIPPEDariadb) [ 92%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_autocommit_block_no_transaction <- alembic/testing/suite/test_environment.py SKIPPEDmysql and not mariadb) [ 92%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_autocommit_block_nontransactional_ddl_sqlmode <- alembic/testing/suite/test_environment.py PASSED [ 92%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_autocommit_block_transactional_ddl_sqlmode <- alembic/testing/suite/test_environment.py PASSED [ 92%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_proxy_transaction_commit <- alembic/testing/suite/test_environment.py PASSED [ 92%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_proxy_transaction_contextmanager_commit <- alembic/testing/suite/test_environment.py PASSED [ 92%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_proxy_transaction_contextmanager_explicit_commit <- alembic/testing/suite/test_environment.py PASSED [ 93%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_proxy_transaction_contextmanager_explicit_rollback <- alembic/testing/suite/test_environment.py PASSED [ 93%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_proxy_transaction_contextmanager_rollback <- alembic/testing/suite/test_environment.py PASSED [ 93%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_proxy_transaction_rollback <- alembic/testing/suite/test_environment.py PASSED [ 93%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_transaction_per_all_non_transactional_ddl <- alembic/testing/suite/test_environment.py PASSED [ 93%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_transaction_per_all_sqlmode <- alembic/testing/suite/test_environment.py PASSED [ 93%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_transaction_per_all_transactional_ddl <- alembic/testing/suite/test_environment.py PASSED [ 93%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_transaction_per_migration_non_transactional_ddl <- alembic/testing/suite/test_environment.py PASSED [ 93%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_transaction_per_migration_sqlmode <- alembic/testing/suite/test_environment.py PASSED [ 93%] tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_transaction_per_migration_transactional_ddl <- alembic/testing/suite/test_environment.py PASSED [ 93%] tests/test_version_table.py::CustomVersionTableTest::test_config_default_version_table_name PASSED [ 93%] tests/test_version_table.py::CustomVersionTableTest::test_config_explicit_no_pk PASSED [ 93%] tests/test_version_table.py::CustomVersionTableTest::test_config_explicit_version_table_name PASSED [ 93%] tests/test_version_table.py::CustomVersionTableTest::test_config_explicit_version_table_schema PASSED [ 93%] tests/test_version_table.py::CustomVersionTableTest::test_config_explicit_w_pk PASSED [ 93%] tests/test_version_table.py::CustomVersionTableTest::test_custom_version_table PASSED [ 93%] tests/test_version_table.py::CustomVersionTableTest::test_get_current_revision PASSED [ 93%] tests/test_version_table.py::CustomVersionTableTest::test_get_current_revision_doesnt_create_version_table PASSED [ 94%] tests/test_version_table.py::CustomVersionTableTest::test_get_current_revision_error_if_starting_rev_given_online PASSED [ 94%] tests/test_version_table.py::CustomVersionTableTest::test_get_current_revision_multiple_heads PASSED [ 94%] tests/test_version_table.py::CustomVersionTableTest::test_get_current_revision_offline PASSED [ 94%] tests/test_version_table.py::CustomVersionTableTest::test_get_heads PASSED [ 94%] tests/test_version_table.py::CustomVersionTableTest::test_get_heads_offline PASSED [ 94%] tests/test_version_table.py::CustomVersionTableTest::test_stamp_api_creates_table PASSED [ 94%] tests/test_version_table.py::TestMigrationContext::test_config_default_version_table_name PASSED [ 94%] tests/test_version_table.py::TestMigrationContext::test_config_explicit_no_pk PASSED [ 94%] tests/test_version_table.py::TestMigrationContext::test_config_explicit_version_table_name PASSED [ 94%] tests/test_version_table.py::TestMigrationContext::test_config_explicit_version_table_schema PASSED [ 94%] tests/test_version_table.py::TestMigrationContext::test_config_explicit_w_pk PASSED [ 94%] tests/test_version_table.py::TestMigrationContext::test_get_current_revision PASSED [ 94%] tests/test_version_table.py::TestMigrationContext::test_get_current_revision_doesnt_create_version_table PASSED [ 94%] tests/test_version_table.py::TestMigrationContext::test_get_current_revision_error_if_starting_rev_given_online PASSED [ 94%] tests/test_version_table.py::TestMigrationContext::test_get_current_revision_multiple_heads PASSED [ 94%] tests/test_version_table.py::TestMigrationContext::test_get_current_revision_offline PASSED [ 94%] tests/test_version_table.py::TestMigrationContext::test_get_heads PASSED [ 94%] tests/test_version_table.py::TestMigrationContext::test_get_heads_offline PASSED [ 95%] tests/test_version_table.py::TestMigrationContext::test_stamp_api_creates_table PASSED [ 95%] tests/test_version_table.py::UpdateRevTest_sqlite+pysqlite_3_51_2::test_add_branches PASSED [ 95%] tests/test_version_table.py::UpdateRevTest_sqlite+pysqlite_3_51_2::test_delete_multi_match PASSED [ 95%] tests/test_version_table.py::UpdateRevTest_sqlite+pysqlite_3_51_2::test_delete_multi_match_no_sane_rowcount PASSED [ 95%] tests/test_version_table.py::UpdateRevTest_sqlite+pysqlite_3_51_2::test_delete_no_match PASSED [ 95%] tests/test_version_table.py::UpdateRevTest_sqlite+pysqlite_3_51_2::test_delete_no_matchno_sane_rowcount PASSED [ 95%] tests/test_version_table.py::UpdateRevTest_sqlite+pysqlite_3_51_2::test_resolve_merges PASSED [ 95%] tests/test_version_table.py::UpdateRevTest_sqlite+pysqlite_3_51_2::test_teardown_branches PASSED [ 95%] tests/test_version_table.py::UpdateRevTest_sqlite+pysqlite_3_51_2::test_unresolve_merges PASSED [ 95%] tests/test_version_table.py::UpdateRevTest_sqlite+pysqlite_3_51_2::test_update_multi_match PASSED [ 95%] tests/test_version_table.py::UpdateRevTest_sqlite+pysqlite_3_51_2::test_update_multi_match_no_sane_rowcount PASSED [ 95%] tests/test_version_table.py::UpdateRevTest_sqlite+pysqlite_3_51_2::test_update_no_match PASSED [ 95%] tests/test_version_table.py::UpdateRevTest_sqlite+pysqlite_3_51_2::test_update_no_match_no_sane_rowcount PASSED [ 95%] tests/test_version_table.py::UpdateRevTest_sqlite+pysqlite_3_51_2::test_update_none_to_single PASSED [ 95%] tests/test_version_table.py::UpdateRevTest_sqlite+pysqlite_3_51_2::test_update_single_to_none PASSED [ 95%] tests/test_version_table.py::UpdateRevTest_sqlite+pysqlite_3_51_2::test_update_single_to_single PASSED [ 95%] tests/test_version_traversal.py::BranchFrom3WayMergepointTest::test_mergepoint_to_only_one_side_downgrade PASSED [ 96%] tests/test_version_traversal.py::BranchFrom3WayMergepointTest::test_mergepoint_to_only_one_side_upgrade PASSED [ 96%] tests/test_version_traversal.py::BranchFrom3WayMergepointTest::test_mergepoint_to_two_sides_upgrade PASSED [ 96%] tests/test_version_traversal.py::BranchFromMergepointTest::test_mergepoint_to_only_one_side_downgrade PASSED [ 96%] tests/test_version_traversal.py::BranchFromMergepointTest::test_mergepoint_to_only_one_side_upgrade PASSED [ 96%] tests/test_version_traversal.py::BranchedPathTest::test_ambiguous_upgrade PASSED [ 96%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_minus1_from_base PASSED [ 96%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_minus1_to_base PASSED [ 96%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_multiple_branch PASSED [ 96%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_no_effect_branched PASSED [ 96%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_once_order_left PASSED [ 96%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_once_order_left_unbalanced PASSED [ 96%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_once_order_left_unbalanced_labelled PASSED [ 96%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_once_order_right PASSED [ 96%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_once_order_right_unbalanced PASSED [ 96%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_relative_order_left PASSED [ 96%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_relative_order_right PASSED [ 96%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_relative_to_branch_head PASSED [ 96%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_single_branch_c1branch PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_single_branch_c1branch_from_d1_head PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_single_branch_c2 PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_downgrade_single_branch_d1 PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_relative_downgrade_baseplus2 PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_relative_downgrade_branchplus2 PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_relative_downgrade_branchplus3 PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_relative_upgrade PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_stamp_down_across_multiple_branch_to_branchpoint PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_stamp_to_labeled_base_multiple_heads PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_stamp_to_labeled_head_multiple_heads PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_upgrade_from_base PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_upgrade_from_base_implicit PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_upgrade_multiple_branch PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_upgrade_one_branch_of_heads PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_upgrade_other_branch_from_mergepoint PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTest::test_upgrade_single_branch PASSED [ 97%] tests/test_version_traversal.py::BranchedPathTestCrossDependencies::test_downgrade_branch_dependency PASSED [ 98%] tests/test_version_traversal.py::BranchedPathTestCrossDependencies::test_downgrade_independent_branch PASSED [ 98%] tests/test_version_traversal.py::DependsOnBranchLabelTest::test_upgrade_path PASSED [ 98%] tests/test_version_traversal.py::DependsOnBranchTestFive::test_downgrade_to_depends_on PASSED [ 98%] tests/test_version_traversal.py::DependsOnBranchTestFour::test_dependencies_are_normalized PASSED [ 98%] tests/test_version_traversal.py::DependsOnBranchTestOne::test_downgrade_to_dependency PASSED [ 98%] tests/test_version_traversal.py::DependsOnBranchTestOne::test_stamp_across_dependency PASSED [ 98%] tests/test_version_traversal.py::DependsOnBranchTestThree::test_downgrade_over_crisscross PASSED [ 98%] tests/test_version_traversal.py::DependsOnBranchTestTwo::test_kaboom PASSED [ 98%] tests/test_version_traversal.py::DependsOnOwnDownrevTest::test_traverse PASSED [ 98%] tests/test_version_traversal.py::DependsOnOwnDownrevTest::test_traverse_down PASSED [ 98%] tests/test_version_traversal.py::ForestTest::test_base_to_heads PASSED [ 98%] tests/test_version_traversal.py::ForestTest::test_stamp_to_heads PASSED [ 98%] tests/test_version_traversal.py::ForestTest::test_stamp_to_heads_no_moves_needed PASSED [ 98%] tests/test_version_traversal.py::MergedPathTest::test_downgrade_across_merge_point PASSED [ 98%] tests/test_version_traversal.py::MergedPathTest::test_stamp_down_across_merge_point_branch PASSED [ 98%] tests/test_version_traversal.py::MergedPathTest::test_stamp_down_across_merge_prior_branching PASSED [ 98%] tests/test_version_traversal.py::MergedPathTest::test_stamp_labeled_head_across_merge_from_multiple_branch PASSED [ 98%] tests/test_version_traversal.py::MergedPathTest::test_stamp_up_across_merge_from_multiple_branch PASSED [ 99%] tests/test_version_traversal.py::MergedPathTest::test_stamp_up_across_merge_from_single_branch PASSED [ 99%] tests/test_version_traversal.py::MergedPathTest::test_stamp_up_across_merge_prior_branching PASSED [ 99%] tests/test_version_traversal.py::MergedPathTest::test_upgrade_across_merge_point PASSED [ 99%] tests/test_version_traversal.py::NotQuiteTwinMergeTest::test_upgrade PASSED [ 99%] tests/test_version_traversal.py::RevisionPathTest::test_downgrade_base_no_version PASSED [ 99%] tests/test_version_traversal.py::RevisionPathTest::test_downgrade_path PASSED [ 99%] tests/test_version_traversal.py::RevisionPathTest::test_downgrade_to_existing PASSED [ 99%] tests/test_version_traversal.py::RevisionPathTest::test_downgrade_to_existing_head PASSED [ 99%] tests/test_version_traversal.py::RevisionPathTest::test_invalid_move_higher_to_lower PASSED [ 99%] tests/test_version_traversal.py::RevisionPathTest::test_invalid_move_rev_to_none PASSED [ 99%] tests/test_version_traversal.py::RevisionPathTest::test_invalid_relative_downgrade_path PASSED [ 99%] tests/test_version_traversal.py::RevisionPathTest::test_invalid_relative_upgrade_path PASSED [ 99%] tests/test_version_traversal.py::RevisionPathTest::test_relative_downgrade_path PASSED [ 99%] tests/test_version_traversal.py::RevisionPathTest::test_relative_upgrade_path PASSED [ 99%] tests/test_version_traversal.py::RevisionPathTest::test_stamp_to_base PASSED [ 99%] tests/test_version_traversal.py::RevisionPathTest::test_upgrade_path PASSED [ 99%] tests/test_version_traversal.py::TwinMergeTest::test_upgrade PASSED [100%] =================================== FAILURES =================================== _ AutogenerateForeignKeysTest_sqlite+pysqlite_3_51_2.test_casing_convention_changed_so_put_drops_first _ Traceback (most recent call last): File "/usr/lib/python3.14/site-packages/_pytest/runner.py", line 344, in from_call result: TResult | None = func() ~~~~^^ File "/usr/lib/python3.14/site-packages/_pytest/runner.py", line 246, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/usr/lib/python3.14/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call return (yield) ^^^^^ File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/usr/lib/python3.14/site-packages/_pytest/skipping.py", line 263, in pytest_runtest_call return (yield) ^^^^^ File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.14/site-packages/_pytest/runner.py", line 178, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/usr/lib/python3.14/site-packages/_pytest/python.py", line 1671, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.14/site-packages/_pytest/python.py", line 157, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-alembic/src/alembic-rel_1_16_1/alembic/testing/suite/test_autogen_fks.py", line 243, in test_casing_convention_changed_so_put_drops_first self._assert_fk_diff( ~~~~~~~~~~~~~~~~~~~~^ diffs[0], ^^^^^^^^^ ...<5 lines>... name="MyFK" if config.requirements.fk_names.enabled else None, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/build/python-alembic/src/alembic-rel_1_16_1/alembic/testing/suite/_autogen_fixtures.py", line 317, in _assert_fk_diff eq_(diff[1].name, name) ~~~^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.14/site-packages/sqlalchemy/testing/assertions.py", line 286, in eq_ assert a == b, msg or "%r != %r" % (a, b) AssertionError: 'MyFK' != None assert 'MyFK' == None ---------------------------- Captured stdout setup ----------------------------- Creating directory /build/python-alembic/src/alembic-rel_1_16_1/scratch/scripts ... done Creating directory /build/python-alembic/src/alembic-rel_1_16_1/scratch/scripts/versions ... done Generating /build/python-alembic/src/alembic-rel_1_16_1/scratch/scripts/README ... done Generating /build/python-alembic/src/alembic-rel_1_16_1/scratch/test_alembic.ini ... done Generating /build/python-alembic/src/alembic-rel_1_16_1/scratch/scripts/env.py ... done Generating /build/python-alembic/src/alembic-rel_1_16_1/scratch/scripts/script.py.mako ... done Please edit configuration/connection/logging settings in /build/python-alembic/src/alembic-rel_1_16_1/scratch/test_alembic.ini before proceeding. =========================== short test summary info ============================ SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_datetime_comparisons[cola0-colb0-False-_exclusions_00] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_datetime_comparisons[cola1-colb1-True-_exclusions_01] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_datetime_comparisons[cola2-colb2-True-_exclusions_02] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_introspected_columns_match_metadata_columns[cola17-_exclusions_017] (call)' : not mysql and not mariadb SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola10-colb10-False-_exclusions_010] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola11-colb11-False-_exclusions_011] (call)' : not mysql and not mariadb SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola12-colb12-True-_exclusions_012] (call)' : not mysql and not mariadb SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola13-colb13-False-_exclusions_013] (call)' : not mysql and not mariadb SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareMetadataToInspectorTest_sqlite+pysqlite_3_51_2::test_string_comparisons[cola14-colb14-True-_exclusions_014] (call)' : not mysql and not mariadb SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[DATETIME-(getdate())] (call)' : not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[DATETIME-(now())] (call)' : sqlite SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[VARCHAR(30)-substring('name', 1, 3)] (call)' : not mssql and not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[VARCHAR(30)-substring('name',1,3)] (call)' : not mssql and not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[VARCHAR(30)-substring(:substring_1, :substring_2, :substring_3)] (call)' : not mssql and not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[VARCHAR(50)-substring(user_name(), charindex('',user_name())+(1),len(user_name()))] (call)' : not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_diffs.py::CompareServerDefaultTest_sqlite+pysqlite_3_51_2::test_server_default_no_false_positives[VARCHAR(50)-substring(user_name(),charindex('',user_name())+(1),len(user_name()))] (call)' : not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_016] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_017] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_018] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_019] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_020] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_021] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_022] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_023] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_024] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_025] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_026] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_027] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_changed[--_exclusions_028] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_032] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_033] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_034] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_035] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_036] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_037] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_038] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_039] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_040] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_041] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_042] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_043] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_044] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_045] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_046] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_047] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_048] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_049] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_050] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_051] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_052] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_053] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_054] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_055] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_056] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_057] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_058] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_059] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_060] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_061] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_062] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_063] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_064] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_065] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_066] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_067] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_068] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateExpressionIndexTest_sqlite+pysqlite_3_51_2::test_expression_indexes_no_change[--_exclusions_069] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_changed[-] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_changed[asc-desc] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_changed[desc-] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_changed[desc-asc] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_changed[nulls_first-nulls_last] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_changed[nulls_last-nulls_first] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[-] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[-asc] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[-nulls_last] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[asc-asc] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[desc-] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[desc-desc] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[nulls_first-nulls_first] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_column_sort_not_changed[nulls_last-nulls_last] (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateIndexTest_sqlite+pysqlite_3_51_2::test_nothing_changed_covering_index (call)' : not postgresql >= (11,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::AutogenerateUniqueIndexTest_sqlite+pysqlite_3_51_2::test_remove_uq_constraint (call)' : sqlite SKIPPED [4] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: unique constraint reflection disabled for this suite SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::NoUqReflectionIndexTest_sqlite+pysqlite_3_51_2::test_remove_uq_constraint (call)' : sqlite SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_indexes.py::NoUqReportsIndAsUqTest_sqlite+pysqlite_3_51_2::test_remove_uq_constraint (call)' : sqlite SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_render.py::AutogenRenderTest::test_render_add_column_identity[kw4-sa.Identity(always=False, start=42, oracle_on_null=True, oracle_order=False)-_exclusions_04] (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_autogen_render.py::AutogenRenderTest::test_render_alter_column_add_identity[kw4-sa.Identity(always=False, start=42, oracle_on_null=True, oracle_order=False)-_exclusions_04] (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_column_auto_identity (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_column_comment (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_column_comment_recreate (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_add_table_comment (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_alter_column_comment (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_alter_column_comment_recreate (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_batch.py::BatchRoundTripTest_sqlite+pysqlite_3_51_2::test_drop_table_comment (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_mssql.py::OpTest::test_add_column_identity[kw0] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_mssql.py::OpTest::test_add_column_identity[kw1] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_mssql.py::OpTest::test_add_column_identity[kw2] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_mssql.py::OpTest::test_add_column_identity[kw3] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_mssql.py::OpTest::test_alter_column_identity_add_not_supported[-0] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_mssql.py::OpTest::test_alter_column_identity_add_not_supported[-1] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_mssql.py::OpTest::test_alter_column_identity_add_not_supported[-2] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_op.py::OpTest::test_create_table_comment_op (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_op.py::OpTest::test_drop_table_comment_op (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_oracle.py::OpTest::test_add_column_with_comment (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_oracle.py::OpTest::test_create_table_with_column_comments (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_postgresql.py::PostgresqlOpTest::test_add_column_identity[kw0-None] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_postgresql.py::PostgresqlOpTest::test_add_column_identity[kw1-None] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_postgresql.py::PostgresqlOpTest::test_add_column_identity[kw2-INCREMENT BY 33 START WITH 3 MAXVALUE 99 CYCLE] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_postgresql.py::PostgresqlOpTest::test_add_identity_to_column[kw0-None] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_postgresql.py::PostgresqlOpTest::test_add_identity_to_column[kw1-None] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_postgresql.py::PostgresqlOpTest::test_add_identity_to_column[kw2-INCREMENT BY 33 START WITH 3 MAXVALUE 99 CYCLE] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_postgresql.py::PostgresqlOpTest::test_change_identity_in_column[existing0-updated0-SET GENERATED ALWAYS] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_postgresql.py::PostgresqlOpTest::test_change_identity_in_column[existing1-updated1-SET GENERATED BY DEFAULT SET START WITH 3] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_postgresql.py::PostgresqlOpTest::test_change_identity_in_column[existing2-updated2-SET CYCLE SET INCREMENT BY 1] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_postgresql.py::PostgresqlOpTest::test_change_identity_in_column[existing3-updated3-SET CACHE 2] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_postgresql.py::PostgresqlOpTest::test_change_identity_in_column[existing4-updated4-SET MINVALUE 0] (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_postgresql.py::PostgresqlOpTest::test_remove_identity_from_column (call)' : not postgresql >= (10,) and not oracle >= (12,) and not mssql SKIPPED [4] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests.test_script_consumption.BranchedOnlineTransactionalDDLTest' unsupported on any DB implementation 'sqlite(3.51.2)+pysqlite'SQLAlchemy 1.x test SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_sqlite.py::SQLiteTest::test_add_column_with_comment_ignored (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_sqlite.py::SQLiteTest::test_create_table_with_comment_ignored (call)' : custom function SKIPPED [3] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests.test_stubs.TestStubFiles' unsupported on any DB implementation 'sqlite(3.51.2)+pysqlite'black and zimports are required for this test, python 3.14 does not work right now SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests.test_stubs.TestStubFiles' unsupported on any DB implementation 'sqlite(3.51.2)+pysqlite'python 3.14 does not work right now, black and zimports are required for this test SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled[False] (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled[True] (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled_in_comment[False] (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled_in_comment[True] (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled_in_notnull[False] (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled_in_notnull[True] (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled_in_server_default[False] (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AlterColumnTest_sqlite+pysqlite_3_51_2::test_all_existings_filled_in_server_default[True] (call)' : custom function SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_add_deferrable (call)' : not postgresql and not oracle SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_add_initially_deferrable_nochange_one (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_add_initially_deferrable_nochange_three (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_add_initially_deferrable_nochange_two (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_add_initially_deferred (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_add_initially_immediate_plus_deferrable (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_remove_deferrable (call)' : not postgresql and not oracle SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_remove_initially_deferred (call)' : not postgresql SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AutogenerateFKOptionsTest_sqlite+pysqlite_3_51_2::test_remove_initially_immediate_plus_deferrable (call)' : not postgresql and not oracle SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::AutoincrementTest_sqlite+pysqlite_3_51_2::test_alter_column_autoincrement_compositepk_explicit_true (call)' : not supported by database SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_autocommit_block (call)' : not postgresql and not mysql and not mariadb SKIPPED [1] ../../../../usr/lib/python3.14/site-packages/sqlalchemy/testing/config.py:430: 'tests/test_suite.py::MigrationTransactionTest_sqlite+pysqlite_3_51_2::test_autocommit_block_no_transaction (call)' : not postgresql and not mysql and not mariadb FAILED tests/test_suite.py::AutogenerateForeignKeysTest_sqlite+pysqlite_3_51_2::test_casing_convention_changed_so_put_drops_first - AssertionError: 'MyFK' != None assert 'MyFK' == None ============ 1 failed, 1598 passed, 151 skipped in 69.94s (0:01:09) ============ ==> ERROR: A failure occurred in check(). Aborting... [!p]104[?7h]3008;end=b1efeb129d904b0aaa0daac1a67db8a1\==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix-1/build [?25h[?25h[?25hreceiving incremental file list python-alembic-1.16.1-2-riscv64-build.log python-alembic-1.16.1-2-riscv64-check.log python-alembic-1.16.1-2-riscv64-prepare.log sent 81 bytes received 22,366 bytes 14,964.67 bytes/sec total size is 262,512 speedup is 11.69