[Python-modules-commits] r34284 - in packages/pytest/trunk/debian (3 files)

barry at users.alioth.debian.org barry at users.alioth.debian.org
Tue Sep 15 21:08:06 UTC 2015


    Date: Tuesday, September 15, 2015 @ 21:08:05
  Author: barry
Revision: 34284

* Team upload.
* New upstream release.
* debian/patches/issue844-py35-compat: Removed, applied upstream.

Modified:
  packages/pytest/trunk/debian/changelog
  packages/pytest/trunk/debian/patches/series
Deleted:
  packages/pytest/trunk/debian/patches/issue744-py35-compat

Modified: packages/pytest/trunk/debian/changelog
===================================================================
--- packages/pytest/trunk/debian/changelog	2015-09-15 19:16:17 UTC (rev 34283)
+++ packages/pytest/trunk/debian/changelog	2015-09-15 21:08:05 UTC (rev 34284)
@@ -1,3 +1,11 @@
+pytest (2.7.3-1) UNRELEASED; urgency=medium
+
+  * Team upload.
+  * New upstream release.
+  * debian/patches/issue844-py35-compat: Removed, applied upstream.
+
+ -- Barry Warsaw <barry at debian.org>  Tue, 15 Sep 2015 16:30:49 -0400
+
 pytest (2.7.2-2) unstable; urgency=medium
 
   * Team upload.

Deleted: packages/pytest/trunk/debian/patches/issue744-py35-compat
===================================================================
--- packages/pytest/trunk/debian/patches/issue744-py35-compat	2015-09-15 19:16:17 UTC (rev 34283)
+++ packages/pytest/trunk/debian/patches/issue744-py35-compat	2015-09-15 21:08:05 UTC (rev 34284)
@@ -1,217 +0,0 @@
-Description: Fix Python 3.5 compatibility.
-Origin: https://github.com/pytest-dev/pytest/pull/801
-Bug: https://github.com/pytest-dev/pytest/issues/744
-Forwarded: not-needed
-
---- a/_pytest/assertion/newinterpret.py
-+++ b/_pytest/assertion/newinterpret.py
-@@ -33,6 +33,12 @@
-     def _is_ast_stmt(node):
-         return isinstance(node, ast.stmt)
- 
-+try:
-+    _Starred = ast.Starred
-+except AttributeError:
-+    # Python 2. Define a dummy class so isinstance() will always be False.
-+    class _Starred(object): pass
-+
- 
- class Failure(Exception):
-     """Error found while interpreting AST."""
-@@ -232,24 +238,38 @@
-         arguments = []
-         for arg in call.args:
-             arg_explanation, arg_result = self.visit(arg)
--            arg_name = "__exprinfo_%s" % (len(ns),)
--            ns[arg_name] = arg_result
--            arguments.append(arg_name)
--            arg_explanations.append(arg_explanation)
-+            if isinstance(arg, _Starred):
-+                arg_name = "__exprinfo_star"
-+                ns[arg_name] = arg_result
-+                arguments.append("*%s" % (arg_name,))
-+                arg_explanations.append("*%s" % (arg_explanation,))
-+            else:
-+                arg_name = "__exprinfo_%s" % (len(ns),)
-+                ns[arg_name] = arg_result
-+                arguments.append(arg_name)
-+                arg_explanations.append(arg_explanation)
-         for keyword in call.keywords:
-             arg_explanation, arg_result = self.visit(keyword.value)
--            arg_name = "__exprinfo_%s" % (len(ns),)
-+            if keyword.arg:
-+                arg_name = "__exprinfo_%s" % (len(ns),)
-+                keyword_source = "%s=%%s" % (keyword.arg)
-+                arguments.append(keyword_source % (arg_name,))
-+                arg_explanations.append(keyword_source % (arg_explanation,))
-+            else:
-+                arg_name = "__exprinfo_kwds"
-+                arguments.append("**%s" % (arg_name,))
-+                arg_explanations.append("**%s" % (arg_explanation,))
-+                
-             ns[arg_name] = arg_result
--            keyword_source = "%s=%%s" % (keyword.arg)
--            arguments.append(keyword_source % (arg_name,))
--            arg_explanations.append(keyword_source % (arg_explanation,))
--        if call.starargs:
-+
-+        if getattr(call, 'starargs', None):
-             arg_explanation, arg_result = self.visit(call.starargs)
-             arg_name = "__exprinfo_star"
-             ns[arg_name] = arg_result
-             arguments.append("*%s" % (arg_name,))
-             arg_explanations.append("*%s" % (arg_explanation,))
--        if call.kwargs:
-+            
-+        if getattr(call, 'kwargs', None):
-             arg_explanation, arg_result = self.visit(call.kwargs)
-             arg_name = "__exprinfo_kwds"
-             ns[arg_name] = arg_result
---- a/_pytest/assertion/rewrite.py
-+++ b/_pytest/assertion/rewrite.py
-@@ -35,6 +35,12 @@
- REWRITE_NEWLINES = sys.version_info[:2] != (2, 7) and sys.version_info < (3, 2)
- ASCII_IS_DEFAULT_ENCODING = sys.version_info[0] < 3
- 
-+if sys.version_info >= (3,5):
-+    ast_Call = ast.Call
-+else:
-+    ast_Call = lambda a,b,c: ast.Call(a, b, c, None, None)
-+
-+
- class AssertionRewritingHook(object):
-     """PEP302 Import hook which rewrites asserts."""
- 
-@@ -587,7 +593,7 @@
-         """Call a helper in this module."""
-         py_name = ast.Name("@pytest_ar", ast.Load())
-         attr = ast.Attribute(py_name, "_" + name, ast.Load())
--        return ast.Call(attr, list(args), [], None, None)
-+        return ast_Call(attr, list(args), [])
- 
-     def builtin(self, name):
-         """Return the builtin called *name*."""
-@@ -677,7 +683,7 @@
-         msg = self.pop_format_context(template)
-         fmt = self.helper("format_explanation", msg)
-         err_name = ast.Name("AssertionError", ast.Load())
--        exc = ast.Call(err_name, [fmt], [], None, None)
-+        exc = ast_Call(err_name, [fmt], [])
-         if sys.version_info[0] >= 3:
-             raise_ = ast.Raise(exc, None)
-         else:
-@@ -697,7 +703,7 @@
-     def visit_Name(self, name):
-         # Display the repr of the name if it's a local variable or
-         # _should_repr_global_name() thinks it's acceptable.
--        locs = ast.Call(self.builtin("locals"), [], [], None, None)
-+        locs = ast_Call(self.builtin("locals"), [], [])
-         inlocs = ast.Compare(ast.Str(name.id), [ast.In()], [locs])
-         dorepr = self.helper("should_repr_global_name", name)
-         test = ast.BoolOp(ast.Or(), [inlocs, dorepr])
-@@ -724,7 +730,7 @@
-             res, expl = self.visit(v)
-             body.append(ast.Assign([ast.Name(res_var, ast.Store())], res))
-             expl_format = self.pop_format_context(ast.Str(expl))
--            call = ast.Call(app, [expl_format], [], None, None)
-+            call = ast_Call(app, [expl_format], [])
-             self.on_failure.append(ast.Expr(call))
-             if i < levels:
-                 cond = res
-@@ -753,7 +759,42 @@
-         res = self.assign(ast.BinOp(left_expr, binop.op, right_expr))
-         return res, explanation
- 
--    def visit_Call(self, call):
-+    def visit_Call_35(self, call):
-+        """
-+        visit `ast.Call` nodes on Python3.5 and after
-+        """
-+        new_func, func_expl = self.visit(call.func)
-+        arg_expls = []
-+        new_args = []
-+        new_kwargs = []
-+        for arg in call.args:
-+            res, expl = self.visit(arg)
-+            arg_expls.append(expl)
-+            new_args.append(res)
-+        for keyword in call.keywords:
-+            res, expl = self.visit(keyword.value)
-+            new_kwargs.append(ast.keyword(keyword.arg, res))
-+            if keyword.arg:
-+                arg_expls.append(keyword.arg + "=" + expl)
-+            else: ## **args have `arg` keywords with an .arg of None
-+                arg_expls.append("**" + expl)
-+
-+        expl = "%s(%s)" % (func_expl, ', '.join(arg_expls))
-+        new_call = ast.Call(new_func, new_args, new_kwargs)
-+        res = self.assign(new_call)
-+        res_expl = self.explanation_param(self.display(res))
-+        outer_expl = "%s\n{%s = %s\n}" % (res_expl, res_expl, expl)
-+        return res, outer_expl
-+
-+    def visit_Starred(self, starred):
-+        # From Python 3.5, a Starred node can appear in a function call
-+        res, expl = self.visit(starred.value)
-+        return starred, '*' + expl
-+
-+    def visit_Call_legacy(self, call):
-+        """
-+        visit `ast.Call nodes on 3.4 and below`
-+        """
-         new_func, func_expl = self.visit(call.func)
-         arg_expls = []
-         new_args = []
-@@ -781,6 +822,15 @@
-         outer_expl = "%s\n{%s = %s\n}" % (res_expl, res_expl, expl)
-         return res, outer_expl
- 
-+    # ast.Call signature changed on 3.5,
-+    # conditionally change  which methods is named
-+    # visit_Call depending on Python version
-+    if sys.version_info >= (3, 5):
-+        visit_Call = visit_Call_35
-+    else:
-+        visit_Call = visit_Call_legacy
-+
-+
-     def visit_Attribute(self, attr):
-         if not isinstance(attr.ctx, ast.Load):
-             return self.generic_visit(attr)
---- a/_pytest/main.py
-+++ b/_pytest/main.py
-@@ -502,10 +502,12 @@
- class NoMatch(Exception):
-     """ raised if matching cannot locate a matching names. """
- 
-+class Interrupted(KeyboardInterrupt):
-+    """ signals an interrupted test run. """
-+    __module__ = 'builtins' # for py3
-+
- class Session(FSCollector):
--    class Interrupted(KeyboardInterrupt):
--        """ signals an interrupted test run. """
--        __module__ = 'builtins' # for py3
-+    Interrupted = Interrupted
- 
-     def __init__(self, config):
-         FSCollector.__init__(self, config.rootdir, parent=None,
---- a/tox.ini
-+++ b/tox.ini
-@@ -2,7 +2,7 @@
- minversion=2.0
- distshare={homedir}/.tox/distshare
- envlist=
--     flakes,py26,py27,py33,py34,pypy,
-+     flakes,py26,py27,py33,py34,py35,pypy,
-      {py27,py34}-{pexpect,xdist,trial},
-      py27-nobyte,doctesting,py27-cxfreeze
- 
-@@ -16,6 +16,7 @@
- commands= py.test --genscript=pytest1
- 
- [testenv:flakes]
-+basepython = python2.7
- deps = pytest-flakes>=0.2
- commands = py.test --flakes -m flakes _pytest testing
- 

Modified: packages/pytest/trunk/debian/patches/series
===================================================================
--- packages/pytest/trunk/debian/patches/series	2015-09-15 19:16:17 UTC (rev 34283)
+++ packages/pytest/trunk/debian/patches/series	2015-09-15 21:08:05 UTC (rev 34284)
@@ -1,4 +1,3 @@
 remove_google_js
 local-intersphinx
 remove-herokuapp-images
-issue744-py35-compat




More information about the Python-modules-commits mailing list