diff --git a/backport-tests-overcome-bpo42967.patch b/backport-tests-overcome-bpo42967.patch new file mode 100644 index 0000000000000000000000000000000000000000..892dda18e120270c198b9901a4afd0bb4e99068a --- /dev/null +++ b/backport-tests-overcome-bpo42967.patch @@ -0,0 +1,65 @@ +--- + lib/sqlalchemy/engine/url.py | 14 ++++++++++---- + test/dialect/mssql/test_engine.py | 3 ++- + 2 files changed, 12 insertions(+), 5 deletions(-) + +--- a/lib/sqlalchemy/engine/url.py ++++ b/lib/sqlalchemy/engine/url.py +@@ -14,6 +14,7 @@ argument; alternatively, the URL is a pu + be used directly and is also accepted directly by ``create_engine()``. + """ + ++import inspect + import re + + from .interfaces import Dialect +@@ -218,7 +219,7 @@ class URL(object): + return translated + + +-def make_url(name_or_url): ++def make_url(name_or_url, separator='&'): + """Given a string or unicode instance, produce a new URL instance. + + The given string is parsed according to the RFC 1738 spec. If an +@@ -226,12 +227,12 @@ def make_url(name_or_url): + """ + + if isinstance(name_or_url, util.string_types): +- return _parse_rfc1738_args(name_or_url) ++ return _parse_rfc1738_args(name_or_url, separator) + else: + return name_or_url + + +-def _parse_rfc1738_args(name): ++def _parse_rfc1738_args(name, qs_sep): + pattern = re.compile( + r""" + (?P[\w\+]+):// +@@ -261,7 +262,12 @@ def _parse_rfc1738_args(name): + if len(tokens) > 1: + query = {} + +- for key, value in util.parse_qsl(tokens[1]): ++ if 'separator' in inspect.signature(util.parse_qsl).parameters: ++ qs_dict = util.parse_qsl(tokens[1], separator=qs_sep) ++ else: ++ qs_dict = util.parse_qsl(tokens[1]) ++ ++ for key, value in qs_dict: + if util.py2k: + key = key.encode("ascii") + if key in query: +--- a/test/dialect/mssql/test_engine.py ++++ b/test/dialect/mssql/test_engine.py +@@ -164,7 +164,8 @@ class ParseConnectTest(fixtures.TestBase + u = url.make_url( + "mssql+pyodbc://@server_name/db_name?" + "driver=ODBC+Driver+17+for+SQL+Server;" +- "authentication=ActiveDirectoryIntegrated" ++ "authentication=ActiveDirectoryIntegrated", ++ separator=';' + ) + connection = dialect.create_connect_args(u) + eq_(connection[1], {}) diff --git a/python-sqlalchemy.spec b/python-sqlalchemy.spec index 647ea8d2df6d06ca0f6b271c475aa094e89fcdf8..36a948a83f85fc2c519819a30085da32cecc9173 100644 --- a/python-sqlalchemy.spec +++ b/python-sqlalchemy.spec @@ -2,12 +2,14 @@ Name: python-sqlalchemy Version: 1.3.22 -Release: 1 +Release: 2 Summary: SQL toolkit and object relational mapper for Python License: MIT URL: http://www.sqlalchemy.org/ Source0: https://files.pythonhosted.org/packages/source/S/SQLAlchemy/SQLAlchemy-%{version}.tar.gz +Patch0: backport-tests-overcome-bpo42967.patch + BuildRequires: python3-devel python3-setuptools python3-pytest %description @@ -62,6 +64,12 @@ PYTHONPATH=. %{__python3} -m pytest test %doc doc examples %changelog +* Thu Mar 18 2021 tianwei - 1.3.22-2 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:fix make check failed + * Mon Feb 1 2021 yuanxin - 1.3.22-1 - Upgrade version to 1.3.22