updated for version 7.3.1173
Problem: Python 2 tests don't have the same output everywhere.
Solution: Make the Python 2 tests more portable. (ZyX)
diff --git a/src/testdir/test86.in b/src/testdir/test86.in
index e22ae31..a46a70a 100644
--- a/src/testdir/test86.in
+++ b/src/testdir/test86.in
@@ -45,9 +45,10 @@
dk = d.keys()
dv = d.values()
di = d.items()
-dk.sort(key=repr)
-dv.sort(key=repr)
-di.sort(key=repr)
+cmpfun = lambda a, b: cmp(repr(a), repr(b))
+dk.sort(cmpfun)
+dv.sort(cmpfun)
+di.sort(cmpfun)
EOF
:$put =pyeval('d[''f''](self={})')
:$put =pyeval('repr(dk)')
@@ -813,7 +814,17 @@
try:
exec(expr, g, l)
except:
- cb.append(expr + ':' + repr(sys.exc_info()[:2]))
+ ei = sys.exc_info()
+ msg = sys.exc_info()[0].__name__ + ':' + repr(sys.exc_info()[1].args)
+ msg = msg.replace('TypeError:(\'argument 1 ', 'TypeError:(\'')
+ if expr.find('None') > -1:
+ msg = msg.replace('TypeError:(\'iteration over non-sequence\',)',
+ 'TypeError:("\'NoneType\' object is not iterable",)')
+ if expr == 'fd(self=[])':
+ # HACK: PyMapping_Check changed meaning
+ msg = msg.replace('AttributeError:(\'keys\',)',
+ 'TypeError:(\'unable to convert object to vim dictionary\',)')
+ cb.append(expr + ':' + msg)
else:
cb.append(expr + ':NOT FAILED')
d = vim.Dictionary()