baseintegtests/baseintegrationtest/testsuites/fat32/src/basetestfat32clusterbound.cpp
--- a/baseintegtests/baseintegrationtest/testsuites/fat32/src/basetestfat32clusterbound.cpp Mon Oct 19 15:55:17 2009 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +0,0 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of the License "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Attempts to access the disk outside the cluster bounds
-//
-//
-
-
-#include "basetestfat32clusterbound.h"
-
-/**
-Class Constructor
-*/
-CBaseTestFat32ClusterBound::CBaseTestFat32ClusterBound()
- {
- SetTestStepName(KTestStepClusterBound);
- }
-
-/**
-Class Destructor
-*/
-CBaseTestFat32ClusterBound::~CBaseTestFat32ClusterBound()
- {
- }
-
-
-/**
-This test should be performed once the disk has been filled to its max capacity.
-Obtains the cluster bounds action from the configuration file and calls the function
-that is required to be carried out
-
-@return EPass if test passes and EFail if test fails
-*/
-TVerdict CBaseTestFat32ClusterBound::doTestStepL()
- {
- SetTestStepResult(EFail);
- TInt r;
- TBufC<20> clusterAction;
- TPtrC16 clusteraction = clusterAction;
- _LIT(KClusterAction,"ClusterAction");
- TBool alright = GetStringFromConfig(ConfigSection(), KClusterAction, clusteraction);
- if (alright)
- {
- if (clusteraction == _L("WriteToFile"))
- {
- r = TestClusterBoundsWriteFile();
- if (r != KErrNone)
- {
- INFO_PRINTF1(_L("ClusterAction:WriteToFile failed"));
- SetTestStepResult(EFail);
- }
- else
- {
- INFO_PRINTF1(_L("ClusterAction:WriteToFile passed"));
- SetTestStepResult(EPass);
- }
- }
- if (clusteraction == _L("CreateFiles"))
- {
- r = TestClusterBoundsCreateFiles();
- if (r != KErrNone)
- {
- INFO_PRINTF1(_L("ClusterAction:CreateFiles failed"));
- SetTestStepResult(EFail);
- }
- else
- {
- INFO_PRINTF1(_L("ClusterAction:CreateFiles passed"));
- SetTestStepResult(EPass);
- }
- }
- }
- else
- {
- INFO_PRINTF1(_L("No ClusterAction specified in ini file"));
- SetTestStepResult(EFail);
- }
- return TestStepResult();
- }
-
-/**
-Attepts to access out of bounds clusters by creating another file and
-attempting to write to it.
-
-@return KErrNone if successfull, otherwise one of the other system-wide
-error codes.
-*/
-TInt CBaseTestFat32ClusterBound::TestClusterBoundsWriteFile()
-{
- TInt r;
- TVolumeInfo iInfo;
-
- TInt freeSpace;
- RFile rFile;
-
- r = iTheFs.Volume(iInfo, CurrentDrive());
- if(r != KErrNone)
- {
- INFO_PRINTF2(_L("Unable to obtain the volume information, error = %d"), r);
- return r;
- }
- freeSpace = iInfo.iFree;
- TBuf8<100> buffer3(freeSpace + 1);
- r = rFile.Replace(iTheFs, _L("TESTClusterBound.txt"), EFileWrite);
- if(r != KErrNone)
- {
- INFO_PRINTF2(_L("Unable to create the file, error = %d"), r);
- return r;
- }
- r = rFile.Write(buffer3,freeSpace + 1);
- if (r == KErrDiskFull)
- {
- INFO_PRINTF1(_L("Disk is Full - Attempting to access out of bounds clusters returns the correct error value"));
- rFile.Close();
- return KErrNone;
- }
- else
- {
- INFO_PRINTF2(_L("Attempting to access out of bounds clusters returns the incorrect error value %d"), r);
- rFile.Close();
- return r;
- }
-
-}
-
-/**
-Attepts to access out of bounds clusters by creating empty files to fill
-the root directory and following this, attempting to create another empty file
-
-@return KErrNone if successfull, otherwise one of the other system-wide
-error codes.
-*/
-TInt CBaseTestFat32ClusterBound::TestClusterBoundsCreateFiles()
- {
- RFile rFile;
- _LIT(KFileName, "File%d.txt");
-
- TInt sizeOfShortDir = 16 * 4; //Short dir is 64 bytes long
- TInt bytesPerSector = 512;
- TInt sizeOfCluster = iBPB_SecPerClus * bytesPerSector;
- TInt filesToCreate = sizeOfCluster / sizeOfShortDir;
- filesToCreate = filesToCreate - 1;
-
- TInt r;
- TInt i;
- for (i = 0; i < filesToCreate; i++)
- {
- TBuf<20> fileName;
- TInt fileNumber = i + 1;
- fileName.Format(KFileName, fileNumber);
- r= rFile.Replace(iTheFs,fileName , EFileWrite);
- if (r == KErrDiskFull)
- break;
- rFile.Close();
- }
-
-
- r = rFile.Replace(iTheFs, _L("TFile.txt") , EFileWrite);
- if (r == KErrDiskFull)
- {
- INFO_PRINTF1(_L("Attempting to access out of bounds clusters returns the correct error value"));
- return KErrNone;
- }
- else
- {
- INFO_PRINTF2(_L("Attempting to access out of bounds clusters returns the incorrect error value %d"), r);
- return r;
- }
- }