kerneltest/f32test/server/t_falsespace.cpp
branchanywhere
changeset 41 d32f34975bbf
parent 33 0173bcd7697c
child 62 4a8fed1c0ef6
--- a/kerneltest/f32test/server/t_falsespace.cpp	Mon Feb 01 19:40:00 2010 +0100
+++ b/kerneltest/f32test/server/t_falsespace.cpp	Mon Feb 01 19:49:38 2010 +0100
@@ -15,6 +15,7 @@
 
 #include <f32file.h>
 #include <e32test.h>
+#include <e32svr.h>
 #include <e32math.h>
 
 #include "fat_utils.h"
@@ -914,6 +915,69 @@
 	theRes.Close();
 	}
 
+LOCAL_C void TestForDEF142554()
+    {
+    test.Next(_L("Test for DEF142554: test RFile::Modified and RFile::Att when disk full"));
+    
+    Format(gTestDrive);
+    
+    TUint att;
+    TTime time;
+    
+    RFs fs;
+    TInt err = fs.Connect();
+    test(err == KErrNone);
+
+    RFile file;
+    TBuf<20> fileName;
+    fileName = KTestFile;
+    fileName[0] = (TUint16)gCh;
+    
+    err = fs.ReserveDriveSpace(gTestDrive,0x10000); 
+    test(err == KErrNone);
+
+    err = file.Replace(fs, fileName, EFileWrite);
+    test(err == KErrNone);
+
+    err = file.Write(KTestData);
+    test(err == KErrNone);
+    
+    err = file.Flush();
+    test(err == KErrNone);
+    
+    file.Close();
+    
+    err = file.Open(fs, fileName, EFileRead);
+    test(err == KErrNone);
+    
+    err = file.Att(att);
+    test(err == KErrNone);
+    
+    err = file.Modified(time);
+    test(err == KErrNone);
+    
+    file.Close();
+    
+    FillUpDisk();
+    
+    err = file.Open(fs, fileName, EFileRead);
+    test(err == KErrNone);
+    
+    TUint att1;
+    err = file.Att(att1);
+    test(err == KErrNone);
+    test(att1 == att);
+    
+    TTime time1;
+    err = file.Modified(time1);
+    test(err == KErrNone);
+    test(time1 == time);
+    
+    file.Close();
+    fs.Close();
+    
+    }
+
 
 //-----------------------------------------------------------------------------
 
@@ -1032,6 +1096,7 @@
 	Test5();
 	Test6();
 	Test7();
+	TestForDEF142554();
 	Test2();	//run this test to check reserves are being cleared correctly
 
 	TestFAT4G_Boundary();