Commit 8952ab85 by willmcgugan

Added tests for multifs priority

parent 7b9bbbb4
...@@ -844,9 +844,7 @@ class FSTestCases(object): ...@@ -844,9 +844,7 @@ class FSTestCases(object):
# May be disabled - see end of file # May be disabled - see end of file
class ThreadingTestCases(object): class ThreadingTestCases(object):
"""Testcases for thread-safety of FS implementations.""" """Testcases for thread-safety of FS implementations."""
# These are either too slow to be worth repeating, # These are either too slow to be worth repeating,
# or cannot possibly break cross-thread. # or cannot possibly break cross-thread.
_dont_retest = ("test_pickling","test_multiple_overwrite",) _dont_retest = ("test_pickling","test_multiple_overwrite",)
......
...@@ -29,4 +29,55 @@ class TestMultiFS(unittest.TestCase): ...@@ -29,4 +29,55 @@ class TestMultiFS(unittest.TestCase):
multi_fs.close() multi_fs.close()
self.assert_(not m1.closed) self.assert_(not m1.closed)
self.assert_(not m2.closed) self.assert_(not m2.closed)
def test_priority(self):
"""Test priority order is working"""
m1 = MemoryFS()
m2 = MemoryFS()
m3 = MemoryFS()
m1.setcontents("name", "m1")
m2.setcontents("name", "m2")
m3.setcontents("name", "m3")
multi_fs = MultiFS(auto_close=False)
multi_fs.addfs("m1", m1)
multi_fs.addfs("m2", m2)
multi_fs.addfs("m3", m3)
self.assert_(multi_fs.getcontents("name") == "m3")
m1 = MemoryFS()
m2 = MemoryFS()
m3 = MemoryFS()
m1.setcontents("name", "m1")
m2.setcontents("name", "m2")
m3.setcontents("name", "m3")
multi_fs = MultiFS(auto_close=False)
multi_fs.addfs("m1", m1)
multi_fs.addfs("m2", m2, priority=10)
multi_fs.addfs("m3", m3)
self.assert_(multi_fs.getcontents("name") == "m2")
m1 = MemoryFS()
m2 = MemoryFS()
m3 = MemoryFS()
m1.setcontents("name", "m1")
m2.setcontents("name", "m2")
m3.setcontents("name", "m3")
multi_fs = MultiFS(auto_close=False)
multi_fs.addfs("m1", m1)
multi_fs.addfs("m2", m2, priority=10)
multi_fs.addfs("m3", m3, priority=10)
self.assert_(multi_fs.getcontents("name") == "m3")
m1 = MemoryFS()
m2 = MemoryFS()
m3 = MemoryFS()
m1.setcontents("name", "m1")
m2.setcontents("name", "m2")
m3.setcontents("name", "m3")
multi_fs = MultiFS(auto_close=False)
multi_fs.addfs("m1", m1, priority=11)
multi_fs.addfs("m2", m2, priority=10)
multi_fs.addfs("m3", m3, priority=10)
self.assert_(multi_fs.getcontents("name") == "m1")
\ No newline at end of file
...@@ -17,8 +17,8 @@ from six import PY3 ...@@ -17,8 +17,8 @@ from six import PY3
try: try:
from fs import s3fs from fs import s3fs
except ImportError: except ImportError:
if not PY3: raise unittest.SkipTest("s3fs wasn't importable")
raise
class TestS3FS(unittest.TestCase,FSTestCases,ThreadingTestCases): class TestS3FS(unittest.TestCase,FSTestCases,ThreadingTestCases):
...@@ -27,7 +27,7 @@ class TestS3FS(unittest.TestCase,FSTestCases,ThreadingTestCases): ...@@ -27,7 +27,7 @@ class TestS3FS(unittest.TestCase,FSTestCases,ThreadingTestCases):
bucket = "test-s3fs.rfk.id.au" bucket = "test-s3fs.rfk.id.au"
def setUp(self): def setUp(self):
self.fs = s3fs.S3FS(self.bucket) self.fs = s3fs.S3FS(self.bucket)
for k in self.fs._s3bukt.list(): for k in self.fs._s3bukt.list():
self.fs._s3bukt.delete_key(k) self.fs._s3bukt.delete_key(k)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment