kerneltest/f32test/server/t_bigfile.cpp
changeset 109 b3a1d9898418
parent 0 a41df078684a
child 247 d8d70de2bd36
equal deleted inserted replaced
102:ef2a444a7410 109:b3a1d9898418
    32 // for more details.
    32 // for more details.
    33 // 
    33 // 
    34 //
    34 //
    35 
    35 
    36 
    36 
       
    37 #define __E32TEST_EXTENSION__
    37 #include <f32file.h>
    38 #include <f32file.h>
    38 #include <e32test.h>
    39 #include <e32test.h>
    39 #include <e32svr.h>
    40 #include <e32svr.h>
    40 #include "t_server.h"
    41 #include "t_server.h"
    41 
    42 
   166 	const TFileName fname = KFile2GBMinusOne();
   167 	const TFileName fname = KFile2GBMinusOne();
   167 
   168 
   168 	test.Next(_L("2GBMinusOne File: Open"));
   169 	test.Next(_L("2GBMinusOne File: Open"));
   169 
   170 
   170 	r = f.Open(TheFs, fname, EFileRead);
   171 	r = f.Open(TheFs, fname, EFileRead);
   171 	test(r==KErrNone);
   172 	test_KErrNone(r);
   172 
   173 
   173 	testSize = K2GbMinusOne;
   174 	testSize = K2GbMinusOne;
   174 	
   175 	
   175 	test.Next(_L("2GBMinusOne File: Read"));
   176 	test.Next(_L("2GBMinusOne File: Read"));
   176 
   177 
   177 	r=f.Size((TInt&) size);
   178 	r=f.Size((TInt&) size);
   178 	test(r==KErrNone);
   179 	test_KErrNone(r);
   179 	test(size == testSize);
   180 	test(size == testSize);
   180 	
   181 	
   181 	r = TheFs.Entry(fname, entry);
   182 	r = TheFs.Entry(fname, entry);
   182 	test(r==KErrNone);
   183 	test_KErrNone(r);
   183 	test ((TUint) entry.iSize == testSize);
   184 	test ((TUint) entry.iSize == testSize);
   184 
   185 
   185 	// seek to just below 2GB
   186 	// seek to just below 2GB
   186 	testPos = (K2GbMinusOne - K1Kb) & KPosMask;
   187 	testPos = (K2GbMinusOne - K1Kb) & KPosMask;
   187 	r = f.Seek(ESeekStart, (TInt&) testPos);
   188 	r = f.Seek(ESeekStart, (TInt&) testPos);
   188 	test(r==KErrNone);
   189 	test_KErrNone(r);
   189 
   190 
   190 	r = f.Read(bufPtr);
   191 	r = f.Read(bufPtr);
   191 	test(r==KErrNone);
   192 	test_KErrNone(r);
   192 
   193 
   193 	TUint posRead =  * ((TUint*) &bufPtr[0]);
   194 	TUint posRead =  * ((TUint*) &bufPtr[0]);
   194 	test.Printf(_L("position read %08X, expected %08X\n"), posRead, testPos);
   195 	test.Printf(_L("position read %08X, expected %08X\n"), posRead, testPos);
   195 	test(posRead == testPos);
   196 	test(posRead == testPos);
   196 
   197 
   219 	const TFileName fname = KFile2GB();
   220 	const TFileName fname = KFile2GB();
   220 	testSize = K2Gb;
   221 	testSize = K2Gb;
   221 
   222 
   222 	test.Next(_L("2GB File: Test the size with RFs::Entry"));
   223 	test.Next(_L("2GB File: Test the size with RFs::Entry"));
   223 	r = TheFs.Entry(fname, entry);
   224 	r = TheFs.Entry(fname, entry);
   224 	test(r==KErrNone);
   225 	test_KErrNone(r);
   225 	test ((TUint) entry.iSize == testSize);
   226 	test ((TUint) entry.iSize == testSize);
   226 
   227 
   227 	test.Next(_L("2GB File: Attempt to open (should fail with KErrToBig)"));
   228 	test.Next(_L("2GB File: Attempt to open (should fail with KErrToBig)"));
   228 
   229 
   229 	r = f.Open(TheFs, fname, EFileRead);
   230 	r = f.Open(TheFs, fname, EFileRead);
   230 	test(r==KErrTooBig);
   231 	test_Value(r, r == KErrTooBig);
   231 	}
   232 	}
   232 
   233 
   233 //----------------------------------------------------------------------------------------------
   234 //----------------------------------------------------------------------------------------------
   234 //! @SYMTestCaseID      PBASE-T_BIGFILE-0003
   235 //! @SYMTestCaseID      PBASE-T_BIGFILE-0003
   235 //! @SYMTestType        CIT
   236 //! @SYMTestType        CIT
   252 	const TFileName fname = KFile3GB();
   253 	const TFileName fname = KFile3GB();
   253 	testSize = K3Gb;
   254 	testSize = K3Gb;
   254 
   255 
   255 	test.Next(_L("3GB File: Test the size with RFs::Entry"));
   256 	test.Next(_L("3GB File: Test the size with RFs::Entry"));
   256 	r = TheFs.Entry(fname, entry);
   257 	r = TheFs.Entry(fname, entry);
   257 	test(r==KErrNone);
   258 	test_KErrNone(r);
   258 	test ((TUint) entry.iSize == testSize);
   259 	test ((TUint) entry.iSize == testSize);
   259 
   260 
   260 	test.Next(_L("3GB File: Attempt to open (should fail with KErrToBig)"));
   261 	test.Next(_L("3GB File: Attempt to open (should fail with KErrToBig)"));
   261 
   262 
   262 	r = f.Open(TheFs, fname, EFileRead);
   263 	r = f.Open(TheFs, fname, EFileRead);
   263 	test(r==KErrTooBig);
   264 	test_Value(r, r == KErrTooBig);
   264 	}
   265 	}
   265 
   266 
   266 //----------------------------------------------------------------------------------------------
   267 //----------------------------------------------------------------------------------------------
   267 //! @SYMTestCaseID      PBASE-T_BIGFILE-0004
   268 //! @SYMTestCaseID      PBASE-T_BIGFILE-0004
   268 //! @SYMTestType        CIT
   269 //! @SYMTestType        CIT
   286 	testSize = K4GbMinusOne;
   287 	testSize = K4GbMinusOne;
   287 
   288 
   288 	test.Next(_L("4GB File: Test the size with RFs::Entry"));
   289 	test.Next(_L("4GB File: Test the size with RFs::Entry"));
   289 	r = TheFs.Entry(fname, entry);
   290 	r = TheFs.Entry(fname, entry);
   290 	
   291 	
   291 	test(r==KErrNone);
   292 	test_KErrNone(r);
   292 	test ((TUint) entry.iSize == testSize);
   293 	test ((TUint) entry.iSize == testSize);
   293 
   294 
   294 	test.Next(_L("4GB File: Attempt to open (should fail with KErrToBig)"));
   295 	test.Next(_L("4GB File: Attempt to open (should fail with KErrToBig)"));
   295 
   296 
   296 	r = f.Open(TheFs, fname, EFileRead);
   297 	r = f.Open(TheFs, fname, EFileRead);
   297 	test(r==KErrTooBig);
   298 	test_Value(r, r == KErrTooBig);
   298 	}
   299 	}
   299 
   300 
   300 //----------------------------------------------------------------------------------------------
   301 //----------------------------------------------------------------------------------------------
   301 //! @SYMTestCaseID      PBASE-T_BIGFILE-0005
   302 //! @SYMTestCaseID      PBASE-T_BIGFILE-0005
   302 //! @SYMTestType        CIT
   303 //! @SYMTestType        CIT
   322 	testSize = K2GbMinusOne;
   323 	testSize = K2GbMinusOne;
   323 
   324 
   324 	test.Next(_L("2GBMinusOne File: Open"));
   325 	test.Next(_L("2GBMinusOne File: Open"));
   325 
   326 
   326 	r = f.Open(TheFs, fname, EFileRead | EFileWrite);
   327 	r = f.Open(TheFs, fname, EFileRead | EFileWrite);
   327 	test(r==KErrNone);
   328 	test_KErrNone(r);
   328 
   329 
   329 	
   330 	
   330 	test.Next(_L("2GBMinusOne File: Attempt to extend"));
   331 	test.Next(_L("2GBMinusOne File: Attempt to extend"));
   331 
   332 
   332 	r=f.Size((TInt&) size);
   333 	r=f.Size((TInt&) size);
   333 	test(r==KErrNone);
   334 	test_KErrNone(r);
   334 	test(size == testSize);
   335 	test(size == testSize);
   335 	
   336 	
   336 	r = TheFs.Entry(fname, entry);
   337 	r = TheFs.Entry(fname, entry);
   337 	test(r==KErrNone);
   338 	test_KErrNone(r);
   338 	test ((TUint) entry.iSize == testSize);
   339 	test ((TUint) entry.iSize == testSize);
   339 
   340 
   340 	// seek to end
   341 	// seek to end
   341 	testPos = 0;
   342 	testPos = 0;
   342 	r = f.Seek(ESeekEnd, (TInt&) testPos);
   343 	r = f.Seek(ESeekEnd, (TInt&) testPos);
   343 	test(r==KErrNone);
   344 	test_KErrNone(r);
   344 
   345 
   345 	bufPtr.SetLength(1);
   346 	bufPtr.SetLength(1);
   346 	r = f.Write(bufPtr);
   347 	r = f.Write(bufPtr);
   347 	test(r==KErrTooBig);
   348 	test_Value(r, r == KErrTooBig);
   348 
   349 
   349 	f.Close();
   350 	f.Close();
   350 	}
   351 	}
   351 
   352 
   352 //----------------------------------------------------------------------------------------------
   353 //----------------------------------------------------------------------------------------------
   363 	{
   364 	{
   364 	test.Next(_L("Delete large file"));
   365 	test.Next(_L("Delete large file"));
   365 	test.Printf(_L("Deleting %S\n"), &aFileName);
   366 	test.Printf(_L("Deleting %S\n"), &aFileName);
   366 
   367 
   367 	TInt r = TheFs.Delete(aFileName);
   368 	TInt r = TheFs.Delete(aFileName);
   368 	test(r==KErrNone);
   369 	test_KErrNone(r);
   369 
   370 
   370 	CheckDisk();
   371 	CheckDisk();
   371 	}
   372 	}
   372 
   373 
   373 
   374 
   386 	{
   387 	{
   387 	test.Next(_L("Read a directory containing large files using RDir"));
   388 	test.Next(_L("Read a directory containing large files using RDir"));
   388 
   389 
   389 	RDir dir;
   390 	RDir dir;
   390 	TInt r = dir.Open(TheFs, _L("*.*"), KEntryAttNormal);
   391 	TInt r = dir.Open(TheFs, _L("*.*"), KEntryAttNormal);
   391 	test (r == KErrNone);
   392 	test_KErrNone(r);
   392 	
   393 	
   393 	TEntryArray entryArray;
   394 	TEntryArray entryArray;
   394 	r = dir.Read(entryArray);
   395 	r = dir.Read(entryArray);
   395 	test (r == KErrEof);
   396 	test_Value(r, r == KErrEof);
   396 
   397 
   397 	test(entryArray.Count() == gFilesInDirectory);
   398 	test(entryArray.Count() == gFilesInDirectory);
   398 
   399 
   399 	TInt n;
   400 	TInt n;
   400 	for (n=0; n<entryArray.Count(); n++)
   401 	for (n=0; n<entryArray.Count(); n++)
   423 	dir.Close();
   424 	dir.Close();
   424 
   425 
   425 	test.Next(_L("Read a directory containing large files using CDir & sort by size"));
   426 	test.Next(_L("Read a directory containing large files using CDir & sort by size"));
   426 	CDir* dirList;
   427 	CDir* dirList;
   427 	r=TheFs.GetDir(_L("*.*"), KEntryAttMaskSupported, ESortBySize, dirList);
   428 	r=TheFs.GetDir(_L("*.*"), KEntryAttMaskSupported, ESortBySize, dirList);
   428 	test(r==KErrNone);
   429 	test_KErrNone(r);
   429 	test(dirList->Count() == gFilesInDirectory);
   430 	test(dirList->Count() == gFilesInDirectory);
   430 	for (n=0; n<dirList->Count(); n++)
   431 	for (n=0; n<dirList->Count(); n++)
   431 		{
   432 		{
   432 		TEntry entry;
   433 		TEntry entry;
   433 		entry=(*dirList)[n];
   434 		entry=(*dirList)[n];
   481 	TPath filePathOld = gSessionPath;
   482 	TPath filePathOld = gSessionPath;
   482 	filePathOld+= _L("*.*");
   483 	filePathOld+= _L("*.*");
   483 	TPath filePathNew =	_L("?:\\TEST\\");
   484 	TPath filePathNew =	_L("?:\\TEST\\");
   484 	TChar driveLetter;
   485 	TChar driveLetter;
   485 	TInt r=TheFs.DriveToChar(gDrive,driveLetter);
   486 	TInt r=TheFs.DriveToChar(gDrive,driveLetter);
   486 	test(r==KErrNone);
   487 	test_KErrNone(r);
   487 	filePathNew[0] = (TText) driveLetter;
   488 	filePathNew[0] = (TText) driveLetter;
   488 
   489 
   489 	// move to new directory
   490 	// move to new directory
   490 	r = fileMan->Move(filePathOld, filePathNew, CFileMan::ERecurse | CFileMan::EOverWrite);
   491 	r = fileMan->Move(filePathOld, filePathNew, CFileMan::ERecurse | CFileMan::EOverWrite);
   491 	test(r == KErrNone);
   492 	test_KErrNone(r);
   492 
   493 
   493 	// then move back again
   494 	// then move back again
   494 	r = fileMan->Move(filePathNew, filePathOld);
   495 	r = fileMan->Move(filePathNew, filePathOld);
   495 	test(r == KErrNone);
   496 	test_KErrNone(r);
   496 
   497 
   497 	delete fileMan;
   498 	delete fileMan;
   498 	}
   499 	}
   499 
   500 
   500 
   501 
   520 	TPath filePathOld = gSessionPath;
   521 	TPath filePathOld = gSessionPath;
   521 	filePathOld+= _L("*.*");
   522 	filePathOld+= _L("*.*");
   522 	TPath filePathNew =	_L("?:\\TEST\\");
   523 	TPath filePathNew =	_L("?:\\TEST\\");
   523 	TChar driveLetter;
   524 	TChar driveLetter;
   524 	TInt r = TheFs.DriveToChar(gDrive,driveLetter);
   525 	TInt r = TheFs.DriveToChar(gDrive,driveLetter);
   525 	test(r == KErrNone);
   526 	test_KErrNone(r);
   526 	filePathNew[0] = (TText) driveLetter;
   527 	filePathNew[0] = (TText) driveLetter;
   527 
   528 
   528 	// create some small files in the source directory 
   529 	// create some small files in the source directory 
   529 	// so that there is a combination of small files and one large files
   530 	// so that there is a combination of small files and one large files
   530 	RFile file;
   531 	RFile file;
   531 	_LIT(KFileSmall1, "FileSmallOne.txt");
   532 	_LIT(KFileSmall1, "FileSmallOne.txt");
   532 	_LIT(KFileSmall2, "FileSmallTwo.txt");
   533 	_LIT(KFileSmall2, "FileSmallTwo.txt");
   533 	_LIT(KFileSmall3, "FileSmallThree.txt");
   534 	_LIT(KFileSmall3, "FileSmallThree.txt");
   534 	r = file.Create(TheFs, KFileSmall1(), EFileWrite | EFileShareAny);
   535 	r = file.Create(TheFs, KFileSmall1(), EFileWrite | EFileShareAny);
   535 	test(r == KErrNone);
   536 	test_KErrNone(r);
   536 	r = file.Write(_L8("1"));
   537 	r = file.Write(_L8("1"));
   537 	test(r == KErrNone);
   538 	test_KErrNone(r);
   538 	file.Close();
   539 	file.Close();
   539 
   540 
   540 	r = file.Create(TheFs, KFileSmall2(), EFileWrite | EFileShareAny);
   541 	r = file.Create(TheFs, KFileSmall2(), EFileWrite | EFileShareAny);
   541 	test(r == KErrNone);
   542 	test_KErrNone(r);
   542 	r = file.Write(_L8("12"));
   543 	r = file.Write(_L8("12"));
   543 	test(r == KErrNone);
   544 	test_KErrNone(r);
   544 	file.Close();
   545 	file.Close();
   545 
   546 
   546 	r = file.Create(TheFs, KFileSmall3(), EFileWrite | EFileShareAny);
   547 	r = file.Create(TheFs, KFileSmall3(), EFileWrite | EFileShareAny);
   547 	test(r == KErrNone);
   548 	test_KErrNone(r);
   548 	r = file.Write(_L8("123"));
   549 	r = file.Write(_L8("123"));
   549 	test(r == KErrNone);
   550 	test_KErrNone(r);
   550 	file.Close();
   551 	file.Close();
   551 
   552 
   552 	// copy to new directory
   553 	// copy to new directory
   553 	r = fileMan->Copy(filePathOld, filePathNew, CFileMan::ERecurse | CFileMan::EOverWrite);
   554 	r = fileMan->Copy(filePathOld, filePathNew, CFileMan::ERecurse | CFileMan::EOverWrite);
   554 	test(r == KErrNone || r == KErrTooBig);
   555 	test_Value(r, r == KErrNone || r == KErrTooBig);
   555 
   556 
   556 
   557 
   557 	// check SMALL files have been copied
   558 	// check SMALL files have been copied
   558 	RDir dir;
   559 	RDir dir;
   559 	r = dir.Open(TheFs, filePathNew, KEntryAttNormal);
   560 	r = dir.Open(TheFs, filePathNew, KEntryAttNormal);
   560 	test (r == KErrNone);
   561 	test_KErrNone(r);
   561 	TEntryArray entryArray;
   562 	TEntryArray entryArray;
   562 	r = dir.Read(entryArray);
   563 	r = dir.Read(entryArray);
   563 	test (r == KErrEof);
   564 	test_Value(r, r == KErrEof);
   564 	test(entryArray.Count() == 3);
   565 	test(entryArray.Count() == 3);
   565 	dir.Close();
   566 	dir.Close();
   566 	
   567 	
   567 	// then delete the new directory
   568 	// then delete the new directory
   568 	r = fileMan->Delete(filePathNew);
   569 	r = fileMan->Delete(filePathNew);
   569 	test(r == KErrNone);
   570 	test_KErrNone(r);
   570 
   571 
   571 	
   572 	
   572 	// attempt to copy to new directory again - this time with an observer
   573 	// attempt to copy to new directory again - this time with an observer
   573 	fileMan->SetObserver(observer);
   574 	fileMan->SetObserver(observer);
   574 	r = fileMan->Copy(filePathOld, filePathNew, CFileMan::ERecurse | CFileMan::EOverWrite);
   575 	r = fileMan->Copy(filePathOld, filePathNew, CFileMan::ERecurse | CFileMan::EOverWrite);
   575 	test(r == KErrNone || r == KErrTooBig);
   576 	test_Value(r, r == KErrNone || r == KErrTooBig);
   576 	
   577 	
   577 	// test that 3 small files were copied and 1 or 2 large files failed to copy
   578 	// test that 3 small files were copied and 1 or 2 large files failed to copy
   578 	// (For 8 GB disk, the 4GB file is missing)
   579 	// (For 8 GB disk, the 4GB file is missing)
   579 	test(observer->iNotifyEndedSuccesses == 3);
   580 	test(observer->iNotifyEndedSuccesses == 3);
   580 	test(observer->iNotifyEndedFailures == 1 || observer->iNotifyEndedFailures == 2);
   581 	test(observer->iNotifyEndedFailures == 1 || observer->iNotifyEndedFailures == 2);
   581 
   582 
   582 	// check SMALL files have been copied
   583 	// check SMALL files have been copied
   583 	r = dir.Open(TheFs, filePathNew, KEntryAttNormal);
   584 	r = dir.Open(TheFs, filePathNew, KEntryAttNormal);
   584 	test (r == KErrNone);
   585 	test_KErrNone(r);
   585 	r = dir.Read(entryArray);
   586 	r = dir.Read(entryArray);
   586 	test (r == KErrEof);
   587 	test_Value(r, r == KErrEof);
   587 	test(entryArray.Count() == 3);
   588 	test(entryArray.Count() == 3);
   588 	dir.Close();
   589 	dir.Close();
   589 	
   590 	
   590 	// then delete the new directory
   591 	// then delete the new directory
   591 	r = fileMan->Delete(filePathNew);
   592 	r = fileMan->Delete(filePathNew);
   592 	test(r == KErrNone);
   593 	test_KErrNone(r);
   593 
   594 
   594 	delete observer;
   595 	delete observer;
   595 	delete fileMan;
   596 	delete fileMan;
   596 	}
   597 	}
   597 
   598 
   610 	TInt r;
   611 	TInt r;
   611 	TFileName dirName;
   612 	TFileName dirName;
   612 
   613 
   613 	CDirScan* scanner = NULL;
   614 	CDirScan* scanner = NULL;
   614 	TRAP(r, scanner = CDirScan::NewL(TheFs));
   615 	TRAP(r, scanner = CDirScan::NewL(TheFs));
   615 	test(r == KErrNone && scanner);
   616 	test_Value(r, r == KErrNone && scanner);
   616 
   617 
   617 	TRAP(r, scanner->SetScanDataL(aName,KEntryAttDir,ESortByName|EAscending,aDirection));
   618 	TRAP(r, scanner->SetScanDataL(aName,KEntryAttDir,ESortByName|EAscending,aDirection));
   618 	test(r == KErrNone);
   619 	test_KErrNone(r);
   619 	
   620 	
   620 	CDir *entryList=NULL;
   621 	CDir *entryList=NULL;
   621 	TInt filesFound = 0;
   622 	TInt filesFound = 0;
   622 	for (;;)
   623 	for (;;)
   623 		{
   624 		{
   624 		TRAP(r, scanner->NextL(entryList));
   625 		TRAP(r, scanner->NextL(entryList));
   625 		test(r == aError);
   626 		test_Value(r, r == aError);
   626 		if (entryList==NULL)
   627 		if (entryList==NULL)
   627 			break;
   628 			break;
   628 		TInt count = entryList->Count();
   629 		TInt count = entryList->Count();
   629 		while (count--)
   630 		while (count--)
   630 			{
   631 			{
   667 		}
   668 		}
   668 
   669 
   669 	TInt r;
   670 	TInt r;
   670 
   671 
   671 	r = TheFs.CharToDrive(gDriveToTest, gDrive);
   672 	r = TheFs.CharToDrive(gDriveToTest, gDrive);
   672 	test(r==KErrNone);
   673 	test_KErrNone(r);
   673 
   674 
   674 #ifdef __MOUNT_RAW_EXT__
   675 #ifdef __MOUNT_RAW_EXT__
   675 	r=TheFs.FileSystemName(gOldFsName, gDrive);
   676 	r=TheFs.FileSystemName(gOldFsName, gDrive);
   676 	test(r==KErrNone);
   677 	test_KErrNone(r);
   677 
   678 
   678 	if (gOldFsName.CompareF(KFATName) != 0)
   679 	if (gOldFsName.CompareF(KFATName) != 0)
   679 		{
   680 		{
   680 		test.Printf(_L("Skipping test: Not a FAT drive\n"));
   681 		test.Printf(_L("Skipping test: Not a FAT drive\n"));
   681 		return;
   682 		return;
   682 		}
   683 		}
   683 
   684 
   684     r = TheFs.AddExtension(KExtName);
   685     r = TheFs.AddExtension(KExtName);
   685     test(r==KErrNone || r==KErrAlreadyExists);
   686     test_Value(r, r == KErrNone || r==KErrAlreadyExists);
   686     r = TheFs.MountExtension(KExtName, gDrive);
   687     r = TheFs.MountExtension(KExtName, gDrive);
   687     test(r==KErrNone || r==KErrAlreadyExists);
   688     test_Value(r, r == KErrNone || r==KErrAlreadyExists);
   688 #endif
   689 #endif
   689 
   690 
   690 	TVolumeInfo vi;
   691 	TVolumeInfo vi;
   691 	test((r = TheFs.Volume(vi, gDrive)) == KErrNone);
   692 	test((r = TheFs.Volume(vi, gDrive)) == KErrNone);
   692 	test.Printf(_L("vi.iSize = %ld\n"), vi.iSize);
   693 	test.Printf(_L("vi.iSize = %ld\n"), vi.iSize);
   713 		// Test that RFs::CheckDisk() succeeds with large files present
   714 		// Test that RFs::CheckDisk() succeeds with large files present
   714 		CheckDisk();
   715 		CheckDisk();
   715 		
   716 		
   716 		test.Next(_L("Scan Drive"));
   717 		test.Next(_L("Scan Drive"));
   717 		r = TheFs.ScanDrive(gSessionPath);
   718 		r = TheFs.ScanDrive(gSessionPath);
   718 		test (r == KErrNone);
   719 		test_KErrNone(r);
   719 
   720 
   720 		// NB the 4GB file will not be present unless the disk is > 8GB (because it doesn't fit)
   721 		// NB the 4GB file will not be present unless the disk is > 8GB (because it doesn't fit)
   721 		if (!FilePresent(KFile4GBMinusOne()))
   722 		if (!FilePresent(KFile4GBMinusOne()))
   722 			gFilesInDirectory--;
   723 			gFilesInDirectory--;
   723 
   724 
   759 		Format (gDrive);
   760 		Format (gDrive);
   760 		}
   761 		}
   761 
   762 
   762 #ifdef __MOUNT_RAW_EXT__
   763 #ifdef __MOUNT_RAW_EXT__
   763 	r = TheFs.DismountExtension(KExtName, gDrive);
   764 	r = TheFs.DismountExtension(KExtName, gDrive);
   764 	test(r==KErrNone);
   765 	test_KErrNone(r);
   765 
   766 
   766 	r = TheFs.RemoveExtension(KExtName);
   767 	r = TheFs.RemoveExtension(KExtName);
   767 	test(r==KErrNone);
   768 	test_KErrNone(r);
   768 
   769 
   769 #endif
   770 #endif
   770 
   771 
   771 	delete gBuf; gBuf = NULL;
   772 	delete gBuf; gBuf = NULL;
   772 	}
   773 	}