kerneltest/f32test/server/t_misc.cpp
changeset 109 b3a1d9898418
parent 0 a41df078684a
child 199 189ece41fa29
equal deleted inserted replaced
102:ef2a444a7410 109:b3a1d9898418
    13 // Description:
    13 // Description:
    14 // f32test\server\t_misc.cpp
    14 // f32test\server\t_misc.cpp
    15 // 
    15 // 
    16 //
    16 //
    17 
    17 
       
    18 #define __E32TEST_EXTENSION__
    18 #include <f32file.h>
    19 #include <f32file.h>
    19 #include <e32test.h>
    20 #include <e32test.h>
    20 #include "t_server.h"
    21 #include "t_server.h"
       
    22 
       
    23 // If there is an NFE media driver present, then because of the way EDeleteNotify requests work,
       
    24 // the data retrieved from a deleted file will not be a buffer full of zero's, but instead a buffer
       
    25 // full of decrypted zero's
       
    26 #define __NFE_MEDIA_DRIVER_PRESENT__
    21 
    27 
    22 #ifdef __VC32__
    28 #ifdef __VC32__
    23     // Solve compilation problem caused by non-English locale
    29     // Solve compilation problem caused by non-English locale
    24     #pragma setlocale("english")
    30     #pragma setlocale("english")
    25 #endif
    31 #endif
    26 
    32 
    27 GLDEF_D RTest test(_L("T_MISC"));
    33 GLDEF_D RTest test(_L("T_MISC"));
    28 
    34 
       
    35 const TUint KBufLength = 0x100;
       
    36 
    29 LOCAL_C void Test1()
    37 LOCAL_C void Test1()
    30 //
    38 //
    31 // Open, write to and read from a file
    39 // Open, write to and read from a file
    32 //
    40 //
    33 	{
    41 	{
    34 
    42 
    35 	test.Next(_L("Open, write to and read from a file"));
    43 	test.Next(_L("Open, write to and read from a file"));
    36 	TInt r=TheFs.SetSessionPath(gSessionPath);
    44 	TInt r=TheFs.SetSessionPath(gSessionPath);
    37 	test(r==KErrNone);
    45 	test_KErrNone(r);
    38 	RFile file;
    46 	RFile file;
    39 	r=file.Create(TheFs,_L("Hello.Wld"),EFileWrite);
    47 	r=file.Create(TheFs,_L("Hello.Wld"),EFileWrite);
    40 	test(r==KErrNone);
    48 	test_KErrNone(r);
    41 	r=file.Write(_L8("Hello World"),11);
    49 	r=file.Write(_L8("Hello World"),11);
    42 	test(r==KErrNone);
    50 	test_KErrNone(r);
    43 	file.Close();
    51 	file.Close();
    44 
    52 
    45 	r=file.Open(TheFs,_L("Hello.Wld"),EFileRead);
    53 	r=file.Open(TheFs,_L("Hello.Wld"),EFileRead);
    46 	test(r==KErrNone);
    54 	test_KErrNone(r);
    47 	TBuf8<256> buf;
    55 	TBuf8<256> buf;
    48 	r=file.Read(buf);
    56 	r=file.Read(buf);
    49 	test(r==KErrNone);
    57 	test_KErrNone(r);
    50 	test(buf==_L8("Hello World"));
    58 	test(buf==_L8("Hello World"));
    51 	file.Close();
    59 	file.Close();
    52 	}
    60 	}
    53 
    61 
    54 LOCAL_C void Test2()
    62 LOCAL_C void Test2()
    57 //
    65 //
    58 	{
    66 	{
    59 
    67 
    60 	test.Next(_L("Open and read from a file"));
    68 	test.Next(_L("Open and read from a file"));
    61 	TInt r=TheFs.SetSessionPath(gSessionPath);
    69 	TInt r=TheFs.SetSessionPath(gSessionPath);
    62 	test(r==KErrNone);
    70 	test_KErrNone(r);
    63 	RFile file;
    71 	RFile file;
    64 	r=file.Open(TheFs,_L("Hello.Wld"),EFileRead);
    72 	r=file.Open(TheFs,_L("Hello.Wld"),EFileRead);
    65 	test(r==KErrNone);
    73 	test_KErrNone(r);
    66 	TBuf8<256> buf;
    74 	TBuf8<256> buf;
    67 	r=file.Read(buf);
    75 	r=file.Read(buf);
    68 	test(r==KErrNone);
    76 	test_KErrNone(r);
    69 	test(buf==_L8("Hello World"));
    77 	test(buf==_L8("Hello World"));
    70 	file.Close();
    78 	file.Close();
    71 	r=TheFs.Delete(_L("HELLO.WLD"));
    79 	r=TheFs.Delete(_L("HELLO.WLD"));
    72 	test(r==KErrNone);
    80 	test_KErrNone(r);
    73 	}
    81 	}
    74 
    82 
    75 LOCAL_C void Test3()
    83 LOCAL_C void Test3()
    76 //
    84 //
    77 // Create nested directories
    85 // Create nested directories
    78 //
    86 //
    79 	{
    87 	{
    80 
    88 
    81 	test.Next(_L("Create nested directories"));
    89 	test.Next(_L("Create nested directories"));
    82 	TInt r=TheFs.SetSessionPath(gSessionPath);
    90 	TInt r=TheFs.SetSessionPath(gSessionPath);
    83 	test(r==KErrNone);
    91 	test_KErrNone(r);
    84 	TheFs.ResourceCountMarkStart();
    92 	TheFs.ResourceCountMarkStart();
    85 //
    93 //
    86 	r=TheFs.MkDir(_L("\\F32-TST\\LEFT\\A.B"));
    94 	r=TheFs.MkDir(_L("\\F32-TST\\LEFT\\A.B"));
    87 	test(r==KErrNone || r==KErrAlreadyExists);
    95 	test_Value(r, r == KErrNone || r==KErrAlreadyExists);
    88 	r=TheFs.MkDir(_L("\\F32-TST\\RIGHT\\"));
    96 	r=TheFs.MkDir(_L("\\F32-TST\\RIGHT\\"));
    89 	test(r==KErrNone || r==KErrAlreadyExists);
    97 	test_Value(r, r == KErrNone || r==KErrAlreadyExists);
    90 //
    98 //
    91 	r=TheFs.MkDir(_L("\\F32-TST\\LEFT\\ONE\\"));
    99 	r=TheFs.MkDir(_L("\\F32-TST\\LEFT\\ONE\\"));
    92 	test(r==KErrNone || r==KErrAlreadyExists);
   100 	test_Value(r, r == KErrNone || r==KErrAlreadyExists);
    93 	r=TheFs.MkDir(_L("\\F32-TST\\LEFT\\TWO\\"));
   101 	r=TheFs.MkDir(_L("\\F32-TST\\LEFT\\TWO\\"));
    94 	test(r==KErrNone || r==KErrAlreadyExists);
   102 	test_Value(r, r == KErrNone || r==KErrAlreadyExists);
    95 	r=TheFs.MkDir(_L("\\F32-TST\\LEFT\\THREE\\"));
   103 	r=TheFs.MkDir(_L("\\F32-TST\\LEFT\\THREE\\"));
    96 	test(r==KErrNone || r==KErrAlreadyExists);
   104 	test_Value(r, r == KErrNone || r==KErrAlreadyExists);
    97 	r=TheFs.MkDir(_L("\\F32-TST\\LEFT\\TWO\\BOTTOM\\"));
   105 	r=TheFs.MkDir(_L("\\F32-TST\\LEFT\\TWO\\BOTTOM\\"));
    98 	test(r==KErrNone || r==KErrAlreadyExists);
   106 	test_Value(r, r == KErrNone || r==KErrAlreadyExists);
    99 //
   107 //
   100 	r=TheFs.MkDirAll(_L("\\F32-TST\\RIGHT\\TOP\\MID\\BOT\\"));
   108 	r=TheFs.MkDirAll(_L("\\F32-TST\\RIGHT\\TOP\\MID\\BOT\\"));
   101 	test(r==KErrNone || r==KErrAlreadyExists);
   109 	test_Value(r, r == KErrNone || r==KErrAlreadyExists);
   102 	}
   110 	}
   103 
   111 
   104 LOCAL_C void Test4()
   112 LOCAL_C void Test4()
   105 //
   113 //
   106 // Test returned error values
   114 // Test returned error values
   107 //
   115 //
   108 	{
   116 	{
   109 
   117 
   110 	test.Next(_L("Test returned error values"));
   118 	test.Next(_L("Test returned error values"));
   111 	TInt r=TheFs.SetSessionPath(gSessionPath);
   119 	TInt r=TheFs.SetSessionPath(gSessionPath);
   112 	test(r==KErrNone);
   120 	test_KErrNone(r);
   113 	TheFs.ResourceCountMarkStart();
   121 	TheFs.ResourceCountMarkStart();
   114 //
   122 //
   115 	r=TheFs.MkDir(_L("\\"));
   123 	r=TheFs.MkDir(_L("\\"));
   116 	test(r==KErrAlreadyExists);
   124 	test_Value(r, r == KErrAlreadyExists);
   117 	r=TheFs.MkDir(_L("\\LEFT"));
   125 	r=TheFs.MkDir(_L("\\LEFT"));
   118 	test(r==KErrAlreadyExists);
   126 	test_Value(r, r == KErrAlreadyExists);
   119 	r=TheFs.MkDir(_L("\\F32-TST\\LEFT\\"));
   127 	r=TheFs.MkDir(_L("\\F32-TST\\LEFT\\"));
   120 	test(r==KErrAlreadyExists);
   128 	test_Value(r, r == KErrAlreadyExists);
   121 	r=TheFs.MkDir(_L("\\F32-TST\\LEFT\\..\\NEWDIR\\"));
   129 	r=TheFs.MkDir(_L("\\F32-TST\\LEFT\\..\\NEWDIR\\"));
   122 	test(r==KErrBadName);
   130 	test_Value(r, r == KErrBadName);
   123 	r=TheFs.MkDir(_L("\\F32-TST\\NEWDIR\\SUBDIR\\"));
   131 	r=TheFs.MkDir(_L("\\F32-TST\\NEWDIR\\SUBDIR\\"));
   124 	test(r==KErrPathNotFound);
   132 	test_Value(r, r == KErrPathNotFound);
   125 //
   133 //
   126 	r=TheFs.RmDir(_L("\\"));
   134 	r=TheFs.RmDir(_L("\\"));
   127 	test(r==KErrInUse);
   135 	test_Value(r, r == KErrInUse);
   128 	r=TheFs.RmDir(_L("\\PROG"));
   136 	r=TheFs.RmDir(_L("\\PROG"));
   129 	test(r==KErrInUse);
   137 	test_Value(r, r == KErrInUse);
   130 	r=TheFs.RmDir(_L("\\F32-TST\\"));
   138 	r=TheFs.RmDir(_L("\\F32-TST\\"));
   131 	test(r==KErrInUse);
   139 	test_Value(r, r == KErrInUse);
   132 
   140 
   133 
   141 
   134 	RDir dir;
   142 	RDir dir;
   135 	r=dir.Open(TheFs,_L("V:\\asdf"),KEntryAttNormal);
   143 	r=dir.Open(TheFs,_L("V:\\asdf"),KEntryAttNormal);
   136 	test(r==KErrNone || r==KErrNotReady || r==KErrNotFound);
   144 	test_Value(r, r == KErrNone || r==KErrNotReady || r==KErrNotFound);
   137 	if (r==KErrNone)
   145 	if (r==KErrNone)
   138 		dir.Close();
   146 		dir.Close();
   139 	r=dir.Open(TheFs,_L("L:\\asdf"),KEntryAttNormal);
   147 	r=dir.Open(TheFs,_L("L:\\asdf"),KEntryAttNormal);
   140 	test(r==KErrNone || r==KErrNotReady || r==KErrNotFound);
   148 	test_Value(r, r == KErrNone || r==KErrNotReady || r==KErrNotFound);
   141 	dir.Close();
   149 	dir.Close();
   142 //
   150 //
   143 	TEntry entry;
   151 	TEntry entry;
   144 	r=TheFs.Entry(_L("z:\\NOTEXiSTS\\file.txt"),entry);
   152 	r=TheFs.Entry(_L("z:\\NOTEXiSTS\\file.txt"),entry);
   145 	test(r==KErrPathNotFound);
   153 	test_Value(r, r == KErrPathNotFound);
   146 	r=TheFs.Entry(_L("z:\\NOTEXiSTS\\"),entry);
   154 	r=TheFs.Entry(_L("z:\\NOTEXiSTS\\"),entry);
   147 	test(r==KErrNotFound);
   155 	test_Value(r, r == KErrNotFound);
   148 	r=TheFs.Entry(_L("z:\\SYSTEM\\"),entry);
   156 	r=TheFs.Entry(_L("z:\\SYSTEM\\"),entry);
   149 	test(r==KErrNone);
   157 	test_KErrNone(r);
   150 	r=TheFs.Entry(PlatSec::ConfigSetting(PlatSec::EPlatSecEnforceSysBin)?_L("z:\\SYS\\BIN\\ESHELL.EXE"):_L("z:\\SYSTEM\\BIN\\ESHELL.EXE"),entry);
   158 	r=TheFs.Entry(PlatSec::ConfigSetting(PlatSec::EPlatSecEnforceSysBin)?_L("z:\\SYS\\BIN\\ESHELL.EXE"):_L("z:\\SYSTEM\\BIN\\ESHELL.EXE"),entry);
   151 	test(r==KErrNone);
   159 	test_KErrNone(r);
   152 
   160 
   153 	r=dir.Open(TheFs,_L("\\*"),NULL);
   161 	r=dir.Open(TheFs,_L("\\*"),NULL);
   154 	test(r==KErrNone);
   162 	test_KErrNone(r);
   155 	TEntry dirEntry;
   163 	TEntry dirEntry;
   156 	r=dir.Read(dirEntry);
   164 	r=dir.Read(dirEntry);
   157 	test(r==KErrNone || r==KErrEof);
   165 	test_Value(r, r == KErrNone || r==KErrEof);
   158 	if (r==KErrNone)
   166 	if (r==KErrNone)
   159 		test.Printf(_L("%S\n"),&dirEntry.iName);
   167 		test.Printf(_L("%S\n"),&dirEntry.iName);
   160 	dir.Close();
   168 	dir.Close();
   161 
   169 
   162 	r=dir.Open(TheFs,_L("A:\\*"),NULL);
   170 	r=dir.Open(TheFs,_L("A:\\*"),NULL);
   163 	test(r==KErrNotReady || r==KErrNone);
   171 	test_Value(r, r == KErrNotReady || r==KErrNone);
   164 	dir.Close();
   172 	dir.Close();
   165 	}
   173 	}
   166 
   174 
   167 LOCAL_C void Test5()
   175 LOCAL_C void Test5()
   168 //
   176 //
   179 
   187 
   180 	if ( TheFs.IsFileInRom(KTFileCpp) != NULL && TheFs.IsFileInRom(KTFsrvCpp) != NULL )
   188 	if ( TheFs.IsFileInRom(KTFileCpp) != NULL && TheFs.IsFileInRom(KTFsrvCpp) != NULL )
   181 		{
   189 		{
   182 		RFile f;
   190 		RFile f;
   183 		r=f.Open(TheFs,KTFileCpp,EFileRead);
   191 		r=f.Open(TheFs,KTFileCpp,EFileRead);
   184 		test(r==KErrNone);
   192 		test_KErrNone(r);
   185 		r=f.Seek(ESeekAddress,pos);
   193 		r=f.Seek(ESeekAddress,pos);
   186 		TText8* ptrPos=*(TText8**)&pos;
   194 		TText8* ptrPos=*(TText8**)&pos;
   187 		test(r==KErrNone);
   195 		test_KErrNone(r);
   188 		TBuf8<1024> readBuf;
   196 		TBuf8<1024> readBuf;
   189 		r=f.Read(readBuf);
   197 		r=f.Read(readBuf);
   190 		test(r==KErrNone);
   198 		test_KErrNone(r);
   191 		test(readBuf.Length()==readBuf.MaxLength());
   199 		test(readBuf.Length()==readBuf.MaxLength());
   192 		TPtrC8 memBuf(ptrPos,readBuf.Length());
   200 		TPtrC8 memBuf(ptrPos,readBuf.Length());
   193 		test(memBuf==readBuf);
   201 		test(memBuf==readBuf);
   194 
   202 
   195 		ptrPos+=9913;
   203 		ptrPos+=9913;
   196 		pos=9913;
   204 		pos=9913;
   197 		r=f.Seek(ESeekStart,pos);
   205 		r=f.Seek(ESeekStart,pos);
   198 		test(r==KErrNone);
   206 		test_KErrNone(r);
   199 		readBuf.SetLength(0);
   207 		readBuf.SetLength(0);
   200 		r=f.Read(readBuf);
   208 		r=f.Read(readBuf);
   201 		test(r==KErrNone);
   209 		test_KErrNone(r);
   202 		test(readBuf.Length()==readBuf.MaxLength());
   210 		test(readBuf.Length()==readBuf.MaxLength());
   203 		memBuf.Set(ptrPos,readBuf.Length());
   211 		memBuf.Set(ptrPos,readBuf.Length());
   204 		test(memBuf==readBuf);
   212 		test(memBuf==readBuf);
   205 
   213 
   206 		RFile f2;
   214 		RFile f2;
   207 		pos=10;
   215 		pos=10;
   208 		r=f2.Open(TheFs,KTFsrvCpp,EFileRead);
   216 		r=f2.Open(TheFs,KTFsrvCpp,EFileRead);
   209 
   217 
   210 		test(r==KErrNone);
   218 		test_KErrNone(r);
   211 		r=f2.Seek(ESeekAddress,pos);
   219 		r=f2.Seek(ESeekAddress,pos);
   212 		ptrPos=*(TText8**)&pos;
   220 		ptrPos=*(TText8**)&pos;
   213 		test(r==KErrNone);
   221 		test_KErrNone(r);
   214 		readBuf.SetLength(0);
   222 		readBuf.SetLength(0);
   215 		pos=10;
   223 		pos=10;
   216 		r=f2.Seek(ESeekStart,pos);
   224 		r=f2.Seek(ESeekStart,pos);
   217 		test(r==KErrNone);
   225 		test_KErrNone(r);
   218 		r=f2.Read(readBuf);
   226 		r=f2.Read(readBuf);
   219 		test(r==KErrNone);
   227 		test_KErrNone(r);
   220 		test(readBuf.Length()==readBuf.MaxLength());
   228 		test(readBuf.Length()==readBuf.MaxLength());
   221 		memBuf.Set(ptrPos,readBuf.Length());
   229 		memBuf.Set(ptrPos,readBuf.Length());
   222 		test(memBuf==readBuf);
   230 		test(memBuf==readBuf);
   223 
   231 
   224 		ptrPos+=2445;
   232 		ptrPos+=2445;
   225 		pos=10+2445;
   233 		pos=10+2445;
   226 		r=f2.Seek(ESeekStart,pos);
   234 		r=f2.Seek(ESeekStart,pos);
   227 		test(r==KErrNone);
   235 		test_KErrNone(r);
   228 		readBuf.SetLength(0);
   236 		readBuf.SetLength(0);
   229 		r=f2.Read(readBuf);
   237 		r=f2.Read(readBuf);
   230 		test(r==KErrNone);
   238 		test_KErrNone(r);
   231 		test(readBuf.Length()==readBuf.MaxLength());
   239 		test(readBuf.Length()==readBuf.MaxLength());
   232 		memBuf.Set(ptrPos,readBuf.Length());
   240 		memBuf.Set(ptrPos,readBuf.Length());
   233 		test(memBuf==readBuf);
   241 		test(memBuf==readBuf);
   234 
   242 
   235 		pos=0;
   243 		pos=0;
   236 		r=f.Seek(ESeekAddress,pos);
   244 		r=f.Seek(ESeekAddress,pos);
   237 		ptrPos=*(TText8**)&pos;
   245 		ptrPos=*(TText8**)&pos;
   238 		test(r==KErrNone);
   246 		test_KErrNone(r);
   239 		readBuf.SetLength(0);
   247 		readBuf.SetLength(0);
   240 		pos=0;
   248 		pos=0;
   241 		r=f.Seek(ESeekStart,pos);
   249 		r=f.Seek(ESeekStart,pos);
   242 		test(r==KErrNone);
   250 		test_KErrNone(r);
   243 		r=f.Read(readBuf);
   251 		r=f.Read(readBuf);
   244 		test(r==KErrNone);
   252 		test_KErrNone(r);
   245 		test(readBuf.Length()==readBuf.MaxLength());
   253 		test(readBuf.Length()==readBuf.MaxLength());
   246 		memBuf.Set(ptrPos,readBuf.Length());
   254 		memBuf.Set(ptrPos,readBuf.Length());
   247 		test(memBuf==readBuf);
   255 		test(memBuf==readBuf);
   248 
   256 
   249 		ptrPos+=5245;
   257 		ptrPos+=5245;
   250 		pos=5245;
   258 		pos=5245;
   251 		r=f.Seek(ESeekStart,pos);
   259 		r=f.Seek(ESeekStart,pos);
   252 		test(r==KErrNone);
   260 		test_KErrNone(r);
   253 		readBuf.SetLength(0);
   261 		readBuf.SetLength(0);
   254 		r=f.Read(readBuf);
   262 		r=f.Read(readBuf);
   255 		test(r==KErrNone);
   263 		test_KErrNone(r);
   256 		test(readBuf.Length()==readBuf.MaxLength());
   264 		test(readBuf.Length()==readBuf.MaxLength());
   257 		memBuf.Set(ptrPos,readBuf.Length());
   265 		memBuf.Set(ptrPos,readBuf.Length());
   258 		test(memBuf==readBuf);
   266 		test(memBuf==readBuf);
   259 
   267 
   260 		f.Close();
   268 		f.Close();
   269 	{
   277 	{
   270 	test.Next(_L("Test rom return values"));
   278 	test.Next(_L("Test rom return values"));
   271 
   279 
   272 	RFile f;
   280 	RFile f;
   273 	TInt r=f.Replace(TheFs,_L("Z:\\Test\\T_Fsrv.Cpp"),EFileRead);
   281 	TInt r=f.Replace(TheFs,_L("Z:\\Test\\T_Fsrv.Cpp"),EFileRead);
   274 	test(r==KErrAccessDenied);
   282 	test_Value(r, r == KErrAccessDenied);
   275 	r=f.Create(TheFs,_L("Z:\\Test\\newT_Fsrv.Cpp"),EFileRead);
   283 	r=f.Create(TheFs,_L("Z:\\Test\\newT_Fsrv.Cpp"),EFileRead);
   276 	test(r==KErrAccessDenied);
   284 	test_Value(r, r == KErrAccessDenied);
   277 	r=f.Open(TheFs,_L("Z:\\Test\\T_Fsrv.Cpp"),EFileRead);
   285 	r=f.Open(TheFs,_L("Z:\\Test\\T_Fsrv.Cpp"),EFileRead);
   278 	test(r==KErrNone);
   286 	test_KErrNone(r);
   279 	f.Close();
   287 	f.Close();
   280 	r=f.Open(TheFs,_L("Z:\\Test\\T_Fsrv.Cpp"),EFileRead|EFileWrite);
   288 	r=f.Open(TheFs,_L("Z:\\Test\\T_Fsrv.Cpp"),EFileRead|EFileWrite);
   281 	test(r==KErrAccessDenied);
   289 	test_Value(r, r == KErrAccessDenied);
   282 	}
   290 	}
   283 
   291 
   284 LOCAL_C void Test7()
   292 LOCAL_C void Test7()
   285 //
   293 //
   286 // Test cache
   294 // Test cache
   293 	TBuf<32> file1=_L("\\TMISC\\CACHE.FILE");
   301 	TBuf<32> file1=_L("\\TMISC\\CACHE.FILE");
   294 	MakeFile(file1,uid1,contents1);
   302 	MakeFile(file1,uid1,contents1);
   295 
   303 
   296 	TEntry entry;
   304 	TEntry entry;
   297 	TInt r=TheFs.Entry(file1,entry);
   305 	TInt r=TheFs.Entry(file1,entry);
   298 	test(r==KErrNone);
   306 	test_KErrNone(r);
   299 	test(entry.iType==uid1);
   307 	test(entry.iType==uid1);
   300 
   308 
   301 	TUidType uid2(TUid::Uid(4),TUid::Uid(5),TUid::Uid(6));
   309 	TUidType uid2(TUid::Uid(4),TUid::Uid(5),TUid::Uid(6));
   302 	TCheckedUid checkedUid(uid2);
   310 	TCheckedUid checkedUid(uid2);
   303 	TPtrC8 uidData((TUint8*)&checkedUid,sizeof(TCheckedUid));
   311 	TPtrC8 uidData((TUint8*)&checkedUid,sizeof(TCheckedUid));
   304 	RFile f;
   312 	RFile f;
   305 	r=f.Open(TheFs,file1,EFileRead|EFileWrite);
   313 	r=f.Open(TheFs,file1,EFileRead|EFileWrite);
   306 	test(r==KErrNone);
   314 	test_KErrNone(r);
   307 	r=f.Write(uidData);
   315 	r=f.Write(uidData);
   308 	test(r==KErrNone);
   316 	test_KErrNone(r);
   309 	r = f.Flush();
   317 	r = f.Flush();
   310 	test(r==KErrNone);
   318 	test_KErrNone(r);
   311 
   319 
   312 	r=TheFs.Entry(file1,entry);
   320 	r=TheFs.Entry(file1,entry);
   313 	test(r==KErrNone);
   321 	test_KErrNone(r);
   314 	test(entry.iType==uid2);
   322 	test(entry.iType==uid2);
   315 
   323 
   316 	f.Close();
   324 	f.Close();
   317 	r=TheFs.Entry(file1,entry);
   325 	r=TheFs.Entry(file1,entry);
   318 	test(r==KErrNone);
   326 	test_KErrNone(r);
   319 	test(entry.iType==uid2);
   327 	test(entry.iType==uid2);
   320 	}
   328 	}
   321 
   329 
   322 LOCAL_C void Test8()
   330 LOCAL_C void Test8()
   323 //
   331 //
   536 
   544 
   537 	test.Next(_L("Test RFs::IsFileInRom"));
   545 	test.Next(_L("Test RFs::IsFileInRom"));
   538 
   546 
   539 	CFileMan* fMan=CFileMan::NewL(TheFs);
   547 	CFileMan* fMan=CFileMan::NewL(TheFs);
   540 	TInt r=fMan->Copy(_L("Z:\\TEST\\T_FILE.CPP"),_L("C:\\T_FILE.CPP"));
   548 	TInt r=fMan->Copy(_L("Z:\\TEST\\T_FILE.CPP"),_L("C:\\T_FILE.CPP"));
   541 	test(r==KErrNone || r==KErrAccessDenied);
   549 	test_Value(r, r == KErrNone || r==KErrAccessDenied);
   542 	delete fMan;
   550 	delete fMan;
   543 	TUint8* addr=TheFs.IsFileInRom(_L("C:\\ESHELL.EXE"));
   551 	TUint8* addr=TheFs.IsFileInRom(_L("C:\\ESHELL.EXE"));
   544 	test(addr==NULL);
   552 	test(addr==NULL);
   545 	addr=TheFs.IsFileInRom(_L("Z:\\TEST\\T_FILE.CPP"));
   553 	addr=TheFs.IsFileInRom(_L("Z:\\TEST\\T_FILE.CPP"));
   546 	if (addr!=NULL)
   554 	if (addr!=NULL)
   565 	TFileName driveName;
   573 	TFileName driveName;
   566 	TInt i;
   574 	TInt i;
   567 	for(i=0;i<KMaxDrives;i++)
   575 	for(i=0;i<KMaxDrives;i++)
   568 		{
   576 		{
   569 		TInt r=TheFs.GetDriveName(i,driveName);
   577 		TInt r=TheFs.GetDriveName(i,driveName);
   570 		test(r==KErrNone);
   578 		test_KErrNone(r);
   571 		if (driveName.Length())
   579 		if (driveName.Length())
   572 			test.Printf(_L("Default name of %c: == %S\n"),'A'+i,&driveName);
   580 			test.Printf(_L("Default name of %c: == %S\n"),'A'+i,&driveName);
   573 		}
   581 		}
   574 
   582 
   575 	TBuf<64> drive0=_L("Dilbert");
   583 	TBuf<64> drive0=_L("Dilbert");
   576 	TBuf<64> drive4=_L("Dogbert");
   584 	TBuf<64> drive4=_L("Dogbert");
   577 	TBuf<64> drive17=_L("Flibble");
   585 	TBuf<64> drive17=_L("Flibble");
   578 	TBuf<64> drive25=_L("RAMDRIVE");
   586 	TBuf<64> drive25=_L("RAMDRIVE");
   579 	TInt r=TheFs.SetDriveName(0,drive0);
   587 	TInt r=TheFs.SetDriveName(0,drive0);
   580 	test(r==KErrNone);
   588 	test_KErrNone(r);
   581 	r=TheFs.SetDriveName(4,drive4);
   589 	r=TheFs.SetDriveName(4,drive4);
   582 	test(r==KErrNone);
   590 	test_KErrNone(r);
   583 	r=TheFs.SetDriveName(17,drive17);
   591 	r=TheFs.SetDriveName(17,drive17);
   584 	test(r==KErrNone);
   592 	test_KErrNone(r);
   585 	r=TheFs.SetDriveName(25,drive25);
   593 	r=TheFs.SetDriveName(25,drive25);
   586 	test(r==KErrNone);
   594 	test_KErrNone(r);
   587 
   595 
   588 	r=TheFs.GetDriveName(0,driveName);
   596 	r=TheFs.GetDriveName(0,driveName);
   589 	test(r==KErrNone);
   597 	test_KErrNone(r);
   590 	test(driveName==drive0);
   598 	test(driveName==drive0);
   591 	r=TheFs.GetDriveName(4,driveName);
   599 	r=TheFs.GetDriveName(4,driveName);
   592 	test(r==KErrNone);
   600 	test_KErrNone(r);
   593 	test(driveName==drive4);
   601 	test(driveName==drive4);
   594 	r=TheFs.GetDriveName(17,driveName);
   602 	r=TheFs.GetDriveName(17,driveName);
   595 	test(r==KErrNone);
   603 	test_KErrNone(r);
   596 	test(driveName==drive17);
   604 	test(driveName==drive17);
   597 	r=TheFs.GetDriveName(25,driveName);
   605 	r=TheFs.GetDriveName(25,driveName);
   598 	test(r==KErrNone);
   606 	test_KErrNone(r);
   599 	test(driveName==drive25);
   607 	test(driveName==drive25);
   600 
   608 
   601 	drive0=_L("askdjflsdfourewoqiuroiuaksjdvx,cvsdhwjhjhalsjhfshfkjhslj");
   609 	drive0=_L("askdjflsdfourewoqiuroiuaksjdvx,cvsdhwjhjhalsjhfshfkjhslj");
   602 	r=TheFs.SetDriveName(0,drive0);
   610 	r=TheFs.SetDriveName(0,drive0);
   603 	test(r==KErrNone);
   611 	test_KErrNone(r);
   604 	r=TheFs.GetDriveName(0,driveName);
   612 	r=TheFs.GetDriveName(0,driveName);
   605 	test(r==KErrNone);
   613 	test_KErrNone(r);
   606 	test(driveName==drive0);
   614 	test(driveName==drive0);
   607 
   615 
   608 //	Test with illegal characters in drive name
   616 //	Test with illegal characters in drive name
   609 	drive0=_L("Dil>bert");
   617 	drive0=_L("Dil>bert");
   610 	drive4=_L("Dog?bert");
   618 	drive4=_L("Dog?bert");
   611 	drive17=_L("Fli*bble");
   619 	drive17=_L("Fli*bble");
   612 	drive25=_L("RAMD//RIVE");
   620 	drive25=_L("RAMD//RIVE");
   613 
   621 
   614 	r=TheFs.SetDriveName(0,drive0);
   622 	r=TheFs.SetDriveName(0,drive0);
   615 	test(r==KErrBadName);
   623 	test_Value(r, r == KErrBadName);
   616 	r=TheFs.SetDriveName(4,drive4);
   624 	r=TheFs.SetDriveName(4,drive4);
   617 	test(r==KErrBadName);
   625 	test_Value(r, r == KErrBadName);
   618 	r=TheFs.SetDriveName(17,drive17);
   626 	r=TheFs.SetDriveName(17,drive17);
   619 	test(r==KErrBadName);
   627 	test_Value(r, r == KErrBadName);
   620 	r=TheFs.SetDriveName(25,drive25);
   628 	r=TheFs.SetDriveName(25,drive25);
   621 	test(r==KErrBadName);
   629 	test_Value(r, r == KErrBadName);
   622 
   630 
   623 //	Test that it is OK to set the name to no characters
   631 //	Test that it is OK to set the name to no characters
   624 
   632 
   625 	drive0=_L("");
   633 	drive0=_L("");
   626 	drive4=_L("");
   634 	drive4=_L("");
   627 	drive17=_L("");
   635 	drive17=_L("");
   628 	drive25=_L("");
   636 	drive25=_L("");
   629 
   637 
   630 	r=TheFs.SetDriveName(0,drive0);
   638 	r=TheFs.SetDriveName(0,drive0);
   631 	test(r==KErrNone);
   639 	test_KErrNone(r);
   632 	r=TheFs.SetDriveName(4,drive4);
   640 	r=TheFs.SetDriveName(4,drive4);
   633 	test(r==KErrNone);
   641 	test_KErrNone(r);
   634 	r=TheFs.SetDriveName(17,drive17);
   642 	r=TheFs.SetDriveName(17,drive17);
   635 	test(r==KErrNone);
   643 	test_KErrNone(r);
   636 	r=TheFs.SetDriveName(25,drive25);
   644 	r=TheFs.SetDriveName(25,drive25);
   637 	test(r==KErrNone);
   645 	test_KErrNone(r);
   638 
   646 
   639 	r=TheFs.GetDriveName(0,driveName);
   647 	r=TheFs.GetDriveName(0,driveName);
   640 	test(r==KErrNone);
   648 	test_KErrNone(r);
   641 	test(driveName==drive0);
   649 	test(driveName==drive0);
   642 	r=TheFs.GetDriveName(4,driveName);
   650 	r=TheFs.GetDriveName(4,driveName);
   643 	test(r==KErrNone);
   651 	test_KErrNone(r);
   644 	test(driveName==drive4);
   652 	test(driveName==drive4);
   645 	r=TheFs.GetDriveName(17,driveName);
   653 	r=TheFs.GetDriveName(17,driveName);
   646 	test(r==KErrNone);
   654 	test_KErrNone(r);
   647 	test(driveName==drive17);
   655 	test(driveName==drive17);
   648 	r=TheFs.GetDriveName(25,driveName);
   656 	r=TheFs.GetDriveName(25,driveName);
   649 	test(r==KErrNone);
   657 	test_KErrNone(r);
   650 	test(driveName==drive25);
   658 	test(driveName==drive25);
   651 
   659 
   652 
   660 
   653 	}
   661 	}
   654 
   662 
   660 
   668 
   661 	test.Next(_L("Miscellaneous tests"));
   669 	test.Next(_L("Miscellaneous tests"));
   662 	TVolumeInfo vol;
   670 	TVolumeInfo vol;
   663 	TInt r=TheFs.Volume(vol);
   671 	TInt r=TheFs.Volume(vol);
   664 	test.Printf(_L("VolumeName = %S\n"),&vol.iName);
   672 	test.Printf(_L("VolumeName = %S\n"),&vol.iName);
   665 	test(r==KErrNone);
   673 	test_KErrNone(r);
   666 	r=TheFs.RmDir(_L("\\asdfasdf.\\"));
   674 	r=TheFs.RmDir(_L("\\asdfasdf.\\"));
   667 	test(r==KErrBadName);
   675 	test_Value(r, r == KErrBadName);
   668 	r=TheFs.MkDir(_L("\\asdfasdf.\\"));
   676 	r=TheFs.MkDir(_L("\\asdfasdf.\\"));
   669 	test(r==KErrBadName);
   677 	test_Value(r, r == KErrBadName);
   670 	}
   678 	}
   671 
   679 
   672 LOCAL_C void Test12()
   680 LOCAL_C void Test12()
   673 //
   681 //
   674 // Test SetNotifyUser and GetNotifyUser
   682 // Test SetNotifyUser and GetNotifyUser
   695 	{
   703 	{
   696 
   704 
   697 	test.Next(_L("Test RFs::Volume"));
   705 	test.Next(_L("Test RFs::Volume"));
   698 	TVolumeInfo vol;
   706 	TVolumeInfo vol;
   699 	TInt r=TheFs.Volume(vol,EDriveB);
   707 	TInt r=TheFs.Volume(vol,EDriveB);
   700 	test(r==KErrNotReady || r==KErrNone || KErrPathNotFound);
   708 	test_Value(r, r == KErrNotReady || r==KErrNone || r == KErrPathNotFound);
   701 	test.Printf(_L("RFs::Volume EDriveB returned %d\n"),r);
   709 	test.Printf(_L("RFs::Volume EDriveB returned %d\n"),r);
   702 
   710 
   703 	r=TheFs.Volume(vol,EDriveC);
   711 	r=TheFs.Volume(vol,EDriveC);
   704 	test(r==KErrNotReady || r==KErrNone || KErrPathNotFound);
   712 	test_Value(r, r == KErrNotReady || r==KErrNone || r == KErrPathNotFound);
   705 	test.Printf(_L("RFs::Volume EDriveC returned %d\n"),r);
   713 	test.Printf(_L("RFs::Volume EDriveC returned %d\n"),r);
   706 
   714 
   707 	r=TheFs.Volume(vol,EDriveD);
   715 	r=TheFs.Volume(vol,EDriveD);
   708 	test(r==KErrNotReady || r==KErrNone || KErrPathNotFound);
   716 	test_Value(r, r == KErrNotReady || r==KErrNone || r == KErrPathNotFound);
   709 	test.Printf(_L("RFs::Volume EDriveD returned %d\n"),r);
   717 	test.Printf(_L("RFs::Volume EDriveD returned %d\n"),r);
   710 
   718 
   711 	r=TheFs.Volume(vol,EDriveE);
   719 	r=TheFs.Volume(vol,EDriveE);
   712 	test(r==KErrNotReady || r==KErrNone || KErrPathNotFound);
   720 	test_Value(r, r == KErrNotReady || r==KErrNone || r == KErrPathNotFound);
   713 	test.Printf(_L("RFs::Volume EDriveE returned %d\n"),r);
   721 	test.Printf(_L("RFs::Volume EDriveE returned %d\n"),r);
   714 
   722 
   715 	r=TheFs.Volume(vol,EDriveF);
   723 	r=TheFs.Volume(vol,EDriveF);
   716 	test(r==KErrNotReady || r==KErrNone || KErrPathNotFound);
   724 	test_Value(r, r == KErrNotReady || r==KErrNone || r == KErrPathNotFound);
   717 	test.Printf(_L("RFs::Volume EDriveF returned %d\n"),r);
   725 	test.Printf(_L("RFs::Volume EDriveF returned %d\n"),r);
   718 	}
   726 	}
   719 
   727 
   720 
   728 
   721 void    DoTest14(TInt aDrvNum);
   729 void    DoTest14(TInt aDrvNum);
   722 TInt    CreateStuffedFile(RFs& aFs, const TDesC& aFileName, TUint aFileSize);
   730 TInt    CreateStuffedFile(RFs& aFs, const TDesC& aFileName, TUint aFileSize);
   723 TInt    CreateEmptyFile(RFs& aFs, const TDesC& aFileName, TUint aFileSize);
   731 TInt    CreateEmptyFile(RFs& aFs, const TDesC& aFileName, TUint aFileSize);
   724 TBool   CheckFileContents(RFs& aFs, const TDesC& aFileName);
   732 TBool   CheckFileContents(RFs& aFs, const TDesC& aFileName);
       
   733 #ifndef __NFE_MEDIA_DRIVER_PRESENT__
   725 TBool   CheckBufferContents(const TDesC8& aBuffer, TUint aPrintBaseAddr=0);
   734 TBool   CheckBufferContents(const TDesC8& aBuffer, TUint aPrintBaseAddr=0);
       
   735 #endif
   726 
   736 
   727 /**
   737 /**
   728 Testing unallocated data initialization vulnerability in RFile
   738 Testing unallocated data initialization vulnerability in RFile
   729 This test is performed on RAM drives and non-removable media that supports DeleteNotify (KMediaAttDeleteNotify flag)
   739 This test is performed on RAM drives and non-removable media that supports DeleteNotify (KMediaAttDeleteNotify flag)
   730 e.g. XSR NAND
   740 e.g. XSR NAND
   738 	TDriveList driveList;
   748 	TDriveList driveList;
   739 	TDriveInfo driveInfo;
   749 	TDriveInfo driveInfo;
   740 
   750 
   741 	//-- 1. get drives list
   751 	//-- 1. get drives list
   742 	nRes=TheFs.DriveList(driveList);
   752 	nRes=TheFs.DriveList(driveList);
   743     test(nRes == KErrNone);
   753     test_KErrNone(nRes);
   744 
   754 
   745 	//-- 2. walk through all drives, performing the test only on suitable ones
   755 	//-- 2. walk through all drives, performing the test only on suitable ones
   746 	for (TInt drvNum=0; drvNum<KMaxDrives; ++drvNum)
   756 	for (TInt drvNum=0; drvNum<KMaxDrives; ++drvNum)
   747     {
   757     {
   748 	    if(!driveList[drvNum])
   758 	    if(!driveList[drvNum])
   824     //==============================
   834     //==============================
   825     test.Printf(_L("Testing scenario 1\n"));
   835     test.Printf(_L("Testing scenario 1\n"));
   826 
   836 
   827     //-- 1. create an empty file
   837     //-- 1. create an empty file
   828     nRes = CreateEmptyFile(TheFs, fileName, KFileSize);
   838     nRes = CreateEmptyFile(TheFs, fileName, KFileSize);
   829     test(nRes == KErrNone);
   839     test_KErrNone(nRes);
   830 
   840 
       
   841 #ifndef __NFE_MEDIA_DRIVER_PRESENT__	// can't easily check for illegitimate information if drive is encrypted
   831     //-- 1.1  check that this file doesn't contain illegitimate information.
   842     //-- 1.1  check that this file doesn't contain illegitimate information.
   832     nRes = CheckFileContents(TheFs, fileName);
   843     nRes = CheckFileContents(TheFs, fileName);
   833     test(nRes == KErrNone);
   844     test_KErrNone(nRes);
       
   845 #endif
   834 
   846 
   835     //-- 1.2 delete the empty file
   847     //-- 1.2 delete the empty file
   836     nRes = TheFs.Delete(fileName);
   848     nRes = TheFs.Delete(fileName);
   837     test(nRes == KErrNone);
   849     test_KErrNone(nRes);
   838 
   850 
   839     //==============================
   851     //==============================
   840     //== Scenario 2.
   852     //== Scenario 2.
   841     //== Create file, filling it with some pattern.
   853     //== Create file, filling it with some pattern.
   842     //== Delete this file, FreeClusterListL() will be involved.
   854     //== Delete this file, FreeClusterListL() will be involved.
   845     //==============================
   857     //==============================
   846     test.Printf(_L("Testing scenario 2\n"));
   858     test.Printf(_L("Testing scenario 2\n"));
   847 
   859 
   848     //-- 2. create file filled with some data pattern
   860     //-- 2. create file filled with some data pattern
   849     nRes = CreateStuffedFile(TheFs, fileName, KFileSize);
   861     nRes = CreateStuffedFile(TheFs, fileName, KFileSize);
   850     test(nRes == KErrNone);
   862     test_KErrNone(nRes);
   851 
   863 
   852     //-- 2.1 delete this file
   864     //-- 2.1 delete this file
   853     TheFs.Delete(fileName);
   865     TheFs.Delete(fileName);
   854 
   866 
   855     //-- 2.1 create an empty file on the place of just deleted one (hopefully)
   867     //-- 2.1 create an empty file on the place of just deleted one (hopefully)
   856     nRes = CreateEmptyFile(TheFs, fileName, KFileSize);
   868     nRes = CreateEmptyFile(TheFs, fileName, KFileSize);
   857     test(nRes == KErrNone);
   869     test_KErrNone(nRes);
   858 
   870 
   859     //-- 2.2  check that this file doesn't contain illegitimate information.
   871     //-- 2.2  check that this file doesn't contain illegitimate information.
   860     nRes = CheckFileContents(TheFs, fileName);
   872     nRes = CheckFileContents(TheFs, fileName);
   861     test(nRes == KErrNone);
   873     test_KErrNone(nRes);
   862 
   874 
   863     //-- 2.3 delete this file
   875     //-- 2.3 delete this file
   864     TheFs.Delete(fileName);
   876     TheFs.Delete(fileName);
   865 
   877 
   866 }
   878 }
  1160 void TestGetMediaSerialNumber()
  1172 void TestGetMediaSerialNumber()
  1161     {
  1173     {
  1162 	test.Next(_L("Test RFs::GetMediaSerialNumber"));	
  1174 	test.Next(_L("Test RFs::GetMediaSerialNumber"));	
  1163     TInt theDrive;
  1175     TInt theDrive;
  1164     TInt r = TheFs.CharToDrive(gDriveToTest,theDrive);
  1176     TInt r = TheFs.CharToDrive(gDriveToTest,theDrive);
  1165     test(r == KErrNone);
  1177     test_KErrNone(r);
  1166     TMediaSerialNumber serNum;
  1178     TMediaSerialNumber serNum;
  1167     r = TheFs.GetMediaSerialNumber(serNum, theDrive);
  1179     r = TheFs.GetMediaSerialNumber(serNum, theDrive);
  1168 	if (r) test.Printf(_L("RFs::GetMediaSerialNumber returned error %d"), r);
  1180 	if (r) test.Printf(_L("RFs::GetMediaSerialNumber returned error %d"), r);
  1169     test(r == KErrNotSupported || r == KErrNotReady || r == KErrNone);
  1181     test_Value(r, r == KErrNotSupported || r == KErrNotReady || r == KErrNone);
  1170     if (r == KErrNotSupported)
  1182     if (r == KErrNotSupported)
  1171         {
  1183         {
  1172         test.Printf(_L("MediaSerialNumber: Not Supported\n"));
  1184         test.Printf(_L("MediaSerialNumber: Not Supported\n"));
  1173         }
  1185         }
  1174     else
  1186     else
  1236 {
  1248 {
  1237 	TInt    nRes;
  1249 	TInt    nRes;
  1238     RFile   file;
  1250     RFile   file;
  1239 
  1251 
  1240 	//-- create a buffer with some data
  1252 	//-- create a buffer with some data
  1241 	const TUint KBufLength = 0x100;
       
  1242 	TBuf8<KBufLength> buffer;
  1253 	TBuf8<KBufLength> buffer;
  1243 	buffer.SetLength(KBufLength);
  1254 	buffer.SetLength(KBufLength);
  1244 
  1255 
  1245     TUint i;
  1256     TUint i;
  1246 
  1257 
  1287 TInt   CheckFileContents(RFs& aFs, const TDesC& aFileName)
  1298 TInt   CheckFileContents(RFs& aFs, const TDesC& aFileName)
  1288 {
  1299 {
  1289 	TInt    nRes = KErrNone;
  1300 	TInt    nRes = KErrNone;
  1290     RFile   file;
  1301     RFile   file;
  1291 
  1302 
  1292 	const TInt KBufLength = 0x100;
       
  1293 	TBuf8<KBufLength> buffer;
  1303 	TBuf8<KBufLength> buffer;
  1294     buffer.SetLength(0);
  1304     buffer.SetLength(0);
  1295 
  1305 
  1296     //-- open the file
  1306     //-- open the file
  1297     nRes = file.Open(aFs, aFileName, EFileRead);
  1307     nRes = file.Open(aFs, aFileName, EFileRead);
  1298     test(nRes == KErrNone);
  1308     test_KErrNone(nRes);
  1299 
  1309 
  1300     //-- check file contents
  1310     //-- check file contents
  1301     TUint nFilePos=0;
  1311     TUint nFilePos=0;
  1302     for(;;)
  1312     for(;;)
  1303     {
  1313     {
  1304         //-- read data from the file into the buffer
  1314         //-- read data from the file into the buffer
  1305         nRes = file.Read(buffer);
  1315         nRes = file.Read(buffer);
  1306         test(nRes == KErrNone);
  1316         test_KErrNone(nRes);
  1307 
  1317 
  1308         if(buffer.Length() == 0)
  1318         if(buffer.Length() == 0)
  1309         {
  1319         {
  1310             nRes = KErrNone; //-- read all the file, no illegitimate information found
  1320             nRes = KErrNone; //-- read all the file, no illegitimate information found
  1311             break; //EOF
  1321             break; //EOF
  1312         }
  1322         }
  1313 
  1323 
       
  1324 #ifdef __NFE_MEDIA_DRIVER_PRESENT__
       
  1325 		// check the buffer doesn't contain the same pattern written to it by CreateStuffedFile()
       
  1326 		TUint i;
       
  1327 		for(i = 0; i < KBufLength; i++)
       
  1328 			if (buffer[i] != static_cast<TUint8> (i))
       
  1329 				break;
       
  1330 		if (i == KBufLength)
       
  1331 			{
       
  1332             nRes = KErrCorrupt; //-- indicate that the read buffer contains illegitimate information
       
  1333             break; //-- comment this out if you need a full dump of the file
       
  1334 			}
       
  1335 #else
  1314         //-- check if the buffer contains only allowed data (RAM page initialisation data, etc. e.g. 0x00, 0xff, 0x03, 0xcc)
  1336         //-- check if the buffer contains only allowed data (RAM page initialisation data, etc. e.g. 0x00, 0xff, 0x03, 0xcc)
  1315         if(!CheckBufferContents(buffer, nFilePos))
  1337         if(!CheckBufferContents(buffer, nFilePos))
  1316         {
  1338         {
  1317             test.Printf(_L("\nCheckFileContents failed ! The file contains illegitimate information!\n"));
  1339             test.Printf(_L("\nCheckFileContents failed ! The file contains illegitimate information!\n"));
  1318             nRes = KErrCorrupt; //-- indicate that the read buffer contains illegitimate information
  1340             nRes = KErrCorrupt; //-- indicate that the read buffer contains illegitimate information
  1319             break; //-- comment this out if you need a full dump of the file
  1341             break; //-- comment this out if you need a full dump of the file
  1320         }
  1342         }
       
  1343 #endif
  1321 
  1344 
  1322         nFilePos+=buffer.Length();
  1345         nFilePos+=buffer.Length();
  1323     }
  1346     }
  1324 
  1347 
  1325     file.Close();
  1348     file.Close();