From 0db15a2bd71e6893fadc91d262fa3fb2ead47ade Mon Sep 17 00:00:00 2001 From: Kjell Braden Date: Tue, 24 Mar 2020 19:31:57 +0100 Subject: [PATCH] handle decorators for AsyncFunctionDefs. Closes #964 --- coverage/parser.py | 2 ++ tests/test_arcs.py | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/coverage/parser.py b/coverage/parser.py index f0d378c6b..70be0230d 100644 --- a/coverage/parser.py +++ b/coverage/parser.py @@ -611,6 +611,8 @@ def _line__Dict(self, node): _line__FunctionDef = _line_decorated + _line__AsyncFunctionDef = _line_decorated + def _line__List(self, node): if node.elts: return self.line_for_node(node.elts[0]) diff --git a/tests/test_arcs.py b/tests/test_arcs.py index bf17f7123..a02e9f7d1 100644 --- a/tests/test_arcs.py +++ b/tests/test_arcs.py @@ -1557,6 +1557,23 @@ async def go(): arcz_missing=".2 23 3.", ) + def test_async_decorator(self): + if env.PYBEHAVIOR.trace_decorated_def: + arcz = ".1 14 45 5. .2 2. -46 6-4" + else: + arcz = ".1 14 4. .2 2. -46 6-4" + self.check_coverage("""\ + def wrap(f): # 1 + return f + + @wrap # 4 + async def go(): + return + """, + arcz=arcz, + arcz_missing='-46 6-4', + ) + class ExcludeTest(CoverageTest): """Tests of exclusions to indicate known partial branches."""