]> git-server-git.apps.pok.os.sepia.ceph.com Git - s3-tests.git/commitdiff
Add close to check for file sizes atomic-read
authorStephon Striplin <stephon.striplin@dreamhost.com>
Thu, 25 Aug 2011 22:02:58 +0000 (15:02 -0700)
committerStephon Striplin <stephon.striplin@dreamhost.com>
Thu, 25 Aug 2011 22:02:58 +0000 (15:02 -0700)
s3tests/functional/test_s3.py

index d88d090b62bc9470535ae105c57b8c38ca7d6dee..b0a3a34facf1ac27817157d6ea40a9663f50c700 100644 (file)
@@ -2076,9 +2076,8 @@ def test_stress_bucket_acls_changes():
         _test_bucket_acls_changes_persistent(bucket);
 
 class FakeFile(object):
-    def __init__(self, size, char='A', interrupt=None):
+    def __init__(self, char='A', interrupt=None):
         self.offset = 0
-        self.size = size
         self.char = char
         self.interrupt = interrupt
 
@@ -2089,6 +2088,10 @@ class FakeFile(object):
         return self.offset
 
 class FakeWriteFile(FakeFile):
+    def __init__(self, size, char='A', interrupt=None):
+        FakeFile.__init__(self, char, interrupt)
+        self.size = size
+
     def read(self, size=-1):
         if size < 0:
             size = self.size - self.offset
@@ -2103,12 +2106,15 @@ class FakeWriteFile(FakeFile):
 
 class FakeReadFile(FakeFile):
     def __init__(self, size, char='A', interrupt=None):
-        FakeFile.__init__(self, size, char, interrupt)
+        FakeFile.__init__(self, char, interrupt)
         self.interrupted = False
+        self.size = 0
+        self.expected_size = size
 
     def write(self, chars):
         eq(chars, self.char*len(chars))
         self.offset += len(chars)
+        self.size += len(chars)
 
         # Sneaky! do stuff on the second seek
         if not self.interrupted and self.interrupt != None \
@@ -2116,6 +2122,9 @@ class FakeReadFile(FakeFile):
             self.interrupt()
             self.interrupted = True
 
+    def close(self):
+        eq(self.size, self.expected_size)
+
 def _verify_atomic_key_data(key, size=-1, char=None):
     fp_verify = FakeFileVerifier(char)
     key.get_contents_to_file(fp_verify)
@@ -2137,6 +2146,7 @@ def _test_atomic_read(file_size):
 
     # read object while writing it to it
     key.get_contents_to_file(fp_a2)
+    fp_a2.close()
 
     _verify_atomic_key_data(key, file_size, 'B')