babel/babel-python39a6-compat.patch
Petr Šabata ecfb8436c0 RHEL 9.0.0 Alpha bootstrap
The content of this branch was automatically imported from Fedora ELN
with the following as its source:
https://src.fedoraproject.org/rpms/babel#cec400854373b9ab2ac275fa961a07775a76bc20
2020-10-14 22:09:41 +02:00

67 lines
2.2 KiB
Diff

commit f3651bebd3216cc276f7642c3807cc8d08f2bd23
Author: Felix Schwarz <felix.schwarz@oss.schwarz.eu>
Date: Tue May 5 08:05:56 2020 +0000
fix tests when using Python 3.9a6
In Python 3.9a6 integer values for future flags were changed to prevent
collision with compiler flags. We need to retrieve these at runtime so
the test suite works with Python <= 3.8 as well as Python 3.9.
diff --git a/tests/test_util.py b/tests/test_util.py
index a6a4450..b9343aa 100644
--- a/tests/test_util.py
+++ b/tests/test_util.py
@@ -11,6 +11,7 @@
# individuals. For the exact contribution history, see the revision
# history and logs, available at http://babel.edgewall.org/log/.
+import __future__
import unittest
import pytest
@@ -20,6 +21,12 @@ from babel._compat import BytesIO
from babel.util import parse_future_flags
+class _FF:
+ division = __future__.division.compiler_flag
+ print_function = __future__.print_function.compiler_flag
+ with_statement = __future__.with_statement.compiler_flag
+ unicode_literals = __future__.unicode_literals.compiler_flag
+
def test_distinct():
assert list(util.distinct([1, 2, 1, 3, 4, 4])) == [1, 2, 3, 4]
assert list(util.distinct('foobar')) == ['f', 'o', 'b', 'a', 'r']
@@ -70,25 +77,25 @@ def test_parse_encoding_non_ascii():
from __future__ import print_function,
division, with_statement,
unicode_literals
-''', 0x10000 | 0x2000 | 0x8000 | 0x20000),
+''', _FF.print_function | _FF.division | _FF.with_statement | _FF.unicode_literals),
('''
from __future__ import print_function, division
print('hello')
-''', 0x10000 | 0x2000),
+''', _FF.print_function | _FF.division),
('''
from __future__ import print_function, division, unknown,,,,,
print 'hello'
-''', 0x10000 | 0x2000),
+''', _FF.print_function | _FF.division),
('''
from __future__ import (
print_function,
division)
-''', 0x10000 | 0x2000),
+''', _FF.print_function | _FF.division),
('''
from __future__ import \\
print_function, \\
division
-''', 0x10000 | 0x2000),
+''', _FF.print_function | _FF.division),
])
def test_parse_future(source, result):
fp = BytesIO(source.encode('latin-1'))