Fix tests for Python 3.11

This commit is contained in:
Miro Hrončok 2022-06-15 12:04:57 +02:00
parent 9a71d01d64
commit 56762bce3f
2 changed files with 47 additions and 1 deletions

View File

@ -13,6 +13,12 @@ License: MIT
URL: https://github.com/fonttools/fonttools/
Source0: https://github.com/%{name}/%{name}/archive/%{version}.tar.gz#/%{pypi_name}-%{version}.tar.gz
# Fix Python 3.11 test failures
# - read LogRecord's msg instead of args on 3.11+
# - allow new str() form of enums
# Fixes https://bugzilla.redhat.com/2067200
Patch: python3.11.patch
Requires: python3-fonttools
Requires: python3-setuptools
BuildArch: noarch
@ -58,7 +64,7 @@ Obsoletes: python3-ufolib <= 2.1.1-11
%{?python_extras_subpkg:%python_extras_subpkg -n python3-fonttools -i %{python3_sitelib}/%{name}-%{version}-py%{python3_version}.egg-info graphite interpolatable lxml plot symfont type1 ufo unicode woff}
%prep
%autosetup
%autosetup -p1
rm -rf *.egg-info
sed -i '1d' Lib/fontTools/mtiLib/__init__.py

40
python3.11.patch Normal file
View File

@ -0,0 +1,40 @@
diff --git a/Tests/pens/cu2quPen_test.py b/Tests/pens/cu2quPen_test.py
index db51787..4ce5b51 100644
--- a/Tests/pens/cu2quPen_test.py
+++ b/Tests/pens/cu2quPen_test.py
@@ -12,6 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+import sys
import unittest
from fontTools.pens.cu2quPen import Cu2QuPen, Cu2QuPointPen
@@ -257,8 +258,12 @@ class TestCu2QuPen(unittest.TestCase, _TestPenMixin):
quadpen.closePath()
self.assertGreaterEqual(len(log.records), 1)
- self.assertIn("ignore_single_points is deprecated",
- log.records[0].args[0])
+ if sys.version_info < (3, 11):
+ self.assertIn("ignore_single_points is deprecated",
+ log.records[0].args[0])
+ else:
+ self.assertIn("ignore_single_points is deprecated",
+ log.records[0].msg)
# single-point contours were ignored, so the pen commands are empty
self.assertFalse(pen.commands)
diff --git a/Tests/ufoLib/ufoLib_test.py b/Tests/ufoLib/ufoLib_test.py
index 430e7a7..ccb7c8e 100644
--- a/Tests/ufoLib/ufoLib_test.py
+++ b/Tests/ufoLib/ufoLib_test.py
@@ -35,7 +35,7 @@ def test_formatVersionTuple(ufo_path):
assert reader.formatVersionTuple == (3, 0)
assert reader.formatVersionTuple.major == 3
assert reader.formatVersionTuple.minor == 0
- assert str(reader.formatVersionTuple) == "3.0"
+ assert str(reader.formatVersionTuple) in ("3.0", "UFOFormatVersion.FORMAT_3_0")
def test_readMetaInfo_errors(ufo_path):