def test_error_handling(self): temp = filecache._log_error try: passed_test = [False] def mock_logger(*args, **kwargs): passed_test[0] = True filecache._log_error = mock_logger def popper(): return 'arbitrary obj here' # put anything in _db that you know will break filecache popper._db = 123 popper = filecache.filecache(0.1, fail_silently=True)(popper) first = popper() self.assertTrue(passed_test[0]) finally: filecache._log_error = temp
#!/usr/bin/python import filecache import os import stat, time def test( condition, name ): if condition: print name + " suceeded." else: print name + " failed." cache = filecache.filecache( '' ) cache.resize( 1 ) # 1 MB cache # Read cache test 1 print "Cache resides at '%s'" % cache.location() file = "/u/mnm/escher1.jpg" cachedFile1 = cache.cacheFile( file ) test( file != cachedFile1, "Read cache test 1" ) # Do not release file # Read cache test 2 cachedFile2 = cache.cacheFile( file ) # Try to cache again test( file != cachedFile2, "Read cache test 2" ) cache.releaseFile( cachedFile1 ) # Unregister the file in the cache # Read cache test 3