//
// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "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: 
//
//@file f32-fat32-conformance.script
//! @SYMTestSuiteName PBASE-FAT32
//! @SYMScriptTestEnvironment base

LOAD_SUITE t_fat32server

START_TESTCASE                 	PBASE-BPB-FATSz32-0278
//! @SYMTestCaseID               	PBASE-BPB-FATSz32-0278
//! @SYMTestCaseDesc             	Verify that the field containing the FAT32 32-bit count of sectors occupied by one FAT is zero.
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	These are as follows:
//!                              		1. Calculate the 32-bit count of sectors occupied by one FAT
//!                              		2. Read the field containing the FAT32 32-bit count of sectors occupied by one FAT
//!                              		3. Compare the value calculated and the value obtained
//! @SYMTestExpectedResults      	The calclulated value and the obtained value are equal
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_FATSz32
RUN_TEST_STEP -1 t_fat32server Calculate 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_FATSz32
END_TESTCASE PBASE-BPB-FATSz32-0278


START_TESTCASE                 	PBASE-BPB-ExtFlags-0279
//! @SYMTestCaseID               	PBASE-BPB-ExtFlags-0279
//! @SYMTestCaseDesc             	Verify that the extension flags contain the correct values
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	These are as follows:
//!                              		1. Format the drive and read the BPB_ExtFlags field
//!                              		2. Read Bits 4-6
//!                              		3. Read Bits 8-15
//! @SYMTestExpectedResults      	These are as follows:
//!                              		1. If bit 7 is zero, then bits 0-3 are zero. If bit 7 is 1,
//!                              		then bits 0-3 contain a zerobased number of the active FAT
//!                              		2. Bits 4-6 are reserved and are therefore zero
//!                              		3. Bits 8-15 are reserved and are therefore zero
//! @SYMTestType                 	CIT
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_ExtFlags_1
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_ExtFlags_1
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_ExtFlags_4
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_ExtFlags_6
END_TESTCASE PBASE-BPB-ExtFlags-0279


START_TESTCASE                 	PBASE-Bit-CInShutBitMask-0280
//! @SYMTestCaseID               	PBASE-Bit-CInShutBitMask-0280
//! @SYMTestCaseDesc             	Verify the bits of the first reserved cluster FAT[0]
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	Dismount the files system correctly and read the first reserved cluster bit.
//! @SYMTestExpectedResults      	1. The first reserved cluster bit, FAT[0],  is 1
//! @SYMTestType                	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  Bit_CInShutBitMask
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  Bit_CInShutBitMask
END_TESTCASE PBASE-Bit-CInShutBitMask-0280


START_TESTCASE                 	PBASE-Bit-CHrdErrBitMask-0281
//! @SYMTestCaseID               	PBASE-Bit-CHrdErrBitMask-0281
//! @SYMTestCaseDesc             	Verify the bits of the second reserved cluster FAT[0]
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	Read the second reserved cluster, FAT[1], in the FAT table
//! @SYMTestExpectedResults      	FAT table cluster contains the EOF mark.
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format		\base\conformance\f32\fat32\f32-fat32-conformance.ini  Bit_CHrdErrBitMask
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  Bit_CHrdErrBitMask
END_TESTCASE PBASE-Bit-CHrdErrBitMask-0281


START_TESTCASE                 	PBASE-BPB-FSVer-0282
//! @SYMTestCaseID               	PBASE-BPB-FSVer-0282
//! @SYMTestCaseDesc             	Verifying that disk utilities respect the version number
//! @SYMREQ                     	 	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	These are as follows:
//!                              		1. Read the version number.
//!                              		2. Set the major version number to a value higher that already set only in the boot sector and 
//!						then attempt to mount the volume
//!	 					3. Set the major version number to a value higher that already set in both the boot sector and 
//!						the backup boot sector and then attempt to mount the volume
//!                              		4. Set the minor version number to a value higher that already set only in the boot sector and 
//!						then attempt to operate on volumes
//!						5. Set the minor version number to a value higher that already set in both the boot sector and 
//!						the backup boot sector and then attempt to operate on volumes
//!                              		with a higher minor version number
//!                              		6. Attempt to mount volume when it contains a version number that was defined at the time that the driver
//!                              		was written.
//! @SYMTestExpectedResults      	With respect to the actions, they are as follows:
//!								 1. The version number is 0.0
//!								 2. The mount is successful as the backup boot sector is used
//!								 3. The mount is unsuccessful
//!								 4. The mount is successful as the backup boot sector is used
//!								 5. The mount is unsuccessful
//!								 6. The mount is successful 
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server  Format   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer
RUN_TEST_STEP -1 t_fat32server  ReadRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer
RUN_TEST_STEP -1 t_fat32server  WriteRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer
RUN_TEST_STEP -1 t_fat32server  Mount   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer
RUN_TEST_STEP -1 t_fat32server  Format   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer
RUN_TEST_STEP -1 t_fat32server  WriteRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer
RUN_TEST_STEP -1 t_fat32server  WriteRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer_2b
RUN_TEST_STEP -1 t_fat32server  Mount   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer_2b
RUN_TEST_STEP -1 t_fat32server  Format   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer_3
RUN_TEST_STEP -1 t_fat32server  WriteRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer_3
RUN_TEST_STEP -1 t_fat32server  Mount   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer_3
RUN_TEST_STEP -1 t_fat32server  Format   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer_3b
RUN_TEST_STEP -1 t_fat32server  WriteRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer_3
RUN_TEST_STEP -1 t_fat32server  WriteRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer_3b
RUN_TEST_STEP -1 t_fat32server  Mount   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer_3b
RUN_TEST_STEP -1 t_fat32server  Format   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer_4
RUN_TEST_STEP -1 t_fat32server  WriteRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer_4
RUN_TEST_STEP -1 t_fat32server  Mount   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_FSVer_4
END_TESTCASE PBASE-BPB-FSVer-0282


START_TESTCASE                 	PBASE-BPB-RootClus-0283
//! @SYMTestCaseID               	PBASE-BPB-RootClus-0283
//! @SYMTestCaseDesc             	Verify that disk repair utilities can easily find the root directory if the root cluster field gets zeroed
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	These are as follows:
//!                              		1. Read the cluster number of the first cluster
//!                              		2. Format the volume and mark cluster 2 asbad. Perform a quick format so that the bad cluster chains are kept and read the cluster number of the forst cluster.
//!                              		3. Read the value of the cluster following the cluster ,marked as bad in the FAT table.
//! @SYMTestExpectedResults      	These are as follows:
//!                              		1. The cluster number of the first cluster is 2
//!                              		2. Cluster number of the first cluster is 3.
//!                              		3. Cluster contains the EOF mark (0x0FFFFFFF)
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_RootClus_1
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_RootClus_1
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_RootClus_2
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_RootClus_2
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_RootClus_2
END_TESTCASE PBASE-BPB-RootClus-0283


START_TESTCASE                 	PBASE-BPB-FSInfo-0284
//! @SYMTestCaseID               	PBASE-BPB-FSInfo-0284
//! @SYMTestCaseDesc             	Verify that the sector number of the FSINFO structure in the reserved area of the FAT32 volume is 1
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	Read the sector number of the FSINFO structure in the reserved area of the FAT32 volume
//! @SYMTestExpectedResults      	Sector number is 1
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_FSInfo
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_FSInfo
END_TESTCASE PBASE-BPB-FSInfo-0284


START_TESTCASE                 	PBASE-BPB_BkBootSec-0285
//! @SYMTestCaseID               	PBASE-BPB_BkBootSec-0285
//! @SYMTestCaseDesc             	Verify that the field points to the correct sector if a back-up boot sector exists.
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority            	High
//! @SYMTestActions              	These are as follows:
//!                              		1. Read the field that indicates the sector number in the reserved area of the volume of a copy of the boot record.
//!                              		2. Check to see if there is a copy of the boot record
//! @SYMTestExpectedResults      	If the value obtained in action 1 is zero then there is no copy of the boot record
//!                              		and sector 6 is zero. If the value obtained in action 1 is not zero then it is 6 and there is a copy of the boot
//!                              		record in sector 6.
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_BkBootSec
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_BkBootSec
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_BkBootSec_i
END_TESTCASE PBASE-BPB_BkBootSec-0285


START_TESTCASE                	PBASE-BPB-Reserved-0286
//! @SYMTestCaseID               	PBASE-BPB-Reserved-0286
//! @SYMTestCaseDesc             	Verify that the formatting of a FAT32 volumes sets the field that is reserved for future expansion to zero.
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	These are as follows:
//!                              		1. Perform a format of a FAT32 volume and read the field that is reserved for future expansion.
//!                              		2. Perform a format of a FAT32 volume and, using raw disk access,  set the field that is reserved for
//!                              		future expansion at offset 52 of the boot sector to 1. Following this check the integrity of the disk by
//!                              		calling RFs::CheckDisk().
//! @SYMTestExpectedResults      	These are as follows
//!                              		1. Field that is reserved for future expansion to is set to zero.
//!                              		2. KErrCorrupt is returned
//! @SYMTestType                 	CIT
//! @SYMTestStatus              	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_Reserved
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_Reserved
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_Reserved_2
RUN_TEST_STEP -1 t_fat32server CheckDisk 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_Reserved_2
END_TESTCASE PBASE-BPB-Reserved-0286


START_TESTCASE                 	PBASE-BPB-RootEntCnt-0287
//! @SYMTestCaseID               	PBASE-BPB-RootEntCnt-0287
//! @SYMTestCaseDesc             	Verify general characteristics of a FAT data structure.
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	These are as follows:
//!                              		1. Read the first data cluster and note the cluster number by formatting the disk and creating a file
//!                              		2. Read the BPB_RootEntCnt field at offset 17 of the boot sector and
//!                              		3. Set the field BPB_RootEntCnt to a value other than zero and determine the integrity of the disk by calling RFs::CheckDisk().
//! @SYMTestExpectedResults      	These are as follows
//!                              		1. Cluster number is cluster 2
//!                              		2. Value is 0
//!                              		3. KErrUnknown
//! @SYMTestType                 	CIT
//! @SYMTestStatus              	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_RootEntCnt_2
RUN_TEST_STEP -1 t_fat32server ReadRaw	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_RootEntCnt_2
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  BPB_RootEntCnt_3
RUN_TEST_STEP -1 t_fat32server  WriteRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_RootEntCnt_3i
RUN_TEST_STEP -1 t_fat32server  CheckDisk    \base\conformance\f32\fat32\f32-fat32-conformance.ini   BPB_RootEntCnt_3
END_TESTCASE PBASE-BPB-RootEntCnt-0287


START_TESTCASE                 	PBASE-FAT32Cluster-0288
//! @SYMTestCaseID               	PBASE-FAT32Cluster-0288
//! @SYMTestCaseDesc             	Verify general cluster characteristics of a FAT32 file system
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	These are as follows:
//!                              		1. Calculate the number of clusters that the FAT32 volume has
//!                              		2. On a formatted volume, mark cluster 4 as bad. Following this create a file that is three clusters long.
//!                              		Using raw disk access, read the values of clusters 3 till 6 in the FAT table.
//! @SYMTestExpectedResults      	These are as follows
//!                              		1. Cluster number is cluster 2
//!                             		2. Value is 0
//!                              		3. KErrUnknown
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  FAT32Cluster_1
RUN_TEST_STEP -1 t_fat32server Calculate	\base\conformance\f32\fat32\f32-fat32-conformance.ini  FAT32Cluster_1
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  FAT32Cluster_2a
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  FAT32Cluster_2a
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  FAT32Cluster_2a
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  FAT32Cluster_2a
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  FAT32Cluster_2b
END_TESTCASE PBASE-FAT32Cluster-0288


START_TESTCASE                 	PBASE-FSINFOSTRUC-1-0289
//! @SYMTestCaseID               	PBASE-FSINFOSTRUC-1-0289
//! @SYMTestCaseDesc             	Validate FAT32 FSInfo Sector Structure and Backup Boot Sector Parameters
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	These are as follows:
//!                              		1. Read the lead signature, FSI_LeadSig at offset 0 of the FSInfo sector
//!                              		2. Read the tail signature, FSI_LeadSig at offset 0 of the FSInfo sector
//!                              		3. Read the FSI_StrucSig field at offset 484 of the FSInfo Sector,
//!                              		4. Perform the following for the field that contains the last known cluster count on the volume
//!                              			a. Read the FSI_Free_Count field at offset 488 of the FSInfo sector
//!                              			b. Write a file of 3 clusters long. Following this use raw disk access to read the FSI_Free_Count field.
//!                              			c. Set the FSI_Free_count field to 0xFFFFFFFF and check the integrity of the disk.
//!                              			d. Set the field to a value greater than the cluster count and check the integrity of the disk by calling RFs::CheckDisk();
//!                              		5. Perform the following for the field that indicates the cluster number at which the driver should start looking for a free cluster
//!                              			a. Read the FSI_Nxt_Free field at offset 492 of the FSInfo sector.
//!                              			b. Mark cluster 3 as bad with the value 0x0FFFFFF7. Perform a quick format and read the FSI_Nxt_Free field.
//!                              			c. Write a file that is 3 clusters long. Following this read the FSI_Nxt_Free field.
//! @SYMTestExpectedResults      These are as follows
//!                              		1. Lead signature is 0x41615252
//!                              		2. Tail signature is 0xAA550000
//!                              		3. Field contains the value 0x61417272
//!                              		4. The expected results from these actions are
//!                              			a. Either contains the cluster count or the value 0xFFFFFFFF
//!                              			b. Contains the cluster count minus 3
//!                              			c. Disk is not reported as corrupt
//!                              			d. Disk is reported as corrupt
//!                              		5. The expected results for these actions are
//!                              			a. Driver starts looking at cluster 2
//!                              			b. Driver starts looking at cluster 4
//!                              			c. Driver starts looking at cluster 6
//! @SYMTestType                	 CIT
//! @SYMTestStatus               	 Implemented
RUN_TEST_STEP -1 t_fat32server  Format   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_1
RUN_TEST_STEP -1 t_fat32server  ReadRaw  	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_1
RUN_TEST_STEP -1 t_fat32server  ReadRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_2
RUN_TEST_STEP -1 t_fat32server  ReadRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_3
RUN_TEST_STEP -1 t_fat32server  WriteFile   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_4b
RUN_TEST_STEP -1 t_fat32server  Calculate   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_4b
RUN_TEST_STEP -1 t_fat32server  Format   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_4c
RUN_TEST_STEP -1 t_fat32server  WriteRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_4c
RUN_TEST_STEP -1 t_fat32server  CheckDisk   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_4c
RUN_TEST_STEP -1 t_fat32server  Format   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_4d
RUN_TEST_STEP -1 t_fat32server  Calculate   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_4d
RUN_TEST_STEP -1 t_fat32server  CheckDisk   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_4d
RUN_TEST_STEP -1 t_fat32server  WriteRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_5b
RUN_TEST_STEP -1 t_fat32server  Format   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_5b
RUN_TEST_STEP -1 t_fat32server  ReadRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_5b
RUN_TEST_STEP -1 t_fat32server  Format  	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_5c
RUN_TEST_STEP -1 t_fat32server  WriteFile   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_5c
RUN_TEST_STEP -1 t_fat32server  ReadRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   FSINFOSTRUC_5c
END_TESTCASE PBASE-FSINFOSTRUC-1-0289


START_TESTCASE                 	PBASE-DIR-Name-0290
//! @SYMTestCaseID               	PBASE-DIR-Name-0290
//! @SYMTestCaseDesc             	Validate the values for the first byte of the short name field
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	These are as follows:
//!                              		1. Write a file. Delete the file created and read the first byte of the sort name field.
//!                              		2. Read the first byte of the short name field of an emty entry.
//!                              		3. Write a file. Set the first byte of the short name field to a value less than 0x20 and attempt to open the file.
//!                              		4. Write a file. Set the first byte of the short name field to 0x05 and attempt to open the file.
//!                              		5. Write a file. Set the first byte of the shorname field to the values stated below and following this attempt to open the file.
//!                              		0x22, 0x2A, 0x2B, 0x2C, 0x2E, 0x2F, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x5B, 0x5C, 0x5D, 0x7C.
//! @SYMTestExpectedResults      	These are as follows
//!                              		1. The first byte of the short name field is set to 0xE5
//!                              		2. The first byte of the short name field is set to 0x00
//!                              		3. File is reported as corrupt
//!                              		4. File is opened
//!                              		5. File is reported as corrupt in all cases
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_1
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_1
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_1
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_2
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_3
RUN_TEST_STEP -1 t_fat32server WriteFile	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_3
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_3
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_3
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5i
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5i
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5i
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5i
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5ii
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5ii
RUN_TEST_STEP -1 t_fat32server WriteRaw	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5ii
RUN_TEST_STEP -1 t_fat32server ReadFile	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5ii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5iii
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5iii
RUN_TEST_STEP -1 t_fat32server WriteRaw	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5iii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5iii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5iv
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5iv
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5iv
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5iv
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5v
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5v
RUN_TEST_STEP -1 t_fat32server WriteRaw	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5v
RUN_TEST_STEP -1 t_fat32server ReadFile	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Name_5v
END_TESTCASE PBASE-DIR-Name-0290


START_TESTCASE                 	PBASE-DIR-Attr-0291
//! @SYMTestCaseID               	PBASE-DIR-Attr-0291
//! @SYMTestCaseDesc             	Verify the parameters for the field that specifies the attributes of the file
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	These are as follows:
//!                              		1. Create a test file, set the KEntryAttReadOnly attribute to the file and attempt to write to the file.
//!                              		2. Create a test file, set the attribute KEntryAttHidden and perform a CDir listing excluding the KEntryAttHidden mask.
//!                              		3. Create a test file, set the attribute KEntryAttSyste and check that the attributes have been changed
//!                              		4. Create a test file, set the attribute KEntryAttDir and check that the attributes have been changed.
//!                              		5. Create a test directory and check the attributes of the entry.
//!                              		6. Set a file system label "X:TestLabel". Following this perform a raw read to look for the entry and read the attribute.
//!                              		7. Attempt to create another entry with ATTR_VOLUME_ID set
//! @SYMTestExpectedResults      	These are as follows
//!                              		1. Write access is denied
//!                              		2. The file does not appear in the listing
//!                              		3. Attributes of the test file have been changed
//!                              		4. Attributes of the test file are not changed
//!                              		5. The attribute is specified as ATTR_DIRECTORY.
//!                              		6. The attribute is specified as ATTR_VOLUME_ID.
//!                              		7. Permission is denied to have more than one file specified with the attribute ATTR_VOLUME_ID.
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Attr_1
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Attr_1
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Attr_2
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Attr_2
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Attr_3
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Attr_3
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Attr_4
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Attr_4
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Attr_5
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Attr_5
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Attr_6
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Attr_6
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Attr_7
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Attr_7
END_TESTCASE PBASE-DIR-Attr-0291


START_TESTCASE                 	PBASE-DIRSPECIALENT-0292
//! @SYMTestCaseID               	PBASE-DIRSPECIALENT-0292
//! @SYMTestCaseDesc             	Verify that if the directory is not in the root directory, 2 special entries are created in the first two
//!                              		32-byte directory entries of the directory
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	These are as follows:
//!                              	1. Perform a full format and create a directory. Using raw disk access read
//!                              		a. the first byte of the entry
//!                              		b. the 32nd byte of the entry
//!                              	2. Attempt to create a file, using RFile::Write() with the following names
//!                              		a. "."
//!                             	 	b. ".."
//! @SYMTestExpectedResults      These are as follows
//!                              	1. Two special entries are created in the first two 32-byte directory entries of the directory
//!                              	a. First directory has the name set to "."
//!                              	b. Second directory has the name set to ".."
//!                              	2.
//!                              	a. File cannot be created, KErrBadName is returned
//!                              	b. File cannot be created, KErrBadName is returned
//! @SYMTestType              CIT
//! @SYMTestStatus            Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIRSPECIALENT_1
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIRSPECIALENT_1
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIRSPECIALENT_1a
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIRSPECIALENT_1b
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIRSPECIALENT_2a
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIRSPECIALENT_2b
END_TESTCASE PBASE-DIRSPECIALENT-0292


START_TESTCASE                 	PBASE-DIR-Date-0293
//! @SYMTestCaseID               	PBASE-DIR-Date-0293
//! @SYMTestCaseDesc             	Validating the date format
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	Create a file and using raw disk access, change the created date field and the modified date
//!                              		field in the entry various correct and incorrectvalues. Following this call the function RFs::Modified().
//! @SYMTestExpectedResults      	These are as follows
//!                              			a. All correct values return the date written to the disk
//!                             		 	b. All incorrect values return the default vlaue 01/01/0000
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format		 \base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_1ai
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_1aii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_1aii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_1bi
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_1bii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_1bii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_1ci
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_1cii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_1cii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_2ai
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_2aii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_2aii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_2bi
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_2bii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_2bii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_2ci
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_2cii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_2cii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_2di
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_2dii
RUN_TEST_STEP -1 t_fat32server ReadFile	 \base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_2dii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_3ai
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_3aii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_3aii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_3bi
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_3bii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Date_3bii
END_TESTCASE PBASE-DIR-Date-0293


START_TESTCASE                 	PBASE-DIR-Time-0294
//! @SYMTestCaseID               	PBASE-DIR-Time-0294
//! @SYMTestCaseDesc             	Validating the time format
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	Create a file and using raw disk access, change the created time field and the modified time
//!                              		field in the entry various correct and incorrectvalues. Following this call the function RFs::Modified().
//! @SYMTestExpectedResults      	These are as follows
//!                              		a. All correct values return the time written to the disk
//!                              		b. All incorrect values return the default vlaue 00:00:00
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_1ai
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_1aii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_1aii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_1bi
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_1bii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_1bii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_1ci
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_1cii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_1cii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_2ai
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_2aii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_2aii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_2bi
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_2bii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_2bii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_2ci
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_2cii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_2cii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_3ai
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_3aii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_3aii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_3bi
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_3bii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_3bii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteFile	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_3bi
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_3bii
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  DIR_Time_3bii
END_TESTCASE PBASE-DIR-Time-0294


START_TESTCASE                 	PBASE-LDIR-0295
//! @SYMTestCaseID               	PBASE-LDIR-0295
//! @SYMTestCaseDesc             	Validate values for the long name field.
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	These are as follows:
//!                              		1. Create a file that takes up 3 long directory entries. Read the first byte of the last long directory name.
//!                              		2. Create a file that taked up 2 long directory entries. Delete the file and Read the fist byte of each long entry
//!                              		3. Create a file that takes up 6long directory entries. Read the first byte of the last long entry and the first byte of the first
//!                              		long entry to check the range.
//!                              		4. Create a file and read the attributes of the long directory entry at position 11 of the entry
//!                              		5. Create a file and perform the following
//!                              			a) Read the field LDIR_FstClusLO at position 26 of the long directory entry
//!                              			b) Use raw disk access to write a value other than zero to the LDIR_FstClusLO field and
//!                              		following this check the integrity of the disk by calling RFs::CheckDisk().
//! @SYMTestExpectedResults      	These are as follows
//!                              		1. The value is masked witih 0x40 and is therefore 0x43
//!                              		2. The first byte of each long entry is set to 0xE5
//!                              		3. The first byte of the last long entry is 0x46 and the first byte of the first long entry is 0x01, indicating that the range is 1-6
//!                              		4. The attribute is set to ATTR_LONG_NAME (0x0F)
//!                              		5. The following is expected form the actions
//!                              			a. Value is 0x00
//!                              			b. Disk errors are reported
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_1
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_1
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_1
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_2a
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_2a
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_2a
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_2ai
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_2b
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_2b
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_2b
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_2bi
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_3
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_3
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_3
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_3i
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_4
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_4
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_4
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_5
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_5
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_5
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_5i
RUN_TEST_STEP -1 t_fat32server ReadFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  LDIR_5i
END_TESTCASE PBASE-LDIR-0295


START_TESTCASE                 	PBASE-HighFourRes-0296
//! @SYMTestCaseID               	PBASE-HighFourRes-0296
//! @SYMTestCaseDesc             	Ensuring that the first 4 bytes from offset 36 cannot be any value other than zero
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	Format the volume and using raw disk access change the third cluster value in the FAT table to 0xFFFFFFFF.
//!                              		Following this perform a quick format and using raw disk access, read the third cluster value.
//! @SYMTestExpectedResults      	Third cluster contains the value 0x0FFFFFFF
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  HighFourRes_a
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  HighFourRes_a
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  HighFourRes_a
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  HighFourRes_b
RUN_TEST_STEP -1 t_fat32server ReadRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  HighFourRes_b
END_TESTCASE PBASE-HighFourRes-0296


START_TESTCASE                 	PBASE-CorruptFatTable-0297
//! @SYMTestCaseID               	PBASE-CorruptFatTable-0297
//! @SYMTestCaseDesc             	Purposely corrupting file systems to ensure they are handled gracefully
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	These are as follows:
//!                              		1. Purposely producing an  FAT table and determine the integrity of the disk
//!                              		2. Introducing 'garbage' material into the fat table and calling RFs::Checkdisk to determine the integrity of the disk
//!                              		3. Purposely allowing the FAT table to point to positions that do not exist and  determine the integrity of the disk
//!                              		4. Marking blocks that are bad as good without performing a full low-level scan of the media and  determine the integrity of the disk
//! @SYMTestExpectedResults      	The disk is reported as corrupt in all cases
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_1i
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_1i
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_1ii
RUN_TEST_STEP -1 t_fat32server CheckDisk 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_1ii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_2i
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_2i
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_2ii
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_2iii
RUN_TEST_STEP -1 t_fat32server CheckDisk 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_2iii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_3i
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_3i
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_3ii
RUN_TEST_STEP -1 t_fat32server CheckDisk 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_3ii
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_4i
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_4i
RUN_TEST_STEP -1 t_fat32server WriteFile 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_4ii
RUN_TEST_STEP -1 t_fat32server WriteRaw 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_4ii
RUN_TEST_STEP -1 t_fat32server CheckDisk 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  CorruptFatTable_4iii
END_TESTCASE PBASE-CorruptFatTable-0297


START_TESTCASE                 	PBASE-BadMedia-0298
//! @SYMTestCaseID               	PBASE-BadMedia-0298
//! @SYMTestCaseDesc             	Using unreadable or unusable media to ensure they are handled gracefully
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	Attempting to mount a file system on unreadable media
//! @SYMTestExpectedResults      	The media is reported as unkown
//! @SYMTestType                 	CIT
RUN_TEST_STEP -1 t_fat32server  Format  	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BadMedia
RUN_TEST_STEP -1 t_fat32server  WriteRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BadMedia
RUN_TEST_STEP -1 t_fat32server  WriteRaw   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BadMedia_i
RUN_TEST_STEP -1 t_fat32server  CheckDisk    \base\conformance\f32\fat32\f32-fat32-conformance.ini   BadMedia
RUN_TEST_STEP -1 t_fat32server  Mount   	\base\conformance\f32\fat32\f32-fat32-conformance.ini   BadMedia
END_TESTCASE PBASE-BadMedia-0298


START_TESTCASE                 	PBASE-Larger512-0299
//! @SYMTestCaseID               	PBASE-Larger512-0299
//! @SYMTestCaseDesc             	Ensuring FAT32 is only used when necessary
//! @SYMREQ                     	 	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	Mounting the file system on various size media
//! @SYMTestExpectedResults      	The media is reported as unkown
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  Larger512
RUN_TEST_STEP -1 t_fat32server Larger512 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  Larger512
END_TESTCASE PBASE-Larger512-0299


START_TESTCASE                 	PBASE-FillDisk-0300
//! @SYMTestCaseID               	PBASE-FillDisk-0300
//! @SYMTestCaseDesc             	Ensuring that the disk can be filled to its maximum capacity
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	Perform the following actions on FAT32 media
//!                              			a. Filling the drive with one big file
//!                              			b. Check the size of the file
//! @SYMTestExpectedResults      	These are as follows:
//!                              		a. The disk is full
//!                              		b. Size of the file is equal to the free space available on the disk before it has been filled
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  FillDisk
RUN_TEST_STEP -1 t_fat32server FillDisk 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  FillDisk
RUN_TEST_STEP -1 t_fat32server ClusterBound \base\conformance\f32\fat32\f32-fat32-conformance.ini  ClusterBound_1
END_TESTCASE PBASE-FillDisk-0300


START_TESTCASE                 	PBASE-ClusterBound-0301
//! @SYMTestCaseID               	PBASE-ClusterBound-0301
//! @SYMTestCaseDesc             	Testing the cluster boundary values
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	Perform the following actions on FAT32 media
//!                              		1. Create one big file to fill the disk. Following this, create another file and attempt to write to this new file.
//!                              		2. Create one big file to fill the disk then fill the root directory by creating many empty files. Following this attempt to create another file.
//! @SYMTestExpectedResults      	The disk is full
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format 		\base\conformance\f32\fat32\f32-fat32-conformance.ini  FillDisk
RUN_TEST_STEP -1 t_fat32server FillDisk 		\base\conformance\f32\fat32\f32-fat32-conformance.ini  FillDisk
RUN_TEST_STEP -1 t_fat32server ClusterBound 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  ClusterBound_1
RUN_TEST_STEP -1 t_fat32server Format 		\base\conformance\f32\fat32\f32-fat32-conformance.ini  FillDisk
RUN_TEST_STEP -1 t_fat32server FillDisk		 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  FillDisk
RUN_TEST_STEP -1 t_fat32server ClusterBound 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  ClusterBound_2
END_TESTCASE PBASE-ClusterBound-0301


START_TESTCASE                 	PBASE-RemoveMedia-0302
//! @SYMTestCaseID               	PBASE-RemoveMedia-0302
//! @SYMTestCaseDesc             	Sudden removal of removable media cards
//! @SYMREQ                      	REQ7827
//! @SYMTestPriority             	High
//! @SYMTestActions              	Perform the following actions on FAT32 media
//!                              		1. Simulating the removal of a media card whilst operations are taking place
//! @SYMTestExpectedResults      	The disk should not be corrupt
//! @SYMTestType                 	CIT
//! @SYMTestStatus               	Implemented
RUN_TEST_STEP -1 t_fat32server Format		 \base\conformance\f32\fat32\f32-fat32-conformance.ini  RemoveMedia
Print DURING THIS TEST PLEASE REMOVE THE CARD
RUN_TEST_STEP -1 t_fat32server ReadWrite 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  RemoveMedia
Print PLEASE INSERT THE CARD
DELAY 3000
RUN_TEST_STEP -1 t_fat32server CheckDisk 	\base\conformance\f32\fat32\f32-fat32-conformance.ini  RemoveMedia
END_TESTCASE PBASE-RemoveMedia-0302


