Esempio n. 1
0
def test_config__unused_arg():
    """Test `config.purge` warns if a func argument configuration isn't used."""
    add({sorted: Args(reverse=False, key=None)})
    sorted([], reverse=get())
    message = "^These configurations were not used:\nsorted#key$"
    with pytest.warns(UnusedConfigsWarning, match=message):
        purge()
Esempio n. 2
0
def test_config__export():
    """Test `config` pickle the exported config."""
    add({_dec_func: Args(start=1), enumerate: Args(start=1)})
    assert hasattr(_dec_func.__wrapped__, _orginal_key)
    pickle.dumps(export())
    with pytest.warns(UnusedConfigsWarning):
        purge()
    assert not hasattr(_dec_func.__wrapped__, _orginal_key)
Esempio n. 3
0
def run_before_test():
    enable_fast_trace(True)

    yield

    # Reset the global state after every test
    with warnings.catch_warnings():
        warnings.simplefilter("ignore")
        purge()
Esempio n. 4
0
def test_trace():
    """Test `config.trace` can handle a basic case."""
    add({_func: Args(a=1)})
    with pytest.warns(DiffArgsWarning):
        _func()

    with warnings.catch_warnings():
        warnings.simplefilter("error")
        _func(a=get())
        purge()
        _func()
Esempio n. 5
0
def test_config():
    """Test `config` operations can handle the basic case."""
    config = {enumerate: Args(start=1)}
    assert export() == {}
    add(config)
    result = list(enumerate(range(3), start=get()))
    assert result == [(1, 0), (2, 1), (3, 2)]
    result = list(enumerate(range(3), **get()))
    assert result == [(1, 0), (2, 1), (3, 2)]
    assert export() == config
    purge()
    assert export() == {}
    with pytest.raises(KeyError):
        enumerate(range(3), start=get())
Esempio n. 6
0
def test_trace__sys():
    """Test `config.trace` can handle a basic case using sys."""
    enable_fast_trace(False)
    trace_ = sys.gettrace()
    sys.settrace(trace)

    add({_func: Args(a=1)})
    with pytest.warns(DiffArgsWarning):
        _func()

    with warnings.catch_warnings():
        warnings.simplefilter("error")
        _func(a=get())
        purge()
        _func()

    sys.settrace(trace_)
Esempio n. 7
0
def test_config__unused_func():
    """Test `config.purge` warns if a func configuration isn't used."""
    add({enumerate: Args(start=1)})
    message = "^These configurations were not used:\nenumerate#start$"
    with pytest.warns(UnusedConfigsWarning, match=message):
        purge()