kerneltest/f32test/server/t_dctcballfiles.cpp
changeset 109 b3a1d9898418
parent 0 a41df078684a
child 245 647ab20fee2e
equal deleted inserted replaced
102:ef2a444a7410 109:b3a1d9898418
    11 // Contributors:
    11 // Contributors:
    12 //
    12 //
    13 // Description:
    13 // Description:
    14 //
    14 //
    15 
    15 
       
    16 #define __E32TEST_EXTENSION__
    16 #include <f32file.h>
    17 #include <f32file.h>
    17 #include <e32test.h>
    18 #include <e32test.h>
    18 #include <e32std.h>
    19 #include <e32std.h>
    19 #include <e32std_private.h>
    20 #include <e32std_private.h>
    20 #include <e32svr.h>
    21 #include <e32svr.h>
   104 	
   105 	
   105 	mkdirname.Zero();
   106 	mkdirname.Zero();
   106 	mkdirname.Append(systestname);
   107 	mkdirname.Append(systestname);
   107 	mkdirname.Append(KMkDirSub);
   108 	mkdirname.Append(KMkDirSub);
   108 	r=TheFs.MkDirAll(mkdirname);	
   109 	r=TheFs.MkDirAll(mkdirname);	
   109 	test(r==KErrNone);
   110 	test_KErrNone(r);
   110 
   111 
   111 	TheFs.RmDir(mkdirname);
   112 	TheFs.RmDir(mkdirname);
   112 	test(r==KErrNone);
   113 	test_KErrNone(r);
   113 
   114 
   114 	r=TheFs.SetSubst(systestname,EDriveO);
   115 	r=TheFs.SetSubst(systestname,EDriveO);
   115 	test(r==KErrPermissionDenied);
   116 	test_Value(r, r == KErrPermissionDenied);
   116 	
   117 	
   117 	r=TheFs.RealName(_L("O:\\File.XXX"),realName);
   118 	r=TheFs.RealName(_L("O:\\File.XXX"),realName);
   118 	test(r==KErrNone);
   119 	test_KErrNone(r);
   119 
   120 
   120 	r=TheFs.SetSessionPath(systestname);
   121 	r=TheFs.SetSessionPath(systestname);
   121 	test(r==KErrNone);
   122 	test_KErrNone(r);
   122 	
   123 	
   123 	TheFs.NotifyChange(ENotifyAll,aStat1,systestname);
   124 	TheFs.NotifyChange(ENotifyAll,aStat1,systestname);
   124 	test(aStat1==KRequestPending);
   125 	test(aStat1==KRequestPending);
   125 
   126 
   126 	systestfile=KSystemPath;
   127 	systestfile=KSystemPath;
   131 	
   132 	
   132 	oldName=KOldFile;
   133 	oldName=KOldFile;
   133 	oldName[0]=(TText)gDriveToTest;
   134 	oldName[0]=(TText)gDriveToTest;
   134 
   135 
   135 	r=TheFs.GetShortName(systestfile, shortfilename);
   136 	r=TheFs.GetShortName(systestfile, shortfilename);
   136 	test(r==KErrNotFound || r==KErrNotSupported);
   137 	test_Value(r, r == KErrNotFound || r==KErrNotSupported);
   137 
   138 
   138 	r=TheFs.GetLongName(systestfile1, longfilename);
   139 	r=TheFs.GetLongName(systestfile1, longfilename);
   139 	test(r==KErrNotFound || r==KErrNotSupported);
   140 	test_Value(r, r == KErrNotFound || r==KErrNotSupported);
   140 
   141 
   141 	r=file1.Create(TheFs,oldName,EFileWrite);
   142 	r=file1.Create(TheFs,oldName,EFileWrite);
   142 	test(r==KErrNone || r==KErrAlreadyExists);
   143 	test_Value(r, r == KErrNone || r==KErrAlreadyExists);
   143 	file1.Close();
   144 	file1.Close();
   144 
   145 
   145 	r=TheFs.Replace(oldName,systestfile);
   146 	r=TheFs.Replace(oldName,systestfile);
   146 	test(r==KErrNone);
   147 	test_KErrNone(r);
   147 	
   148 	
   148 	r=TheFs.Rename(systestfile,systestfile1);
   149 	r=TheFs.Rename(systestfile,systestfile1);
   149 	test(r==KErrNone);
   150 	test_KErrNone(r);
   150 	
   151 	
   151 	r=TheFs.Entry(systestfile1,entry);
   152 	r=TheFs.Entry(systestfile1,entry);
   152 	test(r==KErrNone);
   153 	test_KErrNone(r);
   153 
   154 
   154 	r=TheFs.SetEntry(systestfile1,testtime,KEntryAttNormal,KEntryAttReadOnly);
   155 	r=TheFs.SetEntry(systestfile1,testtime,KEntryAttNormal,KEntryAttReadOnly);
   155 	test(r==KErrNone);
   156 	test_KErrNone(r);
   156 
   157 
   157 	r=TheFs.Delete(systestfile1);
   158 	r=TheFs.Delete(systestfile1);
   158 	test(r==KErrNone);
   159 	test_KErrNone(r);
   159 	}
   160 	}
   160 
   161 
   161 LOCAL_C void ResourceRFsTest()
   162 LOCAL_C void ResourceRFsTest()
   162 //
   163 //
   163 //
   164 //
   168 	
   169 	
   169 	mkdirname.Zero();
   170 	mkdirname.Zero();
   170 	mkdirname.Append(restestname);
   171 	mkdirname.Append(restestname);
   171 	mkdirname.Append(KMkDirSub);
   172 	mkdirname.Append(KMkDirSub);
   172 	r=TheFs.MkDirAll(mkdirname);	
   173 	r=TheFs.MkDirAll(mkdirname);	
   173 	test(r==KErrNone);
   174 	test_KErrNone(r);
   174 
   175 
   175 	TheFs.RmDir(mkdirname);
   176 	TheFs.RmDir(mkdirname);
   176 	test(r==KErrNone);
   177 	test_KErrNone(r);
   177 
   178 
   178 	r=TheFs.SetSubst(restestname,EDriveO);
   179 	r=TheFs.SetSubst(restestname,EDriveO);
   179 	test(r==KErrPermissionDenied);
   180 	test_Value(r, r == KErrPermissionDenied);
   180 	
   181 	
   181 	r=TheFs.RealName(_L("O:\\File.XXX"),realName);
   182 	r=TheFs.RealName(_L("O:\\File.XXX"),realName);
   182 	test(r==KErrNone);
   183 	test_KErrNone(r);
   183 
   184 
   184 	r=TheFs.SetSessionPath(restestname);
   185 	r=TheFs.SetSessionPath(restestname);
   185 	test(r==KErrNone);
   186 	test_KErrNone(r);
   186 	
   187 	
   187 	TheFs.NotifyChange(ENotifyAll,aStat4,restestname);
   188 	TheFs.NotifyChange(ENotifyAll,aStat4,restestname);
   188 	test(aStat4==KRequestPending);
   189 	test(aStat4==KRequestPending);
   189 
   190 
   190 	restestfile=KResourcePath;
   191 	restestfile=KResourcePath;
   195 	
   196 	
   196 	oldName=KOldFile;
   197 	oldName=KOldFile;
   197 	oldName[0]=(TText)gDriveToTest;
   198 	oldName[0]=(TText)gDriveToTest;
   198 
   199 
   199 	r=TheFs.GetShortName(restestfile, shortfilename);
   200 	r=TheFs.GetShortName(restestfile, shortfilename);
   200 	test(r==KErrNone || KErrNotFound || r==KErrNotSupported);
   201 	test_Value(r, r == KErrNone || r == KErrNotFound || r==KErrNotSupported);
   201 
   202 
   202 	r=TheFs.GetLongName(restestfile1, longfilename);
   203 	r=TheFs.GetLongName(restestfile1, longfilename);
   203 	test(r==KErrNone || KErrNotFound || r==KErrNotSupported);
   204 	test_Value(r, r == KErrNone || r == KErrNotFound || r==KErrNotSupported);
   204 
   205 
   205 	r=file1.Create(TheFs,oldName,EFileWrite);
   206 	r=file1.Create(TheFs,oldName,EFileWrite);
   206 	test(r==KErrNone || r==KErrAlreadyExists);
   207 	test_Value(r, r == KErrNone || r==KErrAlreadyExists);
   207 	file1.Close();
   208 	file1.Close();
   208 
   209 
   209 	r=TheFs.Replace(oldName,restestfile);
   210 	r=TheFs.Replace(oldName,restestfile);
   210 	test(r==KErrNone);
   211 	test_KErrNone(r);
   211 	
   212 	
   212 	r=TheFs.Rename(restestfile,restestfile1);
   213 	r=TheFs.Rename(restestfile,restestfile1);
   213 	test(r==KErrNone);
   214 	test_KErrNone(r);
   214 	
   215 	
   215 	r=TheFs.Entry(restestfile1,entry);
   216 	r=TheFs.Entry(restestfile1,entry);
   216 	test(r==KErrNone);
   217 	test_KErrNone(r);
   217 
   218 
   218 	r=TheFs.SetEntry(restestfile1,testtime,KEntryAttNormal,KEntryAttReadOnly);
   219 	r=TheFs.SetEntry(restestfile1,testtime,KEntryAttNormal,KEntryAttReadOnly);
   219 	test(r==KErrNone);
   220 	test_KErrNone(r);
   220 
   221 
   221 	r=TheFs.Delete(restestfile1);
   222 	r=TheFs.Delete(restestfile1);
   222 	test(r==KErrNone);
   223 	test_KErrNone(r);
   223 
   224 
   224 	}
   225 	}
   225 
   226 
   226 
   227 
   227 LOCAL_C void privatefalseIDRFsTest()
   228 LOCAL_C void privatefalseIDRFsTest()
   235 	mkdirname.Zero();
   236 	mkdirname.Zero();
   236 	mkdirname.Append(pritestfalseidname);
   237 	mkdirname.Append(pritestfalseidname);
   237 	mkdirname.Append(KMkDirSub);
   238 	mkdirname.Append(KMkDirSub);
   238 
   239 
   239 	r=TheFs.MkDirAll(mkdirname);	
   240 	r=TheFs.MkDirAll(mkdirname);	
   240 	test(r==KErrNone);
   241 	test_KErrNone(r);
   241 
   242 
   242 	r=TheFs.RmDir(mkdirname);	
   243 	r=TheFs.RmDir(mkdirname);	
   243 	test(r==KErrNone);
   244 	test_KErrNone(r);
   244 
   245 
   245 	r=TheFs.SetSubst(pritestfalseidname,EDriveO);
   246 	r=TheFs.SetSubst(pritestfalseidname,EDriveO);
   246 	test(r==KErrPermissionDenied);
   247 	test_Value(r, r == KErrPermissionDenied);
   247 
   248 
   248 	r=TheFs.RealName(_L("O:\\File.XXX"),realName);
   249 	r=TheFs.RealName(_L("O:\\File.XXX"),realName);
   249 	test(r==KErrNone);
   250 	test_KErrNone(r);
   250 
   251 
   251 	r=TheFs.SetSessionPath(pritestfalseidname);
   252 	r=TheFs.SetSessionPath(pritestfalseidname);
   252 	test(r==KErrNone);
   253 	test_KErrNone(r);
   253 
   254 
   254 	TheFs.NotifyChange(ENotifyAll,aStat2,pritestfalseidname);
   255 	TheFs.NotifyChange(ENotifyAll,aStat2,pritestfalseidname);
   255 	test(aStat2==KRequestPending);
   256 	test(aStat2==KRequestPending);
   256 
   257 
   257 
   258 
   263 	
   264 	
   264 	oldName=KOldFile;
   265 	oldName=KOldFile;
   265 	oldName[0]=(TText)gDriveToTest;
   266 	oldName[0]=(TText)gDriveToTest;
   266 
   267 
   267 	r=TheFs.GetShortName(pritestfile, shortfilename);
   268 	r=TheFs.GetShortName(pritestfile, shortfilename);
   268 	test(r==KErrNone || r==KErrNotFound || r==KErrNotSupported);
   269 	test_Value(r, r == KErrNone || r==KErrNotFound || r==KErrNotSupported);
   269 
   270 
   270 	r=TheFs.GetLongName(pritestfile1, longfilename);
   271 	r=TheFs.GetLongName(pritestfile1, longfilename);
   271 	test(r==KErrNone || r==KErrNotFound || r==KErrNotSupported);
   272 	test_Value(r, r == KErrNone || r==KErrNotFound || r==KErrNotSupported);
   272 
   273 
   273 	r=file1.Create(TheFs,oldName,EFileWrite);
   274 	r=file1.Create(TheFs,oldName,EFileWrite);
   274 	test(r==KErrNone || r==KErrAlreadyExists);
   275 	test_Value(r, r == KErrNone || r==KErrAlreadyExists);
   275 	file1.Close();
   276 	file1.Close();
   276 
   277 
   277 	r=TheFs.Replace(oldName,pritestfile);
   278 	r=TheFs.Replace(oldName,pritestfile);
   278 	test(r==KErrNone);
   279 	test_KErrNone(r);
   279 	
   280 	
   280 	r=TheFs.Rename(pritestfile,pritestfile1);
   281 	r=TheFs.Rename(pritestfile,pritestfile1);
   281 	test(r==KErrNone);
   282 	test_KErrNone(r);
   282 	
   283 	
   283 	r=TheFs.Entry(pritestfile1,entry);
   284 	r=TheFs.Entry(pritestfile1,entry);
   284 	test(r==KErrNone);
   285 	test_KErrNone(r);
   285 
   286 
   286 	r=TheFs.SetEntry(pritestfile1,testtime,KEntryAttNormal,KEntryAttReadOnly);
   287 	r=TheFs.SetEntry(pritestfile1,testtime,KEntryAttNormal,KEntryAttReadOnly);
   287 	test(r==KErrNone);
   288 	test_KErrNone(r);
   288 
   289 
   289 	r=TheFs.Delete(pritestfile1);
   290 	r=TheFs.Delete(pritestfile1);
   290 	test(r==KErrNone);
   291 	test_KErrNone(r);
   291 
   292 
   292 	}
   293 	}
   293 
   294 
   294 
   295 
   295 LOCAL_C void privateRFsTest()
   296 LOCAL_C void privateRFsTest()
   304 	mkdirname.Zero();
   305 	mkdirname.Zero();
   305 	mkdirname.Append(pritestname);
   306 	mkdirname.Append(pritestname);
   306 	mkdirname.Append(KMkDirSub);
   307 	mkdirname.Append(KMkDirSub);
   307 
   308 
   308 	r=TheFs.MkDirAll(mkdirname);	
   309 	r=TheFs.MkDirAll(mkdirname);	
   309 	test(r==KErrNone);
   310 	test_KErrNone(r);
   310 
   311 
   311 	r=TheFs.RmDir(mkdirname);	
   312 	r=TheFs.RmDir(mkdirname);	
   312 	test(r==KErrNone);
   313 	test_KErrNone(r);
   313 
   314 
   314 	r=TheFs.SetSubst(pritestname,EDriveO);
   315 	r=TheFs.SetSubst(pritestname,EDriveO);
   315 	test(r==KErrPermissionDenied);
   316 	test_Value(r, r == KErrPermissionDenied);
   316 
   317 
   317 	r=TheFs.RealName(_L("O:\\File.XXX"),realName);
   318 	r=TheFs.RealName(_L("O:\\File.XXX"),realName);
   318 	test(r==KErrNone);
   319 	test_KErrNone(r);
   319 
   320 
   320 	r=TheFs.SetSessionPath(pritestname);
   321 	r=TheFs.SetSessionPath(pritestname);
   321 	test(r==KErrNone);
   322 	test_KErrNone(r);
   322 
   323 
   323 	TheFs.NotifyChange(ENotifyAll,aStat2,pritestname);
   324 	TheFs.NotifyChange(ENotifyAll,aStat2,pritestname);
   324 	test(aStat2==KRequestPending);
   325 	test(aStat2==KRequestPending);
   325 
   326 
   326 
   327 
   332 	
   333 	
   333 	oldName=KOldFile;
   334 	oldName=KOldFile;
   334 	oldName[0]=(TText)gDriveToTest;
   335 	oldName[0]=(TText)gDriveToTest;
   335 
   336 
   336 	r=TheFs.GetShortName(pritestfile, shortfilename);
   337 	r=TheFs.GetShortName(pritestfile, shortfilename);
   337 	test(r==KErrNone || r==KErrNotFound || r==KErrNotSupported);
   338 	test_Value(r, r == KErrNone || r==KErrNotFound || r==KErrNotSupported);
   338 
   339 
   339 	r=TheFs.GetLongName(pritestfile1, longfilename);
   340 	r=TheFs.GetLongName(pritestfile1, longfilename);
   340 	test(r==KErrNone || r==KErrNotFound || r==KErrNotSupported);
   341 	test_Value(r, r == KErrNone || r==KErrNotFound || r==KErrNotSupported);
   341 
   342 
   342 	r=file1.Create(TheFs,oldName,EFileWrite);
   343 	r=file1.Create(TheFs,oldName,EFileWrite);
   343 	test(r==KErrNone || r==KErrAlreadyExists);
   344 	test_Value(r, r == KErrNone || r==KErrAlreadyExists);
   344 	file1.Close();
   345 	file1.Close();
   345 
   346 
   346 	r=TheFs.Replace(oldName,pritestfile);
   347 	r=TheFs.Replace(oldName,pritestfile);
   347 	test(r==KErrNone);
   348 	test_KErrNone(r);
   348 	
   349 	
   349 	r=TheFs.Rename(pritestfile,pritestfile1);
   350 	r=TheFs.Rename(pritestfile,pritestfile1);
   350 	test(r==KErrNone);
   351 	test_KErrNone(r);
   351 	
   352 	
   352 	r=TheFs.Entry(pritestfile1,entry);
   353 	r=TheFs.Entry(pritestfile1,entry);
   353 	test(r==KErrNone);
   354 	test_KErrNone(r);
   354 
   355 
   355 	r=TheFs.SetEntry(pritestfile1,testtime,KEntryAttNormal,KEntryAttReadOnly);
   356 	r=TheFs.SetEntry(pritestfile1,testtime,KEntryAttNormal,KEntryAttReadOnly);
   356 	test(r==KErrNone);
   357 	test_KErrNone(r);
   357 
   358 
   358 	r=TheFs.Delete(pritestfile1);
   359 	r=TheFs.Delete(pritestfile1);
   359 	test(r==KErrNone);
   360 	test_KErrNone(r);
   360 
   361 
   361 	}
   362 	}
   362 
   363 
   363 
   364 
   364 LOCAL_C void privateSIDRFstest()
   365 LOCAL_C void privateSIDRFstest()
   368 
   369 
   369 	mkdirname.Zero();
   370 	mkdirname.Zero();
   370 	mkdirname.Append(theprivatepath);
   371 	mkdirname.Append(theprivatepath);
   371 	mkdirname.Append(KMkDirSub);
   372 	mkdirname.Append(KMkDirSub);
   372 	r=TheFs.MkDirAll(mkdirname);	
   373 	r=TheFs.MkDirAll(mkdirname);	
   373 	test(r==KErrNone);
   374 	test_KErrNone(r);
   374 
   375 
   375 	r=TheFs.RmDir(mkdirname);	
   376 	r=TheFs.RmDir(mkdirname);	
   376 	test(r==KErrNone);
   377 	test_KErrNone(r);
   377 
   378 
   378 	r=TheFs.SetSubst(theprivatepath,EDriveO);	
   379 	r=TheFs.SetSubst(theprivatepath,EDriveO);	
   379 	test(r==KErrPermissionDenied);
   380 	test_Value(r, r == KErrPermissionDenied);
   380 
   381 
   381 	r=TheFs.RealName(_L("O:\\File.XXX"),realName);
   382 	r=TheFs.RealName(_L("O:\\File.XXX"),realName);
   382 	test(r==KErrNone);
   383 	test_KErrNone(r);
   383 
   384 
   384 	r=TheFs.SetSessionPath(theprivatepath);
   385 	r=TheFs.SetSessionPath(theprivatepath);
   385 	test(r==KErrNone);
   386 	test_KErrNone(r);
   386 
   387 
   387 	TheFs.NotifyChange(ENotifyAll,aStat3,theprivatepath);
   388 	TheFs.NotifyChange(ENotifyAll,aStat3,theprivatepath);
   388 	test(aStat3==KRequestPending);
   389 	test(aStat3==KRequestPending);
   389 
   390 
   390 	pritestfile=theprivatepath;
   391 	pritestfile=theprivatepath;
   395 	
   396 	
   396 	oldName=KOldFile;
   397 	oldName=KOldFile;
   397 	oldName[0]=(TText)gDriveToTest;
   398 	oldName[0]=(TText)gDriveToTest;
   398 
   399 
   399 	r=TheFs.GetShortName(pritestfile, shortfilename);
   400 	r=TheFs.GetShortName(pritestfile, shortfilename);
   400 	test(r==KErrNone || r==KErrNotFound || r==KErrNotSupported);
   401 	test_Value(r, r == KErrNone || r==KErrNotFound || r==KErrNotSupported);
   401 
   402 
   402 	r=TheFs.GetLongName(pritestfile1, longfilename);
   403 	r=TheFs.GetLongName(pritestfile1, longfilename);
   403 	test(r==KErrNone || r==KErrNotFound || r==KErrNotSupported);
   404 	test_Value(r, r == KErrNone || r==KErrNotFound || r==KErrNotSupported);
   404 
   405 
   405 	r=file1.Create(TheFs,oldName,EFileWrite);
   406 	r=file1.Create(TheFs,oldName,EFileWrite);
   406 	test(r==KErrNone || r==KErrAlreadyExists);
   407 	test_Value(r, r == KErrNone || r==KErrAlreadyExists);
   407 	file1.Close();
   408 	file1.Close();
   408 
   409 
   409 	r=TheFs.Replace(oldName,pritestfile);
   410 	r=TheFs.Replace(oldName,pritestfile);
   410 	test(r==KErrNone);
   411 	test_KErrNone(r);
   411 	
   412 	
   412 	r=TheFs.Rename(pritestfile,pritestfile1);
   413 	r=TheFs.Rename(pritestfile,pritestfile1);
   413 	test(r==KErrNone || r==KErrAlreadyExists);
   414 	test_Value(r, r == KErrNone || r==KErrAlreadyExists);
   414 	
   415 	
   415 	r=TheFs.Entry(pritestfile1,entry);
   416 	r=TheFs.Entry(pritestfile1,entry);
   416 	test(r==KErrNone);
   417 	test_KErrNone(r);
   417 
   418 
   418 	r=TheFs.SetEntry(pritestfile1,testtime,KEntryAttNormal,KEntryAttReadOnly);
   419 	r=TheFs.SetEntry(pritestfile1,testtime,KEntryAttNormal,KEntryAttReadOnly);
   419 	test(r==KErrNone);
   420 	test_KErrNone(r);
   420 
   421 
   421 	r=TheFs.Delete(pritestfile1);
   422 	r=TheFs.Delete(pritestfile1);
   422 	test(r==KErrNone);
   423 	test_KErrNone(r);
   423 	}
   424 	}
   424 
   425 
   425 
   426 
   426 LOCAL_C void systemRFiletest()
   427 LOCAL_C void systemRFiletest()
   427 //
   428 //
   428 //RFile testing with session path set to //system//
   429 //RFile testing with session path set to //system//
   429 //
   430 //
   430 	{
   431 	{
   431 
   432 
   432 	r=TheFs.SetSessionPath(systestname);
   433 	r=TheFs.SetSessionPath(systestname);
   433 	test(r==KErrNone);
   434 	test_KErrNone(r);
   434 
   435 
   435 	r=file1.Temp(TheFs,systestname,fromTemp,EFileWrite);
   436 	r=file1.Temp(TheFs,systestname,fromTemp,EFileWrite);
   436 	test(r==KErrNone);
   437 	test_KErrNone(r);
   437 	file1.Close();
   438 	file1.Close();
   438 
   439 
   439 	r=file1.Create(TheFs,KFileSys,EFileWrite);
   440 	r=file1.Create(TheFs,KFileSys,EFileWrite);
   440 	test(r==KErrNone);
   441 	test_KErrNone(r);
   441 	file1.Close();
   442 	file1.Close();
   442 
   443 
   443 	r=file1.Open(TheFs,KFileSys,EFileWrite);
   444 	r=file1.Open(TheFs,KFileSys,EFileWrite);
   444 	test(r==KErrNone);
   445 	test_KErrNone(r);
   445 	file1.Close();
   446 	file1.Close();
   446 	
   447 	
   447 	r=file1.Open(TheFs,KFileSys,EFileRead);
   448 	r=file1.Open(TheFs,KFileSys,EFileRead);
   448 	test(r==KErrNone);
   449 	test_KErrNone(r);
   449 	file1.Close();
   450 	file1.Close();
   450 
   451 
   451 	r=file1.Replace(TheFs,KFileSys,EFileWrite);
   452 	r=file1.Replace(TheFs,KFileSys,EFileWrite);
   452 	test(r==KErrNone);
   453 	test_KErrNone(r);
   453 	
   454 	
   454 	r=file1.Rename(KFileSys3);
   455 	r=file1.Rename(KFileSys3);
   455 	test(r==KErrNone);
   456 	test_KErrNone(r);
   456 	file1.Close();
   457 	file1.Close();
   457 
   458 
   458     TFindFile finder(TheFs);
   459     TFindFile finder(TheFs);
   459     CDir* dir = NULL;
   460     CDir* dir = NULL;
   460     r=finder.FindWildByDir(KWildFile, KWildPath, dir);
   461     r=finder.FindWildByDir(KWildFile, KWildPath, dir);
   461 	if (!(r==KErrNone))
   462 	if (!(r==KErrNone))
   462         test.Printf(_L("T_DCTCBALLFILES: test find wildcards r = %d (expected KErrNone)\n"), r);
   463         test.Printf(_L("T_DCTCBALLFILES: test find wildcards r = %d (expected KErrNone)\n"), r);
   463 	test(r==KErrNone);
   464 	test_KErrNone(r);
   464 	delete dir;
   465 	delete dir;
   465 	}
   466 	}
   466 
   467 
   467 LOCAL_C void resourceRFiletest()
   468 LOCAL_C void resourceRFiletest()
   468 //
   469 //
   469 //RFile testing with session path set to //resource//
   470 //RFile testing with session path set to //resource//
   470 //
   471 //
   471 	{
   472 	{
   472 	r=TheFs.SetSessionPath(restestname);
   473 	r=TheFs.SetSessionPath(restestname);
   473 	test(r==KErrNone);
   474 	test_KErrNone(r);
   474 
   475 
   475 	r=file1.Temp(TheFs,restestname,fromTemp,EFileWrite);
   476 	r=file1.Temp(TheFs,restestname,fromTemp,EFileWrite);
   476 	test(r==KErrNone);
   477 	test_KErrNone(r);
   477 	file1.Close();
   478 	file1.Close();
   478 
   479 
   479 	r=file1.Create(TheFs,KFileRes,EFileWrite);
   480 	r=file1.Create(TheFs,KFileRes,EFileWrite);
   480 	test(r==KErrNone);
   481 	test_KErrNone(r);
   481 	file1.Close();
   482 	file1.Close();
   482 
   483 
   483 	r=file1.Open(TheFs,KFileRes,EFileWrite|EFileShareExclusive );
   484 	r=file1.Open(TheFs,KFileRes,EFileWrite|EFileShareExclusive );
   484 	test(r==KErrNone);
   485 	test_KErrNone(r);
   485 	
   486 	
   486 	r=file1.Rename(KFileRes3);
   487 	r=file1.Rename(KFileRes3);
   487 	test(r==KErrNone);
   488 	test_KErrNone(r);
   488 	file1.Close();
   489 	file1.Close();
   489 
   490 
   490 	r=file1.Open(TheFs,KFileRes3,EFileShareReadersOrWriters|EFileRead);
   491 	r=file1.Open(TheFs,KFileRes3,EFileShareReadersOrWriters|EFileRead);
   491 	test(r==KErrNone);
   492 	test_KErrNone(r);
   492 	file1.Close();
   493 	file1.Close();
   493 
   494 
   494 	r=file1.Open(TheFs,KFileRes3,EFileShareReadersOrWriters|EFileWrite);
   495 	r=file1.Open(TheFs,KFileRes3,EFileShareReadersOrWriters|EFileWrite);
   495 	test(r==KErrNone);
   496 	test_KErrNone(r);
   496 	file1.Close();
   497 	file1.Close();
   497 
   498 
   498 	r=file1.Open(TheFs,KFileRes3,EFileShareReadersOnly);
   499 	r=file1.Open(TheFs,KFileRes3,EFileShareReadersOnly);
   499 	test(r==KErrNone);
   500 	test_KErrNone(r);
   500 
   501 
   501 	r=file1.ChangeMode(EFileShareExclusive);
   502 	r=file1.ChangeMode(EFileShareExclusive);
   502 	test(r==KErrNone);
   503 	test_KErrNone(r);
   503 	file1.Close();
   504 	file1.Close();
   504 
   505 
   505 	r=file1.Replace(TheFs,KFileRes,EFileWrite);
   506 	r=file1.Replace(TheFs,KFileRes,EFileWrite);
   506 	test(r==KErrNone);
   507 	test_KErrNone(r);
   507 	file1.Close();	
   508 	file1.Close();	
   508 	}
   509 	}
   509 
   510 
   510 
   511 
   511 LOCAL_C void privateRFiletest()
   512 LOCAL_C void privateRFiletest()
   512 //
   513 //
   513 //RFile testing with session path set to //Private//
   514 //RFile testing with session path set to //Private//
   514 //
   515 //
   515 	{
   516 	{
   516 	r=TheFs.SetSessionPath(pritestfalseidname);
   517 	r=TheFs.SetSessionPath(pritestfalseidname);
   517 	test(r==KErrNone);
   518 	test_KErrNone(r);
   518 
   519 
   519 	r=file1.Temp(TheFs,pritestfalseidname,fromTemp,EFileWrite);
   520 	r=file1.Temp(TheFs,pritestfalseidname,fromTemp,EFileWrite);
   520 	test(r==KErrNone);
   521 	test_KErrNone(r);
   521 	file1.Close();
   522 	file1.Close();
   522 
   523 
   523 	r=file1.Create(TheFs,KFilePri,EFileWrite);
   524 	r=file1.Create(TheFs,KFilePri,EFileWrite);
   524 	test(r==KErrNone);
   525 	test_KErrNone(r);
   525 	file1.Close();
   526 	file1.Close();
   526 
   527 
   527 	r=file1.Open(TheFs,KFilePri,EFileWrite);
   528 	r=file1.Open(TheFs,KFilePri,EFileWrite);
   528 	test(r==KErrNone);
   529 	test_KErrNone(r);
   529 	file1.Close();
   530 	file1.Close();
   530 	
   531 	
   531 	r=file1.Open(TheFs,KFilePri,EFileRead);
   532 	r=file1.Open(TheFs,KFilePri,EFileRead);
   532 	test(r==KErrNone);
   533 	test_KErrNone(r);
   533 	file1.Close();
   534 	file1.Close();
   534 	
   535 	
   535 	r=file1.Replace(TheFs,KFilePri,EFileWrite);
   536 	r=file1.Replace(TheFs,KFilePri,EFileWrite);
   536 	test(r==KErrNone);
   537 	test_KErrNone(r);
   537 	
   538 	
   538 	r=file1.Rename(KFilePri3);
   539 	r=file1.Rename(KFilePri3);
   539 	test(r==KErrNone);
   540 	test_KErrNone(r);
   540 	file1.Close();
   541 	file1.Close();
   541 	}
   542 	}
   542 
   543 
   543 
   544 
   544 LOCAL_C void privatefalseIDRFiletest()
   545 LOCAL_C void privatefalseIDRFiletest()
   545 //
   546 //
   546 //RFile testing with session path set to //Private//
   547 //RFile testing with session path set to //Private//
   547 //
   548 //
   548 	{
   549 	{
   549 	r=TheFs.SetSessionPath(pritestname);
   550 	r=TheFs.SetSessionPath(pritestname);
   550 	test(r==KErrNone);
   551 	test_KErrNone(r);
   551 
   552 
   552 	r=file1.Temp(TheFs,pritestname,fromTemp,EFileWrite);
   553 	r=file1.Temp(TheFs,pritestname,fromTemp,EFileWrite);
   553 	test(r==KErrNone);
   554 	test_KErrNone(r);
   554 	file1.Close();
   555 	file1.Close();
   555 
   556 
   556 	r=file1.Create(TheFs,KFilePri,EFileWrite);
   557 	r=file1.Create(TheFs,KFilePri,EFileWrite);
   557 	test(r==KErrNone);
   558 	test_KErrNone(r);
   558 	file1.Close();
   559 	file1.Close();
   559 
   560 
   560 	r=file1.Open(TheFs,KFilePri,EFileWrite);
   561 	r=file1.Open(TheFs,KFilePri,EFileWrite);
   561 	test(r==KErrNone);
   562 	test_KErrNone(r);
   562 	file1.Close();
   563 	file1.Close();
   563 	
   564 	
   564 	r=file1.Open(TheFs,KFilePri,EFileRead);
   565 	r=file1.Open(TheFs,KFilePri,EFileRead);
   565 	test(r==KErrNone);
   566 	test_KErrNone(r);
   566 	file1.Close();
   567 	file1.Close();
   567 	
   568 	
   568 	r=file1.Replace(TheFs,KFilePri,EFileWrite);
   569 	r=file1.Replace(TheFs,KFilePri,EFileWrite);
   569 	test(r==KErrNone);
   570 	test_KErrNone(r);
   570 	
   571 	
   571 	r=file1.Rename(KFilePri3);
   572 	r=file1.Rename(KFilePri3);
   572 	test(r==KErrNone);
   573 	test_KErrNone(r);
   573 	file1.Close();
   574 	file1.Close();
   574 	}
   575 	}
   575 
   576 
   576 
   577 
   577 LOCAL_C void privateSIDRFiletest()
   578 LOCAL_C void privateSIDRFiletest()
   578 //
   579 //
   579 //Rfile Testing with session path set to //Private//UID//
   580 //Rfile Testing with session path set to //Private//UID//
   580 //
   581 //
   581 	{
   582 	{
   582 	r=TheFs.SetSessionToPrivate(gTheDriveNum);
   583 	r=TheFs.SetSessionToPrivate(gTheDriveNum);
   583 	test(r==KErrNone);
   584 	test_KErrNone(r);
   584 	
   585 	
   585 	r=file1.Temp(TheFs,theprivatepath,fromTemp,EFileWrite);
   586 	r=file1.Temp(TheFs,theprivatepath,fromTemp,EFileWrite);
   586 	test(r==KErrNone);
   587 	test_KErrNone(r);
   587 	file1.Close();
   588 	file1.Close();
   588 
   589 
   589 	r=file1.Create(TheFs,KFilePri,EFileWrite);
   590 	r=file1.Create(TheFs,KFilePri,EFileWrite);
   590 	test(r==KErrNone);
   591 	test_KErrNone(r);
   591 	file1.Close();
   592 	file1.Close();
   592 
   593 
   593 	r=file1.Open(TheFs,KFilePri,EFileWrite);
   594 	r=file1.Open(TheFs,KFilePri,EFileWrite);
   594 	test(r==KErrNone);
   595 	test_KErrNone(r);
   595 	file1.Close();
   596 	file1.Close();
   596 	
   597 	
   597 	r=file1.Open(TheFs,KFilePri,EFileRead);
   598 	r=file1.Open(TheFs,KFilePri,EFileRead);
   598 	test(r==KErrNone);
   599 	test_KErrNone(r);
   599 	file1.Close();
   600 	file1.Close();
   600 	
   601 	
   601 	r=file1.Replace(TheFs,KFilePri,EFileWrite);
   602 	r=file1.Replace(TheFs,KFilePri,EFileWrite);
   602 	test(r==KErrNone);
   603 	test_KErrNone(r);
   603 	
   604 	
   604 	r=file1.Rename(KFilePri3);
   605 	r=file1.Rename(KFilePri3);
   605 	test(r==KErrNone);
   606 	test_KErrNone(r);
   606 	file1.Close();
   607 	file1.Close();
   607 	}
   608 	}
   608 
   609 
   609 LOCAL_C void RDirtest()
   610 LOCAL_C void RDirtest()
   610 //
   611 //
   615 	//system
   616 	//system
   616 	CDir*	dirEntries;
   617 	CDir*	dirEntries;
   617 	TBuf<30> dirNameBuf(KSystemPath);
   618 	TBuf<30> dirNameBuf(KSystemPath);
   618 	dirNameBuf[0]=(TText)gDriveToTest;
   619 	dirNameBuf[0]=(TText)gDriveToTest;
   619 	r=dir.Open(TheFs,dirNameBuf,KEntryAttNormal);
   620 	r=dir.Open(TheFs,dirNameBuf,KEntryAttNormal);
   620 	test(r==KErrNone);
   621 	test_KErrNone(r);
   621 	dir.Close();
   622 	dir.Close();
   622 	r=TheFs.GetDir(dirNameBuf,KEntryAttMatchMask,ESortByName,dirEntries);
   623 	r=TheFs.GetDir(dirNameBuf,KEntryAttMatchMask,ESortByName,dirEntries);
   623 	test(r==KErrNone);
   624 	test_KErrNone(r);
   624 	dirNameBuf.Zero();
   625 	dirNameBuf.Zero();
   625 	delete dirEntries;
   626 	delete dirEntries;
   626 
   627 
   627 	//Private
   628 	//Private
   628 	dirNameBuf=KPrivatePath;
   629 	dirNameBuf=KPrivatePath;
   629 	dirNameBuf[0]=(TText)gDriveToTest;
   630 	dirNameBuf[0]=(TText)gDriveToTest;
   630 	r=dir.Open(TheFs,dirNameBuf,KEntryAttNormal);
   631 	r=dir.Open(TheFs,dirNameBuf,KEntryAttNormal);
   631 	test(r==KErrNone);
   632 	test_KErrNone(r);
   632 	dir.Close();
   633 	dir.Close();
   633 	r=TheFs.GetDir(dirNameBuf,KEntryAttMatchMask,ESortByName,dirEntries);
   634 	r=TheFs.GetDir(dirNameBuf,KEntryAttMatchMask,ESortByName,dirEntries);
   634 	test(r==KErrNone);
   635 	test_KErrNone(r);
   635 	dirNameBuf.Zero();
   636 	dirNameBuf.Zero();
   636 	delete dirEntries;
   637 	delete dirEntries;
   637 
   638 
   638 	//Private//false ID
   639 	//Private//false ID
   639 	dirNameBuf=KPrivateFalseID;
   640 	dirNameBuf=KPrivateFalseID;
   640 	dirNameBuf[0]=(TText)gDriveToTest;
   641 	dirNameBuf[0]=(TText)gDriveToTest;
   641 	r=dir.Open(TheFs,dirNameBuf,KEntryAttNormal);
   642 	r=dir.Open(TheFs,dirNameBuf,KEntryAttNormal);
   642 	test(r==KErrNone);
   643 	test_KErrNone(r);
   643 	dir.Close();
   644 	dir.Close();
   644 	r=TheFs.GetDir(dirNameBuf,KEntryAttMatchMask,ESortByName,dirEntries);
   645 	r=TheFs.GetDir(dirNameBuf,KEntryAttMatchMask,ESortByName,dirEntries);
   645 	test(r==KErrNone);
   646 	test_KErrNone(r);
   646 	dirNameBuf.Zero();
   647 	dirNameBuf.Zero();
   647 	delete dirEntries;
   648 	delete dirEntries;
   648 
   649 
   649 	//Private/uid
   650 	//Private/uid
   650 	TheFs.PrivatePath(dirNameBuf);
   651 	TheFs.PrivatePath(dirNameBuf);
   651 	dirNameBuf.Insert(0,_L("?:"));
   652 	dirNameBuf.Insert(0,_L("?:"));
   652 	dirNameBuf[0]=(TText)gDriveToTest;
   653 	dirNameBuf[0]=(TText)gDriveToTest;
   653 	r=dir.Open(TheFs,dirNameBuf,KEntryAttNormal);
   654 	r=dir.Open(TheFs,dirNameBuf,KEntryAttNormal);
   654 	test(r==KErrNone);
   655 	test_KErrNone(r);
   655 	dir.Close();
   656 	dir.Close();
   656 	r=TheFs.GetDir(dirNameBuf,KEntryAttMatchMask,ESortByName,dirEntries);
   657 	r=TheFs.GetDir(dirNameBuf,KEntryAttMatchMask,ESortByName,dirEntries);
   657 	test(r==KErrNone);
   658 	test_KErrNone(r);
   658 	dirNameBuf.Zero();
   659 	dirNameBuf.Zero();
   659 	delete dirEntries;
   660 	delete dirEntries;
   660 	//Resource
   661 	//Resource
   661 	dirNameBuf=KResourcePath;
   662 	dirNameBuf=KResourcePath;
   662 	dirNameBuf[0]=(TText)gDriveToTest;
   663 	dirNameBuf[0]=(TText)gDriveToTest;
   663 	r=dir.Open(TheFs,dirNameBuf,KEntryAttNormal);
   664 	r=dir.Open(TheFs,dirNameBuf,KEntryAttNormal);
   664 	test(r==KErrNone);
   665 	test_KErrNone(r);
   665 	r=TheFs.GetDir(dirNameBuf,KEntryAttMatchMask,ESortByName,dirEntries);
   666 	r=TheFs.GetDir(dirNameBuf,KEntryAttMatchMask,ESortByName,dirEntries);
   666 	test(r==KErrNone);
   667 	test_KErrNone(r);
   667 	dir.Close();
   668 	dir.Close();
   668 	delete dirEntries;
   669 	delete dirEntries;
   669 	}
   670 	}
   670 
   671 
   671 
   672 
   673 //
   674 //
   674 //	Test with tcb capabilities
   675 //	Test with tcb capabilities
   675 //
   676 //
   676 	{
   677 	{
   677 	r=TheFs.FileSystemName(fsname,gTheDriveNum);
   678 	r=TheFs.FileSystemName(fsname,gTheDriveNum);
   678 	test(r==KErrNone);
   679 	test_KErrNone(r);
   679 	r = DismountFileSystem(TheFs, fsname, gTheDriveNum);
   680 	r = DismountFileSystem(TheFs, fsname, gTheDriveNum);
   680 	test(r==KErrPermissionDenied);
   681 	test_Value(r, r == KErrPermissionDenied);
   681 //	r=TheFs.RemoveFileSystem(fsname);	//can not test due to bug else where fix exists
   682 //	r=TheFs.RemoveFileSystem(fsname);	//can not test due to bug else where fix exists
   682 //	test(r==KErrNone);
   683 //	test_KErrNone(r);
   683 //	r=TheFs.AddFileSystem(fsname);
   684 //	r=TheFs.AddFileSystem(fsname);
   684 //	test(r==KErrNone);
   685 //	test_KErrNone(r);
   685 	r = MountFileSystem(TheFs, fsname, gTheDriveNum);
   686 	r = MountFileSystem(TheFs, fsname, gTheDriveNum);
   686 	test(r==KErrPermissionDenied);
   687 	test_Value(r, r == KErrPermissionDenied);
   687 	test.Printf(_L("r=%d"),r);
   688 	test.Printf(_L("r=%d"),r);
   688 	r=TheFs.SetDriveName(gTheDriveNum,KDriveName);
   689 	r=TheFs.SetDriveName(gTheDriveNum,KDriveName);
   689 	test(r==KErrPermissionDenied);
   690 	test_Value(r, r == KErrPermissionDenied);
   690 #ifndef __WINS__
   691 #ifndef __WINS__
   691  	r=TheFs.SetVolumeLabel(KVolLable, gTheDriveNum);
   692  	r=TheFs.SetVolumeLabel(KVolLable, gTheDriveNum);
   692 	test(r==KErrPermissionDenied);
   693 	test_Value(r, r == KErrPermissionDenied);
   693 #endif
   694 #endif
   694 
   695 
   695 	systemRFsTest();
   696 	systemRFsTest();
   696 	ResourceRFsTest();
   697 	ResourceRFsTest();
   697 	privateRFsTest();	
   698 	privateRFsTest();	
   713 	test(aStat2==KErrNone);
   714 	test(aStat2==KErrNone);
   714 	test(aStat3==KErrNone);
   715 	test(aStat3==KErrNone);
   715 	test(aStat4==KErrNone);
   716 	test(aStat4==KErrNone);
   716 
   717 
   717 	r=TheFs.SetSessionPath(systestname);
   718 	r=TheFs.SetSessionPath(systestname);
   718 	test(r==KErrNone);
   719 	test_KErrNone(r);
   719 	
   720 	
   720 //Test RRawDisk class
   721 //Test RRawDisk class
   721 	r=rawdisk.Open(TheFs,gTheDriveNum);
   722 	r=rawdisk.Open(TheFs,gTheDriveNum);
   722 	test(r==KErrNone);
   723 	test_KErrNone(r);
   723 	rawdisk.Close();
   724 	rawdisk.Close();
   724 
   725 
   725 	RDirtest();
   726 	RDirtest();
   726 
   727 
   727 #ifdef __WINS__
   728 #ifdef __WINS__
   728 	if (User::UpperCase(driveBuf[0]) != 'C')
   729 	if (User::UpperCase(driveBuf[0]) != 'C')
   729 #endif
   730 #endif
   730 		{
   731 		{
   731 		//Test RFormat class
   732 		//Test RFormat class
   732 		r=format.Open(TheFs,driveBuf,EHighDensity,count);
   733 		r=format.Open(TheFs,driveBuf,EHighDensity,count);
   733 		test(r==KErrPermissionDenied);
   734 		test_Value(r, r == KErrPermissionDenied);
   734 
   735 
   735 		while(count)	
   736 		while(count)	
   736 			{
   737 			{
   737 			TInt r=format.Next(count);
   738 			TInt r=format.Next(count);
   738 			test(r==KErrNone);
   739 			test_KErrNone(r);
   739 			}
   740 			}
   740 		format.Close();
   741 		format.Close();
   741 		}
   742 		}
   742 
   743 
   743 	driveBuf[0]=(TText)gDriveToTest;
   744 	driveBuf[0]=(TText)gDriveToTest;
   744 	r=TheFs.ScanDrive(driveBuf);
   745 	r=TheFs.ScanDrive(driveBuf);
   745 	RDebug::Print(_L("r=%d"),r);
   746 	RDebug::Print(_L("r=%d"),r);
   746 	test(r==KErrPermissionDenied);
   747 	test_Value(r, r == KErrPermissionDenied);
   747 	r=TheFs.CheckDisk(driveBuf);
   748 	r=TheFs.CheckDisk(driveBuf);
   748 	test(r==KErrPermissionDenied);
   749 	test_Value(r, r == KErrPermissionDenied);
   749 	}
   750 	}
   750 
   751 
   751 LOCAL_C void TestCaps()
   752 LOCAL_C void TestCaps()
   752 //
   753 //
   753 //	test format etc that require certain capabilities
   754 //	test format etc that require certain capabilities
   761 	r=RProcess().HasCapability(ECapabilityAllFiles, __PLATSEC_DIAGNOSTIC_STRING(myDiagMsg));
   762 	r=RProcess().HasCapability(ECapabilityAllFiles, __PLATSEC_DIAGNOSTIC_STRING(myDiagMsg));
   762 	test(r);
   763 	test(r);
   763 	
   764 	
   764 	driveBuf[0]=(TText)gDriveToTest;
   765 	driveBuf[0]=(TText)gDriveToTest;
   765 	r=TheFs.SessionPath(temp);
   766 	r=TheFs.SessionPath(temp);
   766 	test(r==KErrNone);
   767 	test_KErrNone(r);
   767 
   768 
   768 	test.Printf(_L("Session path: %S"),&temp);
   769 	test.Printf(_L("Session path: %S"),&temp);
   769 
   770 
   770 	r=TheFs.CreatePrivatePath(gTheDriveNum);
   771 	r=TheFs.CreatePrivatePath(gTheDriveNum);
   771 	test(r==KErrNone || r== KErrAlreadyExists);
   772 	test_Value(r, r == KErrNone || r== KErrAlreadyExists);
   772 
   773 
   773 	TBuf<18> tempPri;
   774 	TBuf<18> tempPri;
   774 	r=TheFs.PrivatePath(tempPri);
   775 	r=TheFs.PrivatePath(tempPri);
   775 	test(r==KErrNone);
   776 	test_KErrNone(r);
   776 	theprivatepath = _L("?:");
   777 	theprivatepath = _L("?:");
   777 	theprivatepath.Append(tempPri);
   778 	theprivatepath.Append(tempPri);
   778 
   779 
   779 	TestTcbAllfiles();
   780 	TestTcbAllfiles();
   780 	
   781 	
   781 	TFileName thesessionpath;
   782 	TFileName thesessionpath;
   782 	r=TheFs.SetSessionToPrivate(gTheDriveNum);
   783 	r=TheFs.SetSessionToPrivate(gTheDriveNum);
   783 	test(r==KErrNone);
   784 	test_KErrNone(r);
   784 	r=TheFs.SessionPath(thesessionpath);
   785 	r=TheFs.SessionPath(thesessionpath);
   785 	test(r==KErrNone);
   786 	test_KErrNone(r);
   786 
   787 
   787 	test(thesessionpath == theprivatepath);
   788 	test(thesessionpath == theprivatepath);
   788 	}
   789 	}
   789 
   790 
   790 
   791 
   792 
   793 
   793 LOCAL_C void ScanDir(const TDesC& aName, CDirScan::TScanDirection aDirection, TInt aError)
   794 LOCAL_C void ScanDir(const TDesC& aName, CDirScan::TScanDirection aDirection, TInt aError)
   794 	{
   795 	{
   795 	CDirScan* scanner = NULL;
   796 	CDirScan* scanner = NULL;
   796 	TRAP(r, scanner = CDirScan::NewL(TheFs));
   797 	TRAP(r, scanner = CDirScan::NewL(TheFs));
   797 	test(r == KErrNone && scanner);
   798 	test_Value(r, r == KErrNone && scanner);
   798 
   799 
   799 	TRAP(r, scanner->SetScanDataL(aName,KEntryAttDir,ESortByName|EAscending,aDirection));
   800 	TRAP(r, scanner->SetScanDataL(aName,KEntryAttDir,ESortByName|EAscending,aDirection));
   800 	test(r == KErrNone);
   801 	test_KErrNone(r);
   801 
   802 
   802 	CDir *entryList=NULL;
   803 	CDir *entryList=NULL;
   803 	for (;;)
   804 	for (;;)
   804 		{
   805 		{
   805 		TRAP(r, scanner->NextL(entryList));
   806 		TRAP(r, scanner->NextL(entryList));
   806 		test(r == aError);
   807 		test_Value(r, r == aError);
   807 		if (entryList==NULL)
   808 		if (entryList==NULL)
   808 			break;
   809 			break;
   809 
   810 
   810         TInt count=entryList->Count();
   811         TInt count=entryList->Count();
   811 
   812 
   843 		TBuf<30> privatepath;
   844 		TBuf<30> privatepath;
   844 		r=TheFs.PrivatePath(privatepath);
   845 		r=TheFs.PrivatePath(privatepath);
   845 		test.Printf(_L("Private Path is=%S"),&privatepath);
   846 		test.Printf(_L("Private Path is=%S"),&privatepath);
   846 		
   847 		
   847 		r = TheFs.MkDir(_L("\\Caged\\"));
   848 		r = TheFs.MkDir(_L("\\Caged\\"));
   848 		test(r==KErrNone || r==KErrAlreadyExists);
   849 		test_Value(r, r == KErrNone || r==KErrAlreadyExists);
   849 		
   850 		
   850 		CDir* entryCount=NULL;
   851 		CDir* entryCount=NULL;
   851 		r=TheFs.GetDir(_L("\\*.*"),KEntryAttNormal|KEntryAttDir,ESortNone,entryCount);
   852 		r=TheFs.GetDir(_L("\\*.*"),KEntryAttNormal|KEntryAttDir,ESortNone,entryCount);
   852 		test(r==KErrNone);
   853 		test_KErrNone(r);
   853 		
   854 		
   854 		delete entryCount;
   855 		delete entryCount;
   855 		entryCount=NULL;
   856 		entryCount=NULL;
   856 
   857 
   857 
   858 
   858 		//Testing Copy
   859 		//Testing Copy
   859 		CDir* entryCount2=NULL;
   860 		CDir* entryCount2=NULL;
   860 		r=fMan->Copy(_L("\\sys\\"),_L("\\Caged\\"));
   861 		r=fMan->Copy(_L("\\sys\\"),_L("\\Caged\\"));
   861 		test(r == KErrNone);
   862 		test_KErrNone(r);
   862 		r=fMan->Copy(_L("\\*"),_L("\\Caged\\"));
   863 		r=fMan->Copy(_L("\\*"),_L("\\Caged\\"));
   863 		test(r == KErrNone);
   864 		test_KErrNone(r);
   864 		
   865 		
   865 		r=TheFs.GetDir(_L("\\Caged\\*.*"),KEntryAttNormal|KEntryAttDir,ESortNone,entryCount2);
   866 		r=TheFs.GetDir(_L("\\Caged\\*.*"),KEntryAttNormal|KEntryAttDir,ESortNone,entryCount2);
   866 		test(r==KErrNone);
   867 		test_KErrNone(r);
   867 		
   868 		
   868 		delete entryCount2;
   869 		delete entryCount2;
   869 		entryCount2=NULL;
   870 		entryCount2=NULL;
   870 	
   871 	
   871 		r=fMan->Copy(_L("\\private\\two\\moo"),_L("\\private\\two\\mew")); 
   872 		r=fMan->Copy(_L("\\private\\two\\moo"),_L("\\private\\two\\mew")); 
   872 		test(r == KErrPathNotFound);
   873 		test_Value(r, r == KErrPathNotFound);
   873 	
   874 	
   874 		// Create a test file
   875 		// Create a test file
   875 		RFile testFile;
   876 		RFile testFile;
   876 		r = testFile.Replace(TheFs, _L("\\capTest"),EFileWrite);
   877 		r = testFile.Replace(TheFs, _L("\\capTest"),EFileWrite);
   877 		test(r==KErrNone || r==KErrAlreadyExists);
   878 		test_Value(r, r == KErrNone || r==KErrAlreadyExists);
   878 		testFile.Close();
   879 		testFile.Close();
   879 		
   880 		
   880 		TFileName name;
   881 		TFileName name;
   881 		name = privatepath;
   882 		name = privatepath;
   882 		name.Append(_L("privateFile.tst"));
   883 		name.Append(_L("privateFile.tst"));
   883 		RFile privateFile;
   884 		RFile privateFile;
   884 		r = privateFile.Replace(TheFs, name,EFileWrite);
   885 		r = privateFile.Replace(TheFs, name,EFileWrite);
   885 		test(r==KErrNone || r==KErrAlreadyExists);
   886 		test_Value(r, r == KErrNone || r==KErrAlreadyExists);
   886 		privateFile.Close();
   887 		privateFile.Close();
   887 
   888 
   888 	
   889 	
   889 		r=fMan->Copy(_L("\\capTest"),_L("\\private\\two\\moo")); 
   890 		r=fMan->Copy(_L("\\capTest"),_L("\\private\\two\\moo")); 
   890 		test(r == KErrPathNotFound);
   891 		test_Value(r, r == KErrPathNotFound);
   891 		r=fMan->Copy(_L("\\capTest"),_L("\\sys\\bin\\moo")); 
   892 		r=fMan->Copy(_L("\\capTest"),_L("\\sys\\bin\\moo")); 
   892 		test(r == KErrPathNotFound); 
   893 		test_Value(r, r == KErrPathNotFound); 
   893 		r=fMan->Copy(_L("\\sys\\bin\\capTest"),_L("\\sys\\bin\\moo")); 
   894 		r=fMan->Copy(_L("\\sys\\bin\\capTest"),_L("\\sys\\bin\\moo")); 
   894 		test(r == KErrPathNotFound);
   895 		test_Value(r, r == KErrPathNotFound);
   895 		r=fMan->Copy(_L("\\capTest"),_L("\\sys\\capTest")); 
   896 		r=fMan->Copy(_L("\\capTest"),_L("\\sys\\capTest")); 
   896 		test(r == KErrNone || r==KErrAlreadyExists); 
   897 		test_Value(r, r == KErrNone || r==KErrAlreadyExists); 
   897 		r=fMan->Copy(_L("\\sys\\*"),_L("\\"));
   898 		r=fMan->Copy(_L("\\sys\\*"),_L("\\"));
   898 		test (r==KErrNone);
   899 		test_KErrNone(r);
   899 		r=fMan->Copy(name,_L("\\sys\\"));
   900 		r=fMan->Copy(name,_L("\\sys\\"));
   900 		test(r==KErrNone);
   901 		test_KErrNone(r);
   901 
   902 
   902 		// Testing Attribs
   903 		// Testing Attribs
   903 		r=fMan->Attribs(_L("\\private\\two\\moo"),KEntryAttReadOnly,0,TTime(0)); 
   904 		r=fMan->Attribs(_L("\\private\\two\\moo"),KEntryAttReadOnly,0,TTime(0)); 
   904 		test(r == KErrPathNotFound);
   905 		test_Value(r, r == KErrPathNotFound);
   905 		r=fMan->Attribs(_L("\\private\\moo"),KEntryAttReadOnly,0,TTime(0)); 
   906 		r=fMan->Attribs(_L("\\private\\moo"),KEntryAttReadOnly,0,TTime(0)); 
   906 		test(r == KErrNotFound);
   907 		test_Value(r, r == KErrNotFound);
   907 		r=fMan->Attribs(name,KEntryAttReadOnly,0,TTime(0));
   908 		r=fMan->Attribs(name,KEntryAttReadOnly,0,TTime(0));
   908 		test(r == KErrNone);
   909 		test_KErrNone(r);
   909 		r=fMan->Attribs(name,0,KEntryAttReadOnly,TTime(0));
   910 		r=fMan->Attribs(name,0,KEntryAttReadOnly,TTime(0));
   910 		test(r == KErrNone);
   911 		test_KErrNone(r);
   911 
   912 
   912 		// Testing Move
   913 		// Testing Move
   913 		r=fMan->Move(_L("\\private\\two\\moo"),_L("\\private\\one\\moo"));
   914 		r=fMan->Move(_L("\\private\\two\\moo"),_L("\\private\\one\\moo"));
   914 		test(r == KErrPathNotFound);
   915 		test_Value(r, r == KErrPathNotFound);
   915 		r=fMan->Move(_L("\\private\\two\\moo.."),_L("\\private\\one\\moo"));
   916 		r=fMan->Move(_L("\\private\\two\\moo.."),_L("\\private\\one\\moo"));
   916 		test(r == KErrPathNotFound);
   917 		test_Value(r, r == KErrPathNotFound);
   917 		r=fMan->Move(_L("\\private\\two\\moo"),_L("\\private\\one\\moo.."));
   918 		r=fMan->Move(_L("\\private\\two\\moo"),_L("\\private\\one\\moo.."));
   918 		test(r == KErrPathNotFound);
   919 		test_Value(r, r == KErrPathNotFound);
   919 		r=fMan->Move(name,_L("\\privateFile.tst"));
   920 		r=fMan->Move(name,_L("\\privateFile.tst"));
   920 		test(r == KErrNone);
   921 		test_KErrNone(r);
   921 		r=fMan->Move(_L("\\privateFile.tst"),name);
   922 		r=fMan->Move(_L("\\privateFile.tst"),name);
   922 		test(r == KErrNone);
   923 		test_KErrNone(r);
   923 
   924 
   924 
   925 
   925 		// Testing RmDir
   926 		// Testing RmDir
   926 		r=fMan->RmDir(_L("\\private\\"));
   927 		r=fMan->RmDir(_L("\\private\\"));
   927 		test(r == KErrNone);
   928 		test_KErrNone(r);
   928 		// put it back where it was
   929 		// put it back where it was
   929 		r = TheFs.MkDirAll(_L("\\private\\00000001\\"));
   930 		r = TheFs.MkDirAll(_L("\\private\\00000001\\"));
   930 		test(r == KErrNone);
   931 		test_KErrNone(r);
   931 		r=fMan->RmDir(_L("\\private\\two\\"));
   932 		r=fMan->RmDir(_L("\\private\\two\\"));
   932 		test(r == KErrPathNotFound);
   933 		test_Value(r, r == KErrPathNotFound);
   933 		r=fMan->RmDir(_L("\\private\\tw?\\"));
   934 		r=fMan->RmDir(_L("\\private\\tw?\\"));
   934 		test(r == KErrBadName);
   935 		test_Value(r, r == KErrBadName);
   935 
   936 
   936 		r=fMan->RmDir(_L("\\private\\two\\"));
   937 		r=fMan->RmDir(_L("\\private\\two\\"));
   937 		test(r == KErrPathNotFound);
   938 		test_Value(r, r == KErrPathNotFound);
   938 		r=fMan->RmDir(_L("\\private\\tw?\\"));
   939 		r=fMan->RmDir(_L("\\private\\tw?\\"));
   939 		test(r == KErrBadName);
   940 		test_Value(r, r == KErrBadName);
   940 		
   941 		
   941 		
   942 		
   942 		// Testing Rename
   943 		// Testing Rename
   943 		r=fMan->Rename(_L("\\private\\two\\moo"),_L("\\private\\two\\mew")); 
   944 		r=fMan->Rename(_L("\\private\\two\\moo"),_L("\\private\\two\\mew")); 
   944 		test(r == KErrPathNotFound);
   945 		test_Value(r, r == KErrPathNotFound);
   945 		
   946 		
   946 		// Testing Delete
   947 		// Testing Delete
   947 		r=fMan->Delete(_L("\\private\\two\\test")); 
   948 		r=fMan->Delete(_L("\\private\\two\\test")); 
   948 		test(r == KErrPathNotFound);
   949 		test_Value(r, r == KErrPathNotFound);
   949 		r=fMan->Delete(_L("\\private\\moo")); 
   950 		r=fMan->Delete(_L("\\private\\moo")); 
   950 		test(r == KErrNotFound);
   951 		test_Value(r, r == KErrNotFound);
   951 		
   952 		
   952 		//Something that actually exists in Private
   953 		//Something that actually exists in Private
   953 		r=fMan->Rename(name,_L("\\private\\00000001\\moo")); 
   954 		r=fMan->Rename(name,_L("\\private\\00000001\\moo")); 
   954 		test(r == KErrNotFound);
   955 		test_Value(r, r == KErrNotFound);
   955 		r=fMan->Rename(_L("\\private\\00000001\\moo"),name); 
   956 		r=fMan->Rename(_L("\\private\\00000001\\moo"),name); 
   956 		test(r == KErrNotFound);
   957 		test_Value(r, r == KErrNotFound);
   957 		r=fMan->Copy(name,_L("\\private\\00000001\\moo")); 
   958 		r=fMan->Copy(name,_L("\\private\\00000001\\moo")); 
   958 		test(r == KErrNotFound);
   959 		test_Value(r, r == KErrNotFound);
   959 		r=fMan->Delete(_L("\\private\\00000001\\moo")); 
   960 		r=fMan->Delete(_L("\\private\\00000001\\moo")); 
   960 		test(r == KErrNotFound);
   961 		test_Value(r, r == KErrNotFound);
   961 
   962 
   962 		// Clean up the test data
   963 		// Clean up the test data
   963 		r=fMan->RmDir(_L("\\Caged\\")); 
   964 		r=fMan->RmDir(_L("\\Caged\\")); 
   964 		test(r == KErrNone);
   965 		test_KErrNone(r);
   965 		r=fMan->Delete(_L("\\capTest")); 
   966 		r=fMan->Delete(_L("\\capTest")); 
   966 		test(r == KErrNone);
   967 		test_KErrNone(r);
   967 		delete(fMan);
   968 		delete(fMan);
   968 		}
   969 		}
   969 	
   970 	
   970 	// CDirScan tests
   971 	// CDirScan tests
   971 	ScanDir(_L("\\"), CDirScan::EScanUpTree, KErrNone);
   972 	ScanDir(_L("\\"), CDirScan::EScanUpTree, KErrNone);
   982 //
   983 //
   983 	{
   984 	{
   984 	test.Next(_L("Delete test directory"));
   985 	test.Next(_L("Delete test directory"));
   985 	CFileMan* fMan=CFileMan::NewL(TheFs);
   986 	CFileMan* fMan=CFileMan::NewL(TheFs);
   986 	TInt r=fMan->RmDir(gSessionPath);
   987 	TInt r=fMan->RmDir(gSessionPath);
   987 	test(r==KErrNone || KErrPathNotFound);
   988 	test_Value(r, r == KErrNone || r == KErrPathNotFound);
   988 	delete fMan;
   989 	delete fMan;
   989 	}
   990 	}
   990 
   991 
   991 GLDEF_C void CallTestsL(/*TChar aDriveLetter*/)
   992 GLDEF_C void CallTestsL(/*TChar aDriveLetter*/)
   992 //
   993 //
  1006 	TBuf<30> sesspath;
  1007 	TBuf<30> sesspath;
  1007 	sesspath=_L("?:\\");
  1008 	sesspath=_L("?:\\");
  1008 	sesspath[0] = (TText)gDriveToTest;
  1009 	sesspath[0] = (TText)gDriveToTest;
  1009 
  1010 
  1010 	TInt r= TheFs.SetSessionPath(sesspath);
  1011 	TInt r= TheFs.SetSessionPath(sesspath);
  1011 	test(r==KErrNone);
  1012 	test_KErrNone(r);
  1012 
  1013 
  1013 	//cleanup from previous run of this test
  1014 	//cleanup from previous run of this test
  1014 	TBuf<20> delDir;
  1015 	TBuf<20> delDir;
  1015 	CFileMan* fMan=CFileMan::NewL(TheFs);
  1016 	CFileMan* fMan=CFileMan::NewL(TheFs);
  1016 	delDir=KResourcePath;
  1017 	delDir=KResourcePath;
  1017 	delDir[0]=(TText)gDriveToTest;
  1018 	delDir[0]=(TText)gDriveToTest;
  1018 	r=fMan->RmDir(delDir);
  1019 	r=fMan->RmDir(delDir);
  1019 	test(r==KErrNone || KErrNotFound);
  1020 	test_Value(r, r == KErrNone || r == KErrNotFound || r == KErrPathNotFound);
  1020 	delDir=KSystemPath;
  1021 	delDir=KSystemPath;
  1021 	delDir[0]=(TText)gDriveToTest;
  1022 	delDir[0]=(TText)gDriveToTest;
  1022 	r=fMan->RmDir(delDir);
  1023 	r=fMan->RmDir(delDir);
  1023 	test(r==KErrNone || KErrNotFound);
  1024 	test_Value(r, r == KErrNone || r == KErrNotFound || r == KErrPathNotFound);
  1024 	delDir=KPrivatePath;
  1025 	delDir=KPrivatePath;
  1025 	delDir[0]=(TText)gDriveToTest;
  1026 	delDir[0]=(TText)gDriveToTest;
  1026 	r=fMan->RmDir(delDir);
  1027 	r=fMan->RmDir(delDir);
  1027 	test(r==KErrNone || KErrNotFound);
  1028 	test_Value(r, r == KErrNone || r == KErrNotFound || r == KErrPathNotFound);
  1028 	delete fMan;
  1029 	delete fMan;
  1029 
  1030 
  1030 	//check double mode ie that Defpath still works	
  1031 	//check double mode ie that Defpath still works	
  1031 	RFs fs1;
  1032 	RFs fs1;
  1032 	RFs fs2;
  1033 	RFs fs2;
  1033 	
  1034 	
  1034 	r=fs1.Connect();
  1035 	r=fs1.Connect();
  1035 	test(r==KErrNone);
  1036 	test_KErrNone(r);
  1036 	r=fs1.SessionPath(sesspath);
  1037 	r=fs1.SessionPath(sesspath);
  1037 	test(r==KErrNone);
  1038 	test_KErrNone(r);
  1038 	test.Printf(_L("session1 Path=%S"),&sesspath);
  1039 	test.Printf(_L("session1 Path=%S"),&sesspath);
  1039 
  1040 
  1040 	TBuf<30> privatepath;
  1041 	TBuf<30> privatepath;
  1041 	r=fs1.SetSessionToPrivate(gTheDriveNum);
  1042 	r=fs1.SetSessionToPrivate(gTheDriveNum);
  1042 	test(r==KErrNone);
  1043 	test_KErrNone(r);
  1043 	r=fs1.PrivatePath(privatepath);
  1044 	r=fs1.PrivatePath(privatepath);
  1044 	test(r==KErrNone);
  1045 	test_KErrNone(r);
  1045 	r=privatepath.Compare(KExpectedPrivatePath());
  1046 	r=privatepath.Compare(KExpectedPrivatePath());
  1046 	test(r==0);
  1047 	test_Value(r, r == 0);
  1047 	r=fs1.SessionPath(sesspath);
  1048 	r=fs1.SessionPath(sesspath);
  1048 	test(r==KErrNone);
  1049 	test_KErrNone(r);
  1049 	r=privatepath.Compare(sesspath.Mid(KPathPosition));
  1050 	r=privatepath.Compare(sesspath.Mid(KPathPosition));
  1050 	test(r==0);
  1051 	test_Value(r, r == 0);
  1051 	r=fs1.CreatePrivatePath(gTheDriveNum);
  1052 	r=fs1.CreatePrivatePath(gTheDriveNum);
  1052 	test(r==KErrNone);
  1053 	test_KErrNone(r);
  1053 	fs1.Close();
  1054 	fs1.Close();
  1054 
  1055 
  1055 	r=fs2.Connect();
  1056 	r=fs2.Connect();
  1056 	test(r==KErrNone);
  1057 	test_KErrNone(r);
  1057 	r=fs2.SessionPath(sesspath);
  1058 	r=fs2.SessionPath(sesspath);
  1058 	test(r==KErrNone);
  1059 	test_KErrNone(r);
  1059 	test.Printf(_L("session2 Path=%S"),&sesspath);
  1060 	test.Printf(_L("session2 Path=%S"),&sesspath);
  1060 	fs2.Close();
  1061 	fs2.Close();
  1061 
  1062 
  1062 	TestCaps();
  1063 	TestCaps();
  1063 	TestCaging();
  1064 	TestCaging();