def test_persistence(tmpdir): # Test the memorized functions can be pickled and restored. memory = Memory(cachedir=tmpdir.strpath, verbose=0) g = memory.cache(f) output = g(1) h = pickle.loads(pickle.dumps(g)) output_dir, _ = h.get_output_dir(1) func_name = _get_func_fullname(f) assert output == _load_output(output_dir, func_name) memory2 = pickle.loads(pickle.dumps(memory)) assert memory.cachedir == memory2.cachedir # Smoke test that pickling a memory with cachedir=None works memory = Memory(cachedir=None, verbose=0) pickle.loads(pickle.dumps(memory)) g = memory.cache(f) gp = pickle.loads(pickle.dumps(g)) gp(1)
def test_persistence(): # Test the memorized functions can be pickled and restored. memory = Memory(cachedir=env['dir'], verbose=0) g = memory.cache(f) output = g(1) h = pickle.loads(pickle.dumps(g)) output_dir, _ = h.get_output_dir(1) func_name = _get_func_fullname(f) yield nose.tools.assert_equal, output, _load_output(output_dir, func_name) memory2 = pickle.loads(pickle.dumps(memory)) yield nose.tools.assert_equal, memory.cachedir, memory2.cachedir # Smoke test that pickling a memory with cachedir=None works memory = Memory(cachedir=None, verbose=0) pickle.loads(pickle.dumps(memory)) g = memory.cache(f) gp = pickle.loads(pickle.dumps(g)) gp(1)