@@ -4165,6 +4165,25 @@ def setUp(self):
41654165 self .filesystem = fake_filesystem .FakeFilesystem (path_separator = '!' , total_size = 100 )
41664166 self .os = fake_filesystem .FakeOsModule (self .filesystem )
41674167
4168+ def testDiskUsageOnFileCreation (self ):
4169+ fake_open = fake_filesystem .FakeFileOpen (self .filesystem )
4170+
4171+ total_size = 100
4172+ self .filesystem .AddMountPoint ('mount' , total_size )
4173+ def create_too_large_file ():
4174+ with fake_open ('!mount!file' , 'w' ) as dest :
4175+ dest .write ('a' * (total_size + 1 ))
4176+
4177+ self .assertRaises ((OSError , IOError ), create_too_large_file )
4178+
4179+ self .assertEqual (0 , self .filesystem .GetDiskUsage ('!mount' ).used )
4180+
4181+ with fake_open ('!mount!file' , 'w' ) as dest :
4182+ dest .write ('a' * total_size )
4183+
4184+ self .assertEqual (total_size , self .filesystem .GetDiskUsage ('!mount' ).used )
4185+
4186+
41684187 def testFileSystemSizeAfterLargeFileCreation (self ):
41694188 filesystem = fake_filesystem .FakeFilesystem (path_separator = '!' ,
41704189 total_size = 1024 * 1024 * 1024 * 100 )
@@ -4203,29 +4222,45 @@ def testFileSystemSizeAfterDirectoryRemoval(self):
42034222 self .assertEqual ((100 , 40 , 60 ), self .filesystem .GetDiskUsage ())
42044223
42054224 def testCreatingFileWithFittingContent (self ):
4225+ initial_usage = self .filesystem .GetDiskUsage ()
4226+
42064227 try :
42074228 self .filesystem .CreateFile ('!foo!bar' , contents = b'a' * 100 )
42084229 except IOError :
42094230 self .fail ('File with contents fitting into disk space could not be written.' )
42104231
4232+ self .assertEqual (initial_usage .used + 100 , self .filesystem .GetDiskUsage ().used )
4233+
42114234 def testCreatingFileWithContentTooLarge (self ):
42124235 def create_large_file ():
42134236 self .filesystem .CreateFile ('!foo!bar' , contents = b'a' * 101 )
42144237
4238+ initial_usage = self .filesystem .GetDiskUsage ()
4239+
42154240 self .assertRaises (IOError , create_large_file )
42164241
4242+ self .assertEqual (initial_usage , self .filesystem .GetDiskUsage ())
4243+
42174244 def testCreatingFileWithFittingSize (self ):
4245+ initial_usage = self .filesystem .GetDiskUsage ()
4246+
42184247 try :
42194248 self .filesystem .CreateFile ('!foo!bar' , st_size = 100 )
42204249 except IOError :
42214250 self .fail ('File with size fitting into disk space could not be written.' )
42224251
4252+ self .assertEqual (initial_usage .used + 100 , self .filesystem .GetDiskUsage ().used )
4253+
42234254 def testCreatingFileWithSizeTooLarge (self ):
4255+ initial_usage = self .filesystem .GetDiskUsage ()
4256+
42244257 def create_large_file ():
42254258 self .filesystem .CreateFile ('!foo!bar' , st_size = 101 )
42264259
42274260 self .assertRaises (IOError , create_large_file )
42284261
4262+ self .assertEqual (initial_usage , self .filesystem .GetDiskUsage ())
4263+
42294264 def testResizeFileWithFittingSize (self ):
42304265 file_object = self .filesystem .CreateFile ('!foo!bar' , st_size = 50 )
42314266 try :
0 commit comments