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()
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)
def run_before_test(): enable_fast_trace(True) yield # Reset the global state after every test with warnings.catch_warnings(): warnings.simplefilter("ignore") purge()
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()
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())
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_)
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()