Files
superset2/pytest.ini
T
Claude Code c1c5bc3b5a experiment: full SQLAlchemy 2.0 + flask-sqlalchemy 3.1.1 bump (DO NOT MERGE)
Investigation-only, cherry-picked from mikebridge's
test/verify-sqlalchemy-continuum branch (backend-relevant hunks only,
skipping unrelated frontend formatting drift). Bumps sqlalchemy to
2.0.51 and flask-sqlalchemy to 3.1.1 directly, rather than the FSA
3.0.5 intermediate step attempted in PR #42542.

Notable fix beyond the version bumps: pessimistic_connection_handling
(superset/utils/core.py) now calls connection.rollback() after its
pool-checkout health-check SELECT. Under SQLAlchemy 2.0's autobegin
behavior that SELECT implicitly opens a transaction it previously
never closed, which is a plausible mechanism for the MySQL
lock-wait-timeout symptom from the original #42542 break.

Also updates two migration scripts (2018-07-26 add_implicit_tags,
2022-04-01 new_dataset_models_take_2) to Mapped[] typed relationship
annotations -- these define their own standalone declarative models
and were missed by discussion #40273's earlier unit-test-driven
deprecation-warning sweep, since migration scripts aren't exercised
by that suite.

Removes the now-obsolete SQLALCHEMY_WARN_20 pytest.ini filterwarnings
error lines, since sqlalchemy.exc.RemovedIn20Warning doesn't fire (or
exist in the same form) once SQLAlchemy 2.0 is actually installed.

Pushing to get a real test-sqlite/test-mysql CI signal, since local
sqlite runs don't reliably reproduce the original break either way.
2026-08-10 04:39:08 -07:00

28 lines
1.1 KiB
INI

#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
[pytest]
testpaths =
tests
python_files = *_test.py test_*.py *_tests.py *viz/utils.py
# `-p no:warnings` temporarily disabled in favor of more finely tuned `filterwarnings`.
#addopts = -p no:warnings
asyncio_mode = auto
# `ignore` is effectively equivalent to `-p no:warnings`.
filterwarnings =
ignore