X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/5d709747ad9336bde786373fe314c128afd50782..ebb2559b3a09636ff687316bbe512e0e8a86b168:/sdk/python/tests/test_collections.py diff --git a/sdk/python/tests/test_collections.py b/sdk/python/tests/test_collections.py index cf8f23e375..0e3d5e13f1 100644 --- a/sdk/python/tests/test_collections.py +++ b/sdk/python/tests/test_collections.py @@ -861,6 +861,8 @@ class NewCollectionTestCase(unittest.TestCase, CollectionTestMixin): c.find("/.") with self.assertRaises(arvados.errors.ArgumentError): c.find("") + self.assertIs(c.find("./nonexistant.txt"), None) + self.assertIs(c.find("./nonexistantsubdir/nonexistant.txt"), None) def test_remove_in_subdir(self): c = Collection('. 781e5e245d69b566979b86e28d23f2c7+10 0:10:count1.txt\n./foo 781e5e245d69b566979b86e28d23f2c7+10 0:10:count2.txt\n') @@ -1089,6 +1091,7 @@ class NewCollectionTestCaseWithServers(run_test_server.TestCaseWithServers): # One file committed with c.open("foo.txt", "w") as foo: foo.write("foo") + foo.flush() # Force block commit f.write("0123456789") # Other file not committed. Block not written to keep yet. self.assertEqual( @@ -1097,7 +1100,8 @@ class NewCollectionTestCaseWithServers(run_test_server.TestCaseWithServers): normalize=False, only_committed=True), '. acbd18db4cc2f85cedef654fccc4a4d8+3 0:0:count.txt 0:3:foo.txt\n') - # And now with the file closed... + # And now with the file closed... + f.flush() # Force block commit self.assertEqual( c._get_manifest_text(".", strip=False, @@ -1105,6 +1109,23 @@ class NewCollectionTestCaseWithServers(run_test_server.TestCaseWithServers): only_committed=True), ". 781e5e245d69b566979b86e28d23f2c7+10 acbd18db4cc2f85cedef654fccc4a4d8+3 0:10:count.txt 10:3:foo.txt\n") + def test_only_small_blocks_are_packed_together(self): + c = Collection() + # Write a couple of small files, + f = c.open("count.txt", "w") + f.write("0123456789") + f.close(flush=False) + foo = c.open("foo.txt", "w") + foo.write("foo") + foo.close(flush=False) + # Then, write a big file, it shouldn't be packed with the ones above + big = c.open("bigfile.txt", "w") + big.write("x" * 1024 * 1024 * 33) # 33 MB > KEEP_BLOCK_SIZE/2 + big.close(flush=False) + self.assertEqual( + c.manifest_text("."), + '. 2d303c138c118af809f39319e5d507e9+34603008 a8430a058b8fbf408e1931b794dbd6fb+13 0:34603008:bigfile.txt 34603008:10:count.txt 34603018:3:foo.txt\n') + class CollectionCreateUpdateTest(run_test_server.TestCaseWithServers): MAIN_SERVER = {}