kerneltest/f32test/server/t_nmbs.cpp
changeset 220 14267bc009a6
parent 189 a5496987b1da
equal deleted inserted replaced
202:9aca3be14c27 220:14267bc009a6
    16 #define __E32TEST_EXTENSION__
    16 #define __E32TEST_EXTENSION__
    17 #include <f32file.h>
    17 #include <f32file.h>
    18 #include <e32test.h>
    18 #include <e32test.h>
    19 #include "t_server.h"
    19 #include "t_server.h"
    20 #include "t_chlffs.h"
    20 #include "t_chlffs.h"
       
    21 #include "f32_test_utils.h"
       
    22 
       
    23 using namespace F32_Test_Utils;
    21 
    24 
    22 GLDEF_D RTest test(_L("T_NMBS"));
    25 GLDEF_D RTest test(_L("T_NMBS"));
    23 
    26 
    24 LOCAL_C void testMkDirRmDir()
    27 LOCAL_C void testMkDirRmDir()
    25 //
    28 //
   223 	r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\"));
   226 	r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\"));
   224 	test_KErrNone(r);
   227 	test_KErrNone(r);
   225 	}
   228 	}
   226 LOCAL_C void TestLongFileName()
   229 LOCAL_C void TestLongFileName()
   227 	{
   230 	{
   228 	#ifndef __EPOC32__ //emulator
   231 	if (Is_SimulatedSystemDrive(TheFs, CurrentDrive()))
   229 	if (gDriveToTest.GetLowerCase()=='c')
   232 		{
   230 		return;//don't perform this test for c: in emulator as emulator uses windows system calls
   233 		// Do not perform this test for the system drive of the emulator or PlatSim
   231 		//windows doesn't create a directory with length more than 244 characters
   234 		// as they use Windows system calls.
   232 	#endif 
   235 		// Windows does not create a directory with length more than 244 characters
   233 	
   236 		// (247 including <drive>:\)
   234 	 test.Next(_L("Test renaming 257 characters directories"));
   237 		test.Printf(_L("TestLongFileName() skipped on simulated system drive.\n"));
       
   238 		return;
       
   239 		}
       
   240 	
       
   241 	test.Next(_L("Test renaming 257 characters directories"));
   235 	_LIT(KLongFileName256, "256dir_IncludingBackslash_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
   242 	_LIT(KLongFileName256, "256dir_IncludingBackslash_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
   236 	_LIT(KLongFileName257, "257dir_IncludingBackslash_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
   243 	_LIT(KLongFileName257, "257dir_IncludingBackslash_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
   237 	TBuf<260> Path;
   244 	TBuf<260> Path;
   238 	TBuf<10> baseDir;
   245 	TBuf<10> baseDir;
   239 			
   246 			
   882 //	Check attributes have been changed
   889 //	Check attributes have been changed
   883 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   890 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   884 	r=file.Att(atts);
   891 	r=file.Att(atts);
   885 	test_KErrNone(r);
   892 	test_KErrNone(r);
   886 	file.Close();
   893 	file.Close();
   887 	test(atts&KEntryAttSystem);
   894 	test_Value((TInt)atts, atts&KEntryAttSystem);
   888 
   895 
   889 //	Change attributes to normal
   896 //	Change attributes to normal
   890 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   897 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   891 	r=file.SetAtt(KEntryAttNormal,KEntryAttSystem|KEntryAttArchive);
   898 	r=file.SetAtt(KEntryAttNormal,KEntryAttSystem|KEntryAttArchive);
   892 	test_KErrNone(r);
   899 	test_KErrNone(r);
   895 //	Check attributes have been changed
   902 //	Check attributes have been changed
   896 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   903 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   897 	r=file.Att(atts);
   904 	r=file.Att(atts);
   898 	test_KErrNone(r);
   905 	test_KErrNone(r);
   899 	file.Close();
   906 	file.Close();
   900 	test(atts==KEntryAttNormal);
   907 	test_Value((TInt)atts, atts==KEntryAttNormal);
   901 
   908 
   902 //	Attempt to change attributes from normal file to directory	
   909 //	Attempt to change attributes from normal file to directory	
   903 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   910 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   904 	r=file.SetAtt(KEntryAttDir,KEntryAttNormal);
   911 	r=file.SetAtt(KEntryAttDir,KEntryAttNormal);
   905 	test_KErrNone(r);	//	Returns KErrNone but DOESN'T change the file to a directory
   912 	test_KErrNone(r);	//	Returns KErrNone but DOESN'T change the file to a directory
   908 //	Check the file has not been changed to a directory
   915 //	Check the file has not been changed to a directory
   909 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   916 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   910 	r=file.Att(atts);
   917 	r=file.Att(atts);
   911 	test_KErrNone(r);
   918 	test_KErrNone(r);
   912 	file.Close();
   919 	file.Close();
   913 	test((TInt)(atts&KEntryAttDir)==KErrNone);
   920 	test_Value((TInt)atts, (TInt)(atts&KEntryAttDir)==KErrNone);
   914 
   921 
   915 //	Change the attributes from normal file to hidden file
   922 //	Change the attributes from normal file to hidden file
   916 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   923 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   917 	r=file.SetAtt(KEntryAttHidden,KEntryAttNormal);
   924 	r=file.SetAtt(KEntryAttHidden,KEntryAttNormal);
   918 	test_KErrNone(r);
   925 	test_KErrNone(r);
   921 //	Check the attributes have been changed
   928 //	Check the attributes have been changed
   922 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   929 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   923 	r=file.Att(atts);
   930 	r=file.Att(atts);
   924 	test_KErrNone(r);
   931 	test_KErrNone(r);
   925 	file.Close();
   932 	file.Close();
   926 	test(atts&KEntryAttHidden);
   933 	test_Value((TInt)atts, atts&KEntryAttHidden);
   927 
   934 
   928 //	Try to change the attributes from hidden file to volume	
   935 //	Try to change the attributes from hidden file to volume	
   929 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   936 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   930 	r=file.SetAtt(KEntryAttVolume,KEntryAttHidden);
   937 	r=file.SetAtt(KEntryAttVolume,KEntryAttHidden);
   931 	test_KErrNone(r);	//	Returns KErrNone but DOESN'T change the file to a volume
   938 	test_KErrNone(r);	//	Returns KErrNone but DOESN'T change the file to a volume
   934 //	Check that the hidden file has not been changed to a volume
   941 //	Check that the hidden file has not been changed to a volume
   935 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   942 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   936 	r=file.Att(atts);
   943 	r=file.Att(atts);
   937 	test_KErrNone(r);
   944 	test_KErrNone(r);
   938 	file.Close();
   945 	file.Close();
   939 	test((TInt)(atts&KEntryAttVolume)==KErrNone);
   946 	test_Value((TInt)atts, (TInt)(atts&KEntryAttVolume)==KErrNone);
   940 
   947 
   941 //	Test RFile::Set() function	
   948 //	Test RFile::Set() function	
   942 	
   949 	
   943 	test.Next(_L("Test RFile::Set()"));	
   950 	test.Next(_L("Test RFile::Set()"));	
   944 
   951 
   945 //	Check attributes 
   952 //	Check attributes 
   946 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   953 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   947 	r=file.Att(atts);
   954 	r=file.Att(atts);
   948 	test_KErrNone(r);
   955 	test_KErrNone(r);
   949 	file.Close();
   956 	file.Close();
   950 	test(atts==KEntryAttNormal);
   957 	test_Value((TInt)atts, atts==KEntryAttNormal);
   951 
   958 
   952 //	Change attributes from hidden to system	- and change modification time
   959 //	Change attributes from hidden to system	- and change modification time
   953 	TDateTime dateTime(1998,EMay,25,18,23,0,0);
   960 	TDateTime dateTime(1998,EMay,25,18,23,0,0);
   954 	TTime modTime1(dateTime);
   961 	TTime modTime1(dateTime);
   955 	TTime retTime;
   962 	TTime retTime;
   963 	r=file.Att(atts);
   970 	r=file.Att(atts);
   964 	test_KErrNone(r);
   971 	test_KErrNone(r);
   965 	r=file.Modified(retTime);
   972 	r=file.Modified(retTime);
   966 	test_KErrNone(r);
   973 	test_KErrNone(r);
   967 	file.Close();
   974 	file.Close();
   968 	test(atts&KEntryAttSystem);
   975 	test_Value((TInt)atts, atts&KEntryAttSystem);
   969 	test(retTime==modTime1);
   976 	test(retTime==modTime1);
   970 
   977 
   971 //	Change attributes to normal - and change modification time
   978 //	Change attributes to normal - and change modification time
   972 	dateTime.Set(1997,EMay,24,17,25,0,0);
   979 	dateTime.Set(1997,EMay,24,17,25,0,0);
   973 	TTime modTime2(dateTime);
   980 	TTime modTime2(dateTime);
   981 	r=file.Att(atts);
   988 	r=file.Att(atts);
   982 	test_KErrNone(r);
   989 	test_KErrNone(r);
   983 	r=file.Modified(retTime);
   990 	r=file.Modified(retTime);
   984 	test_KErrNone(r);
   991 	test_KErrNone(r);
   985 	file.Close();
   992 	file.Close();
   986 	test(atts==KEntryAttNormal);
   993 	test_Value((TInt)atts, atts==KEntryAttNormal);
   987 	test(retTime==modTime2);
   994 	test(retTime==modTime2);
   988 
   995 
   989 //	Attempt to change attributes from normal file to directory	
   996 //	Attempt to change attributes from normal file to directory	
   990 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   997 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   991 	r=file.Set(modTime1,KEntryAttDir,KEntryAttNormal);
   998 	r=file.Set(modTime1,KEntryAttDir,KEntryAttNormal);
   997 	r=file.Att(atts);
  1004 	r=file.Att(atts);
   998 	test_KErrNone(r);
  1005 	test_KErrNone(r);
   999 	r=file.Modified(retTime);
  1006 	r=file.Modified(retTime);
  1000 	test_KErrNone(r);
  1007 	test_KErrNone(r);
  1001 	file.Close();
  1008 	file.Close();
  1002 	test((TInt)(atts&KEntryAttDir)==KErrNone);
  1009 	test_Value((TInt)atts, (TInt)(atts&KEntryAttDir)==KErrNone);
  1003 	test(retTime==modTime1);//	Modification time should have been set successfully
  1010 	test(retTime==modTime1);//	Modification time should have been set successfully
  1004 
  1011 
  1005 //	Change the attributes from normal file to hidden file - and change modification time
  1012 //	Change the attributes from normal file to hidden file - and change modification time
  1006 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
  1013 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
  1007 	r=file.Set(modTime1,KEntryAttHidden,KEntryAttNormal);
  1014 	r=file.Set(modTime1,KEntryAttHidden,KEntryAttNormal);
  1012 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
  1019 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
  1013 	r=file.Att(atts);
  1020 	r=file.Att(atts);
  1014 	test_KErrNone(r);
  1021 	test_KErrNone(r);
  1015 	r=file.Modified(retTime);
  1022 	r=file.Modified(retTime);
  1016 	file.Close();
  1023 	file.Close();
  1017 	test(atts&KEntryAttHidden);
  1024 	test_Value((TInt)atts, atts&KEntryAttHidden);
  1018 	test(retTime==modTime1);
  1025 	test(retTime==modTime1);
  1019 
  1026 
  1020 //	Try to change the attributes from hidden file to volume	
  1027 //	Try to change the attributes from hidden file to volume	
  1021 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
  1028 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
  1022 	r=file.Set(modTime2,KEntryAttVolume,KEntryAttHidden);
  1029 	r=file.Set(modTime2,KEntryAttVolume,KEntryAttHidden);
  1028 	r=file.Att(atts);
  1035 	r=file.Att(atts);
  1029 	test_KErrNone(r);
  1036 	test_KErrNone(r);
  1030 	r=file.Modified(retTime);
  1037 	r=file.Modified(retTime);
  1031 	test_KErrNone(r);
  1038 	test_KErrNone(r);
  1032 	file.Close();
  1039 	file.Close();
  1033 	test((TInt)(atts&KEntryAttVolume)==KErrNone);
  1040 	test_Value((TInt)atts, (TInt)(atts&KEntryAttVolume)==KErrNone);
  1034 	test(retTime==modTime2);	//	Modification time should have been set successfully
  1041 	test(retTime==modTime2);	//	Modification time should have been set successfully
  1035 	
  1042 	
  1036 	r=TheFs.Delete(_L("TEMPFILE.TMP"));
  1043 	r=TheFs.Delete(_L("TEMPFILE.TMP"));
  1037 	
  1044 	
  1038 	}	
  1045 	}