Commit 8952ab85 by willmcgugan

Added tests for multifs priority

parent 7b9bbbb4
......@@ -845,8 +845,6 @@ class FSTestCases(object):
class ThreadingTestCases(object):
"""Testcases for thread-safety of FS implementations."""
# These are either too slow to be worth repeating,
# or cannot possibly break cross-thread.
_dont_retest = ("test_pickling","test_multiple_overwrite",)
......
......@@ -30,3 +30,54 @@ class TestMultiFS(unittest.TestCase):
self.assert_(not m1.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
try:
from fs import s3fs
except ImportError:
if not PY3:
raise
raise unittest.SkipTest("s3fs wasn't importable")
class TestS3FS(unittest.TestCase,FSTestCases,ThreadingTestCases):
......
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