patch 7.4.2350
Problem: Test 86 and 87 fail with some version of Python.
Solution: Unify "can't" and "cannot". Unify quotes.
diff --git a/src/testdir/test86.in b/src/testdir/test86.in
index bf7b3d3..71dd9f1 100644
--- a/src/testdir/test86.in
+++ b/src/testdir/test86.in
@@ -239,6 +239,14 @@
'TypeError:("\'FailingNumber\' object is not iterable",)')
if msg.find('(\'\'') > -1 or msg.find('(\'can\'t') > -1:
msg = msg.replace('(\'', '("').replace('\',)', '",)')
+ # Some Python versions say can't, others cannot.
+ if msg.find('can\'t') > -1:
+ msg = msg.replace('can\'t', 'cannot')
+ # Some Python versions use single quote, some double quote
+ if msg.find('"cannot ') > -1:
+ msg = msg.replace('"cannot ', '\'cannot ')
+ if msg.find(' attributes"') > -1:
+ msg = msg.replace(' attributes"', ' attributes\'')
if expr == 'fd(self=[])':
# HACK: PyMapping_Check changed meaning
msg = msg.replace('AttributeError:(\'keys\',)',
diff --git a/src/testdir/test86.ok b/src/testdir/test86.ok
index 6d561ec..4e6c4e0 100644
--- a/src/testdir/test86.ok
+++ b/src/testdir/test86.ok
@@ -628,7 +628,7 @@
test86.in
> Output
>> OutputSetattr
-del sys.stdout.softspace:AttributeError:("can't delete OutputObject attributes",)
+del sys.stdout.softspace:AttributeError:('cannot delete OutputObject attributes',)
>>> Testing NumberToLong using sys.stdout.softspace = %s
sys.stdout.softspace = []:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',)
sys.stdout.softspace = None:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',)
diff --git a/src/testdir/test87.in b/src/testdir/test87.in
index e75cd27..0db3a27 100644
--- a/src/testdir/test87.in
+++ b/src/testdir/test87.in
@@ -238,9 +238,18 @@
else:
cb.append(expr + ':' + repr((e.__class__, e)))
elif sys.version_info >= (3, 5) and e.__class__ is ValueError and str(e) == 'embedded null byte':
- msg = cb.append(expr + ':' + repr((TypeError, TypeError('expected bytes with no null'))))
+ cb.append(expr + ':' + repr((TypeError, TypeError('expected bytes with no null'))))
else:
- cb.append(expr + ':' + repr((e.__class__, e)))
+ msg = repr((e.__class__, e))
+ # Some Python versions say can't, others cannot.
+ if msg.find('can\'t') > -1:
+ msg = msg.replace('can\'t', 'cannot')
+ # Some Python versions use single quote, some double quote
+ if msg.find('"cannot ') > -1:
+ msg = msg.replace('"cannot ', '\'cannot ')
+ if msg.find(' attributes"') > -1:
+ msg = msg.replace(' attributes"', ' attributes\'')
+ cb.append(expr + ':' + msg)
else:
cb.append(expr + ':NOT FAILED')
except Exception as e:
diff --git a/src/testdir/test87.ok b/src/testdir/test87.ok
index 34e9279..d90ef86 100644
--- a/src/testdir/test87.ok
+++ b/src/testdir/test87.ok
@@ -628,7 +628,7 @@
test87.in
> Output
>> OutputSetattr
-del sys.stdout.softspace:(<class 'AttributeError'>, AttributeError("can't delete OutputObject attributes",))
+del sys.stdout.softspace:(<class 'AttributeError'>, AttributeError('cannot delete OutputObject attributes',))
>>> Testing NumberToLong using sys.stdout.softspace = %s
sys.stdout.softspace = []:(<class 'TypeError'>, TypeError('expected int() or something supporting coercing to int(), but got list',))
sys.stdout.softspace = None:(<class 'TypeError'>, TypeError('expected int() or something supporting coercing to int(), but got NoneType',))
diff --git a/src/version.c b/src/version.c
index 194a51a..14c49ed 100644
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2350,
+/**/
2349,
/**/
2348,