X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/b1781295959566608326b69440d8d3ae8e4da4ee..b70c66d296babe5925e853ae2a5e6cfc2f250c0d:/services/fuse/tests/test_mount.py diff --git a/services/fuse/tests/test_mount.py b/services/fuse/tests/test_mount.py index b91b1410f2..05c8685607 100644 --- a/services/fuse/tests/test_mount.py +++ b/services/fuse/tests/test_mount.py @@ -427,12 +427,16 @@ class FuseWriteFileTest(MountTestBase): self.assertNotIn("file1.txt", collection) + self.assertEqual(0, self.operations.write_counter.get()) self.pool.apply(fuseWriteFileTestHelperWriteFile, (self.mounttmp,)) + self.assertEqual(12, self.operations.write_counter.get()) with collection.open("file1.txt") as f: self.assertEqual(f.read(), "Hello world!") + self.assertEqual(0, self.operations.read_counter.get()) self.pool.apply(fuseWriteFileTestHelperReadFile, (self.mounttmp,)) + self.assertEqual(12, self.operations.read_counter.get()) collection2 = self.api.collections().get(uuid=collection.manifest_locator()).execute() self.assertRegexpMatches(collection2["manifest_text"], @@ -699,7 +703,7 @@ class FuseUpdateFromEventTest(MountTestBase): with llfuse.lock: m.new_collection(collection.api_response(), collection) - self.operations.listen_for_events(self.api) + self.operations.listen_for_events() d1 = llfuse.listdir(os.path.join(self.mounttmp)) self.assertEqual([], sorted(d1)) @@ -1076,8 +1080,11 @@ class FuseMagicTestPDHOnly(MountTestBase): created = self.api.collections().create(body={"manifest_text":self.test_manifest}).execute() self.testcollectionuuid = str(created['uuid']) - def runTest(self): - self.make_mount(fuse.MagicDirectory, pdh_only=True) + def verify_pdh_only(self, pdh_only=False, skip_pdh_only=False): + if skip_pdh_only is True: + self.make_mount(fuse.MagicDirectory) # in this case, the default by_id applies + else: + self.make_mount(fuse.MagicDirectory, pdh_only=pdh_only) mount_ls = llfuse.listdir(self.mounttmp) self.assertIn('README', mount_ls) @@ -1086,7 +1093,7 @@ class FuseMagicTestPDHOnly(MountTestBase): for fn in mount_ls), "new FUSE MagicDirectory lists Collection") - # look up using pdh should succeed + # look up using pdh should succeed in all cases self.assertDirContents(self.testcollection, ['thing1.txt']) self.assertDirContents(os.path.join('by_id', self.testcollection), ['thing1.txt']) @@ -1103,7 +1110,20 @@ class FuseMagicTestPDHOnly(MountTestBase): with open(os.path.join(self.mounttmp, k)) as f: self.assertEqual(v, f.read()) - # look up using uuid should fail - with self.assertRaises(OSError): + # look up using uuid should fail when pdh_only is set + if pdh_only is True: + with self.assertRaises(OSError): + self.assertDirContents(os.path.join('by_id', self.testcollectionuuid), + ['thing1.txt']) + else: self.assertDirContents(os.path.join('by_id', self.testcollectionuuid), ['thing1.txt']) + + def test_with_pdh_only_true(self): + self.verify_pdh_only(pdh_only=True) + + def test_with_pdh_only_false(self): + self.verify_pdh_only(pdh_only=False) + + def test_with_default_by_id(self): + self.verify_pdh_only(skip_pdh_only=True)