mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-07-25 08:58:27 -07:00
dev-python/parse: version bump (including EAPI bump and py-3.5 support)
Package-Manager: portage-2.3.0
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
From 32f15cfefb7c7b6476360ac65cba807aa3dfccfa Mon Sep 17 00:00:00 2001
|
||||
From: David King <dking@redhat.com>
|
||||
Date: Mon, 14 Dec 2015 09:58:19 +0000
|
||||
Subject: [PATCH] Fix test_too_many_fields with Python 3.5
|
||||
|
||||
Python versions before 3.5 had a limit of 100 groups in regular
|
||||
expressions. This limit was removed during 3.5 development:
|
||||
|
||||
http://bugs.python.org/issue22437
|
||||
https://hg.python.org/cpython/rev/0b85ea4bd1af
|
||||
|
||||
The test_too_many_fields test asserts that the limit exists by
|
||||
attempting to parse a string with 15 fields, which triggers the 100
|
||||
named groups limit.
|
||||
|
||||
Adjust the test so that if first checks to see whether the limit of 100
|
||||
named groups exists, and only assert that parsing 15 fields fails if
|
||||
that is the case.
|
||||
---
|
||||
test_parse.py | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/test_parse.py b/test_parse.py
|
||||
index c524349..1d50568 100755
|
||||
--- a/test_parse.py
|
||||
+++ b/test_parse.py
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
import unittest
|
||||
from datetime import datetime, time
|
||||
+import re
|
||||
|
||||
import parse
|
||||
|
||||
@@ -624,8 +625,13 @@ def test_mixed_type_variant(self):
|
||||
self.assertEqual(r.fixed[21], 'spam')
|
||||
|
||||
def test_too_many_fields(self):
|
||||
- p = parse.compile('{:ti}' * 15)
|
||||
- self.assertRaises(parse.TooManyFields, p.parse, '')
|
||||
+ # Python 3.5 removed the limit of 100 named groups in a regular expression,
|
||||
+ # so only test for the exception if the limit exists.
|
||||
+ try:
|
||||
+ re.compile("".join("(?P<n{n}>{n}-)".format(n=i) for i in range(101)))
|
||||
+ except AssertionError:
|
||||
+ p = parse.compile('{:ti}' * 15)
|
||||
+ self.assertRaises(parse.TooManyFields, p.parse, '')
|
||||
|
||||
|
||||
class TestSearch(unittest.TestCase):
|
||||
Reference in New Issue
Block a user