baseintegtests/baseintegrationtest/testsuites/fat32/src/basetestfat32readraw.cpp
changeset 15 4122176ea935
parent 0 a41df078684a
child 16 6d8ad5bee44b
child 30 9947e075979d
child 31 56f325a607ea
--- a/baseintegtests/baseintegrationtest/testsuites/fat32/src/basetestfat32readraw.cpp	Mon Oct 19 15:55:17 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,386 +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:
-// Performs various operations to read the raw disk and ensure that results 
-// returned are what is expected. 
-// 
-//
-
-
-#include "basetestfat32readraw.h"
-
-static RRawDisk TheDisk;
-
-/**
-Class Constructor
-*/		    
-CBaseTestFat32ReadRaw::CBaseTestFat32ReadRaw() 
-	{
-	SetTestStepName(KTestStepReadRaw);
-	}
-	
-/**
-Class Destructor
-*/
-CBaseTestFat32ReadRaw::~CBaseTestFat32ReadRaw() 
-	{
-	}
-
-
-/** 
-This function performs the following actions:
-1. Gets the position to read on the raw disk from the ini file
-	-> if a cluster is specified then get the position from GetCluster(). 
-2. Get the number of bytes to read starting from the obtained position 
-3. Read the disk byte by byte and place into an array. 
-	-> If a mask is specified then compare the mask with the read value. 
-	-> If the correct results are specified in the ini file then compare 
-	   the array contain the read values with the array containing the 
-	   correct results.
-
-@return EPass if test passes and EFail if test fails
-*/ 
-TVerdict CBaseTestFat32ReadRaw::doTestStepL()
-	{
-	SetTestStepResult(EFail);
-
-	TInt ascivalue[20];
-	TInt correctresults[20];
-	TInt r; 
-	
-	_LIT(KPosition,"ReadPosition");
-	TInt position; 
-	TBool alright = GetHexFromConfig(ConfigSection(), KPosition, position);
-	if(alright)
-		{
-		if (iMedia == 1 && position >= 16384)
-			{
-			INFO_PRINTF2(_L("Position = %d"), position);
-			INFO_PRINTF2(_L("iBPB_ResvdSecCnt = %d"), iBPB_ResvdSecCnt);
-			position = (iBPB_ResvdSecCnt * 512) + (position - 0x4000);
-			INFO_PRINTF2(_L("New Position = %d"), position);
-			}
-		_LIT(KCluster,"ClusterNumber");
-		TInt64 clusterPosition;
-		TInt cluster; 
-		TBool alright2 = GetIntFromConfig(ConfigSection(), KCluster, cluster);
-		if (alright2)
-			{
-			r = GetCluster(cluster, clusterPosition);
-			if (r != KErrNone)
-				{
-				SetTestStepResult(EFail);
-				INFO_PRINTF1(_L("Could not get disk position"));
-				return TestStepResult();
-				}
-			else
-				{
-				position = clusterPosition;
-				} 
-			}
-			
-		_LIT(KReadPosition, "The position on the disk being read is %d");
-		INFO_PRINTF2(KReadPosition,position);
-
-		_LIT(KNumOfBytes,"NumberOfBytes");
-		TInt numbyte;
-		TBool alright3 = GetHexFromConfig(ConfigSection(), KNumOfBytes, numbyte);
-		if (alright3)
-			{
-			r = ReadRaw(position, numbyte, ascivalue);
-			if(r != KErrNone)
-				{
-				_LIT(KErrorRead, "Cannot read the raw disk at position %d and length %d - error = %d");
-				INFO_PRINTF4(KErrorRead,position, numbyte, r);
-				SetTestStepResult(EFail);
-				return TestStepResult();
-				}
-			_LIT(KMask,"Mask");
-			TInt mask;
-			TBool alright4 = GetHexFromConfig(ConfigSection(), KMask, mask);
-			if (alright4)
-				{
-				r = CheckMask(mask,numbyte, ascivalue, position);
-				if (r == KErrNone)
-				{
-				_LIT(KValueCorrect, "Result Correct");
-					INFO_PRINTF1(KValueCorrect);
-					SetTestStepResult(EPass);
-					_LIT(KReadPass, "Read Passed");
-					INFO_PRINTF1(KReadPass);
-					return TestStepResult();
-					}
-				else
-					{
-					_LIT(KValueWrong, "Result Incorrect, value is %X but should be %X");
-					INFO_PRINTF3(KValueWrong, ascivalue[0], mask);
-					SetTestStepResult(EFail);
-					_LIT(KReadFail, "Read Failed");							
-					INFO_PRINTF1(KReadFail);
-					return TestStepResult();
-					}
-				}
-			else
-				{
-				r = GetCorrectResult(numbyte,correctresults);
-				TInt i;
-				for (i = 0; i < numbyte; i++)
-					{
-					if (ascivalue[i] != correctresults[i])
-						{
-						if ((ascivalue[i] == 0xFF) && (correctresults[i] == 0x00))
-							{
-							_LIT(KValueCorrect, "Result Correct");
-							INFO_PRINTF1(KValueCorrect);
-							SetTestStepResult(EPass);
-							_LIT(KReadPass, "Read Passed");
-							INFO_PRINTF1(KReadPass);
-							return TestStepResult();
-							}
-						else
-							{
-							_LIT(KValueWrong, "Result Incorrect, value is %X but should be %X");
-							INFO_PRINTF3(KValueWrong, ascivalue[i], correctresults[i]);
-							SetTestStepResult(EFail);
-							_LIT(KReadFail, "Read Failed");
-							INFO_PRINTF1(KReadFail);
-							return TestStepResult();
-							}
-						}
-					else
-						{
-						_LIT(KValueCorrect, "Result Correct");
-						INFO_PRINTF1(KValueCorrect);
-						SetTestStepResult(EPass);
-						_LIT(KReadPass, "Read Passed");
-						INFO_PRINTF1(KReadPass);
-						return TestStepResult();
-						}
-					}
-				}
-			}
-			else
-			{
-			_LIT(KErrorRead, "Cannot read the ini file Number of Bytes ");
-			INFO_PRINTF3(KErrorRead,position, numbyte);
-			SetTestStepResult(EFail);
-			return TestStepResult();
-			}
-		}
-	else
-		{
-		_LIT(KErrorRead, "Cannot read the ini file Read Position ");
-		INFO_PRINTF1(KErrorRead);
-		SetTestStepResult(EFail);
-		return TestStepResult();	
-		}
-	return TestStepResult();
-	}
-
-
-/** 
-Read from the raw disk byte by byte and place the results into an array
-
-@param aPos The position from which to start reading the raw disk
-@param aNumberOfBytes The number of bytes to read from the raw disk
-@param aAsciiValue Array containing the values that are read from the raw disk
-
-@return KErrNone if successfull
-*/
-TInt CBaseTestFat32ReadRaw::ReadRaw(TInt64 aPos,TInt aNumberOfBytes,TInt *aAsciiValue)
-	{
-	TInt r;
-	r = TheDisk.Open(iTheFs, CurrentDrive());
-		if (r != KErrNone)
-		{
-		_LIT(KErrorRead, "Cannot open the raw disk - r=%d");
-		INFO_PRINTF2(KErrorRead, r);
-		return r;
-		}
-	
-	TUint8 data[20];
-	TPtr8 buf(&data[0], 20);
-	r = TheDisk.Read(aPos, buf);
-	if (r != KErrNone)
-		{
-		_LIT(KErrorRead, "Cannot read the raw disk - r=%d");
-		INFO_PRINTF2(KErrorRead, r);
-		return r;
-		}
-	TInt i;	
-	for (i = 0; i < aNumberOfBytes; i++)
-		{
-		aAsciiValue[i] = data[i];
-		}
-	TheDisk.Close();	
-	return r; 
-	}
-
-/** 
-Get the correct result value byte by byte and place into an array
-
-@param aNumberOfBytes The number of bytes to read from the raw disk
-@param aCorrectResultArray Array containing the values that are expected
-
-@return KErrNone if successful
-*/
-
-TInt CBaseTestFat32ReadRaw::GetCorrectResult(TInt aNumOfBytes,TInt* aCorrectResultArray)
-	{
-	TInt result;
-	TInt i;
-	_LIT(KCorrectResult,"CorrectResult%d");
-	for (i=1; i<aNumOfBytes+1; i++)
-		{
-		TBuf<20> a;
-		a.Format(KCorrectResult, i);
-		TBool alright3 = GetHexFromConfig(ConfigSection(), a, result);
-		if (alright3)
-			{
-			aCorrectResultArray[i-1] = result;
-			}
-		else
-			{
-			INFO_PRINTF1(_L("Could not get correct result from ini file"));
-			return KErrGeneral;
-			}
-		}
-	return KErrNone;
-	}
-
-/** 
-Get the position by calulating from the entry and position in the entry 
-specified in the ini file 
-
-
-@param aClusterNumber The cluster number on the raw disk
-@param aPosition The position from which to start reading the raw disk
-
-@return KErrNone if successful
-*/	
-TInt CBaseTestFat32ReadRaw::GetCluster(TInt aClusterNumber,TInt64 &aPosition)
-	{
-	TInt entry;
-	_LIT(KEntry,"Entry");
-	TInt entryposition;
-	_LIT(KPositionInEntry,"PositionInEntry");
-	TBool alright = GetIntFromConfig(ConfigSection(), KEntry, entry);
-	if (alright)
-		{
-		TBool alright2 = GetIntFromConfig(ConfigSection(), KPositionInEntry, entryposition);
-		if (alright2)
-			{
-			// Calculating the byte number on the disk when given the 
-			// cluster number, the entry number and the position in the entry
-			TInt sizeOfEntry = 96;
-			aPosition = (iBPB_ResvdSecCnt + (iBPB_FATSz32 * 2) + (iBPB_SecPerClus * (aClusterNumber - 2))) * 512;
-			aPosition = aPosition + ((entry - 1) * sizeOfEntry) + entryposition;
-			return KErrNone;
-			}
-		else
-			{
-			INFO_PRINTF1(_L("Could not read position in entry from ini file"));
-			return KErrGeneral;
-			}
-		}
-	else 
-		{
-		INFO_PRINTF1(_L("Could not read entry number from ini file"));
-		return KErrGeneral;
-		}
-	}
-
-/** 
-Check if the mask value is correct with the mask obtained from the ini file
-
-@param aMask Value of the mask
-@param aNumberOfBytes The number of bytes to read from the raw disk
-@param aAsciiValue Array containing the values that are read from the raw disk
-@param aPos The position on the raw disk
-
-@reutrn KErrNone is successfull
-*/
-TInt CBaseTestFat32ReadRaw::CheckMask(TInt aMask, TInt aNumOfBytes, TInt *aAsciiValue, TInt64 aPos)
-	{
-	TUint32 readValue;
-	TInt maskreturn;
-	_LIT(KMaskReturn,"MaskReturn");
-	TInt i;
-	
-	readValue = 0;
-	for (i=aNumOfBytes-1; i>=0; i--)
-		{
-
-		readValue = readValue << 8;
-		readValue = readValue + aAsciiValue[i];
-		}
-	// Special case for the extension flag field. Checks whether mirroring is
-	// enabled or disabled and whether is contains the correct value. Position
-	// on the disk for this fiels is 0x29
-	if ((aPos == 0x29) && (aMask == 0))
-		{
-		if(readValue != 0)
-			{
-			aMask = 0x80;
-			if ((readValue&aMask) == aMask)
-				{
-				aMask = 0x0D;
-				if ((aMask&readValue) == 0)
-					{
-					INFO_PRINTF1(_L("Mirroring is DISABLED and the active FAT is correct"));
-					return KErrNone;
-					}
-				else 
-					{
-					INFO_PRINTF1(_L("Mirroring is DISABLED and the active FAT is incorrect"));
-					return KErrGeneral;
-					}
-				}
-			}
-		else 
-			{
-			INFO_PRINTF1(_L("Mirroring is ENABLED and the field is 0"));
-			return KErrNone;
-			}
-		}
-	else
-		{
-		TBool alright = GetIntFromConfig(ConfigSection(), KMaskReturn, maskreturn);
-		if (alright)
-			{
-			if (maskreturn == 0)
-				{
-				if ((readValue&aMask) == 0)
-					{
-					return KErrNone;
-					}
-				else 
-					{
-					return KErrGeneral;
-					}
-				}
-			else
-				{
-				if ((readValue&aMask) == aMask)
-					{
-					return KErrNone;
-					}
-				else 
-					{
-					return KErrGeneral;
-					}
-				}
-			}
-		}
-	return KErrNone;
-	}