Пример #1
0
def test_decoder_cache_remove_orphans(tmpdir):
    cache_dir = str(tmpdir)
    cache = DecoderCache(cache_dir=cache_dir)
    assert os.listdir(cache_dir) == []

    # Create some files; one matching pair, two mismatches, and a random
    def touch(fname):
        path = os.path.join(cache_dir, fname)
        with open(path, 'w'):
            os.utime(path, None)
    files = ['a.npy', 'a.pkl', 'b.npy', 'c.pkl', 'rando.txt']
    for f in files:
        touch(f)
    assert sorted(os.listdir(cache_dir)) == files

    cache.remove_orphans()
    # This should do
    files.remove('b.npy')
    files.remove('c.pkl')
    assert sorted(os.listdir(cache_dir)) == files