Passed
Pull Request — master (#3)
by Guibert
49s
created

tests.test_utils_run   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 25
Duplicated Lines 68 %

Importance

Changes 0
Metric Value
wmc 3
eloc 18
dl 17
loc 25
rs 10
c 0
b 0
f 0

1 Function

Rating   Name   Duplication   Size   Complexity  
A test_run_curio() 17 17 3

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
from contextvars import ContextVar
2
3
from curio import Kernel, run as _curio_run
4
5
from async_btree import run
6
7
8 View Code Duplication
def test_run_curio():
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
9
    counter = ContextVar("counter", default=5)
10
11
    async def reset_counter():
12
        if counter.get() == 5:
13
            counter.set(0)
14
            return 0
15
        return -1
16
17
    with Kernel() as kernel:
18
        assert run(kernel, reset_counter) == 0
19
        assert run(kernel, reset_counter) == 0
20
        assert counter.get() == 5
21
22
    assert _curio_run(reset_counter) == 0
23
    assert _curio_run(reset_counter) == -1
24
    assert counter.get() == 0
25