Index: chrome/common/extensions/docs/server2/caching_file_system_test.py |
diff --git a/chrome/common/extensions/docs/server2/caching_file_system_test.py b/chrome/common/extensions/docs/server2/caching_file_system_test.py |
index ea27048c63a45b69a2ee3e74702d418ea0087df0..e66732d5fe8a955a1d1a662ce6daf22cb516acef 100755 |
--- a/chrome/common/extensions/docs/server2/caching_file_system_test.py |
+++ b/chrome/common/extensions/docs/server2/caching_file_system_test.py |
@@ -9,7 +9,7 @@ import unittest |
from caching_file_system import CachingFileSystem |
from extensions_paths import SERVER2 |
-from file_system import StatInfo |
+from file_system import FileNotFoundError, StatInfo |
from local_file_system import LocalFileSystem |
from mock_file_system import MockFileSystem |
from object_store_creator import ObjectStoreCreator |
@@ -159,6 +159,21 @@ class CachingFileSystemTest(unittest.TestCase): |
file_system.ReadSingle('bob/bob0').Get()) |
self.assertTrue(*mock_fs.CheckAndReset()) |
+ file_system = create_empty_caching_fs() |
+ future = file_system.ReadSingle('bob/no_file', skip_not_found=True) |
+ self.assertTrue(*mock_fs.CheckAndReset(read_count=1)) |
+ self.assertEqual(None, future.Get()) |
+ self.assertTrue(*mock_fs.CheckAndReset(read_resolve_count=1, stat_count=1)) |
+ future = file_system.ReadSingle('bob/no_file', skip_not_found=True) |
+ # There shouldn't be another read/stat from the file system; |
+ # we know the file is not there. |
+ self.assertTrue(*mock_fs.CheckAndReset()) |
+ future = file_system.ReadSingle('bob/no_file') |
+ # Even though we cached information about non-existent files, |
+ # trying to read one without specifiying skip_not_found should |
+ # still raise an error. |
+ self.assertRaises(FileNotFoundError, future.Get) |
not at google - send to devlin
2014/08/26 20:59:34
Nice tests. Is it possible to extend the test to c
ahernandez
2014/08/27 18:54:38
I'm not sure I can do that, because Stat updates a
not at google - send to devlin
2014/08/27 19:22:13
Isn't this line 107 kinda?
ahernandez
2014/08/27 19:29:00
That does increment the stat, but the stat_cache d
not at google - send to devlin
2014/08/27 19:32:49
Ah yes I think you're right, those tests are ... p
|
+ |
def testCachedStat(self): |
test_fs = TestFileSystem({ |
'bob': { |
@@ -219,20 +234,20 @@ class CachingFileSystemTest(unittest.TestCase): |
test_fs.IncrementStat() |
run_expecting_stat('1') |
- def testSkipNotFound(self): |
- caching_fs = self._CreateCachingFileSystem(TestFileSystem({ |
- 'bob': { |
- 'bob0': 'bob/bob0 contents', |
- 'bob1': 'bob/bob1 contents' |
- } |
- })) |
- def read_skip_not_found(paths): |
- return caching_fs.Read(paths, skip_not_found=True).Get() |
- self.assertEqual({}, read_skip_not_found(('grub',))) |
- self.assertEqual({}, read_skip_not_found(('bob/bob2',))) |
- self.assertEqual({ |
- 'bob/bob0': 'bob/bob0 contents', |
- }, read_skip_not_found(('bob/bob0', 'bob/bob2'))) |
+ def testSkipNotFound(self): |
ahernandez
2014/08/26 20:08:37
This test wasn't even running before because of im
not at google - send to devlin
2014/08/26 20:59:34
Oh man :\ good catch.
|
+ caching_fs = self._CreateCachingFileSystem(TestFileSystem({ |
+ 'bob': { |
+ 'bob0': 'bob/bob0 contents', |
+ 'bob1': 'bob/bob1 contents' |
+ } |
+ })) |
+ def read_skip_not_found(paths): |
+ return caching_fs.Read(paths, skip_not_found=True).Get() |
+ self.assertEqual({}, read_skip_not_found(('grub',))) |
+ self.assertEqual({}, read_skip_not_found(('bob/bob2',))) |
+ self.assertEqual({ |
+ 'bob/bob0': 'bob/bob0 contents', |
+ }, read_skip_not_found(('bob/bob0', 'bob/bob2'))) |
if __name__ == '__main__': |