Skip to content

Commit c09c0f3

Browse files
committed
Fix for generator mutation
1 parent 0ba1c7c commit c09c0f3

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

mutmut/__main__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ def build_trampoline(*, orig_name, mutants, class_name, is_generator):
314314
access_suffix = '")'
315315

316316
if is_generator:
317-
yield_statement = 'yield from'
317+
yield_statement = 'yield from ' # note the space at the end!
318318
trampoline_name = '_mutmut_yield_from_trampoline'
319319
else:
320320
yield_statement = ''
@@ -324,7 +324,7 @@ def build_trampoline(*, orig_name, mutants, class_name, is_generator):
324324
{mutants_dict}
325325
326326
def {orig_name}({'self, ' if class_name is not None else ''}*args, **kwargs):
327-
result = {yield_statement} {trampoline_name}({access_prefix}{mangled_name}__mutmut_orig{access_suffix}, {access_prefix}{mangled_name}__mutmut_mutants{access_suffix}, *args, **kwargs)
327+
result = {yield_statement}{trampoline_name}({access_prefix}{mangled_name}__mutmut_orig{access_suffix}, {access_prefix}{mangled_name}__mutmut_mutants{access_suffix}, *args, **kwargs)
328328
return result
329329
330330
{orig_name}.__signature__ = _mutmut_signature({mangled_name}__mutmut_orig)

tests/test_mutmut3.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ def x_foo__mutmut_2(a, b, c):
3434
}
3535
3636
def foo(*args, **kwargs):
37-
return _mutmut_trampoline(x_foo__mutmut_orig, x_foo__mutmut_mutants, *args, **kwargs)
37+
result = _mutmut_trampoline(x_foo__mutmut_orig, x_foo__mutmut_mutants, *args, **kwargs)
38+
return result
3839
3940
foo.__signature__ = _mutmut_signature(x_foo__mutmut_orig)
4041
x_foo__mutmut_orig.__name__ = 'x_foo'
@@ -67,7 +68,8 @@ def x_foo__mutmut_1(a: List[int]) -> int:
6768
}
6869
6970
def foo(*args, **kwargs):
70-
return _mutmut_trampoline(x_foo__mutmut_orig, x_foo__mutmut_mutants, *args, **kwargs)
71+
result = _mutmut_trampoline(x_foo__mutmut_orig, x_foo__mutmut_mutants, *args, **kwargs)
72+
return result
7173
7274
foo.__signature__ = _mutmut_signature(x_foo__mutmut_orig)
7375
x_foo__mutmut_orig.__name__ = 'x_foo'

0 commit comments

Comments
 (0)