/home/bruno/onionlib/onionizer/onionizer/onionizer.py

Killed 41 out of 52 mutants

Survived

Survived mutation testing. These mutants show holes in your test suite.

Mutant 1

--- /home/bruno/onionlib/onionizer/onionizer/onionizer.py
+++ /home/bruno/onionlib/onionizer/onionizer/onionizer.py
@@ -8,7 +8,7 @@
 
 OnionGenerator = Generator[Any, T, T]  # pragma: no mutate
 
-UNCHANGED = 1
+UNCHANGED = 2
 
 __all__ = [
     "wrap_around",

Mutant 2

--- /home/bruno/onionlib/onionizer/onionizer/onionizer.py
+++ /home/bruno/onionlib/onionizer/onionizer/onionizer.py
@@ -8,7 +8,7 @@
 
 OnionGenerator = Generator[Any, T, T]  # pragma: no mutate
 
-UNCHANGED = 1
+UNCHANGED = None
 
 __all__ = [
     "wrap_around",

Mutant 15

--- /home/bruno/onionlib/onionizer/onionizer/onionizer.py
+++ /home/bruno/onionlib/onionizer/onionizer/onionizer.py
@@ -104,7 +104,7 @@
             for middleware in middlewares:
                 if hasattr(middleware, "__enter__") and hasattr(middleware, "__exit__"):
                     stack.enter_context(middleware)
-                    continue
+                    break
                 coroutine = arguments.call_function(middleware)
                 coroutines.append(coroutine)
                 try:

Mutant 22

--- /home/bruno/onionlib/onionizer/onionizer/onionizer.py
+++ /home/bruno/onionlib/onionizer/onionizer/onionizer.py
@@ -125,7 +125,7 @@
 
 def _check_validity(func, middlewares, sigcheck):
     if not callable(func):
-        raise TypeError("func must be callable")
+        raise TypeError("XXfunc must be callableXX")
     if not isinstance(middlewares, Iterable):
         raise TypeError("middlewares must be a list of coroutines")
     if sigcheck:

Mutant 24

--- /home/bruno/onionlib/onionizer/onionizer/onionizer.py
+++ /home/bruno/onionlib/onionizer/onionizer/onionizer.py
@@ -127,7 +127,7 @@
     if not callable(func):
         raise TypeError("func must be callable")
     if not isinstance(middlewares, Iterable):
-        raise TypeError("middlewares must be a list of coroutines")
+        raise TypeError("XXmiddlewares must be a list of coroutinesXX")
     if sigcheck:
         _inspect_signatures(func, middlewares)
 

Mutant 36

--- /home/bruno/onionlib/onionizer/onionizer/onionizer.py
+++ /home/bruno/onionlib/onionizer/onionizer/onionizer.py
@@ -149,7 +149,7 @@
 
 
 def contextmanager(manager):
-    @functools.wraps(manager)
+
     def wrapped(*args, **kwargs):
         with manager():
             output = yield UNCHANGED

Mutant 37

--- /home/bruno/onionlib/onionizer/onionizer/onionizer.py
+++ /home/bruno/onionlib/onionizer/onionizer/onionizer.py
@@ -152,7 +152,7 @@
     @functools.wraps(manager)
     def wrapped(*args, **kwargs):
         with manager():
-            output = yield UNCHANGED
+            output = None
             return output
 
     return wrapped

Mutant 45

--- /home/bruno/onionlib/onionizer/onionizer/onionizer.py
+++ /home/bruno/onionlib/onionizer/onionizer/onionizer.py
@@ -195,7 +195,7 @@
         return arguments
     if len(arguments) != 2:
         raise TypeError(
-            "arguments must be a tuple of length 2, maybe use onionizer.PositionalArgs or onionizer.MixedArgs instead"
+            "XXarguments must be a tuple of length 2, maybe use onionizer.PositionalArgs or onionizer.MixedArgs insteadXX"
         )
     args, kwargs = arguments
     return MixedArgs(args, kwargs)

Mutant 49

--- /home/bruno/onionlib/onionizer/onionizer/onionizer.py
+++ /home/bruno/onionlib/onionizer/onionizer/onionizer.py
@@ -211,7 +211,7 @@
 
 
 def postprocessor(func):
-    @functools.wraps(func)
+
     def wrapper(*args, **kwargs) -> OnionGenerator:
         output = yield UNCHANGED
         return func(output)

Mutant 51

--- /home/bruno/onionlib/onionizer/onionizer/onionizer.py
+++ /home/bruno/onionlib/onionizer/onionizer/onionizer.py
@@ -216,6 +216,6 @@
         output = yield UNCHANGED
         return func(output)
 
-    wrapper.ignore_signature_check = True
+    wrapper.ignore_signature_check = False
     return wrapper
 

Mutant 52

--- /home/bruno/onionlib/onionizer/onionizer/onionizer.py
+++ /home/bruno/onionlib/onionizer/onionizer/onionizer.py
@@ -216,6 +216,6 @@
         output = yield UNCHANGED
         return func(output)
 
-    wrapper.ignore_signature_check = True
+    wrapper.ignore_signature_check = None
     return wrapper