baseintegtests/baseintegrationtest/testsuites/fat32/scripts/btfat32.script
author Slion
Tue, 08 Dec 2009 08:11:42 +0100
branchanywhere
changeset 19 f6d3d9676ee4
parent 0 a41df078684a
permissions -rw-r--r--
Trying to figure out how to implement my WINC like compatibility layer. Going the emulation way is probably not so smart. We should not use the kernel but rather hook native functions in the Exec calls.

//@file btfat32.script
//! @SYMTestSuiteName PBASE-FAT32
//! @SYMScriptTestEnvironment base

LOAD_SUITE basetestfat32server

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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini BPB_FATSz32
RUN_TEST_STEP -1 basetestfat32server Calculate \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini BPB_ExtFlags_1
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini BPB_ExtFlags_1
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini BPB_ExtFlags_4
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini Bit_CInShutBitMask
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini Bit_CHrdErrBitMask
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini BPB_FSVer
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini BPB_FSVer
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini BPB_FSVer
RUN_TEST_STEP -1 basetestfat32server Mount \basetest\basetestfat32config.ini BPB_FSVer

RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini BPB_FSVer
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini BPB_FSVer
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini BPB_FSVer_2b
RUN_TEST_STEP -1 basetestfat32server Mount \basetest\basetestfat32config.ini BPB_FSVer_2b


RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini BPB_FSVer_3
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini BPB_FSVer_3
RUN_TEST_STEP -1 basetestfat32server Mount \basetest\basetestfat32config.ini BPB_FSVer_3

RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini BPB_FSVer_3b
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini BPB_FSVer_3
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini BPB_FSVer_3b
RUN_TEST_STEP -1 basetestfat32server Mount \basetest\basetestfat32config.ini BPB_FSVer_3b

RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini BPB_FSVer_4
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini BPB_FSVer_4
RUN_TEST_STEP -1 basetestfat32server Mount \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini BPB_RootClus_1
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini BPB_RootClus_1
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini BPB_RootClus_2
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini BPB_RootClus_2
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini BPB_FSInfo
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini BPB_BkBootSec
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini BPB_BkBootSec
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini BPB_Reserved
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini BPB_Reserved
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini BPB_Reserved_2
RUN_TEST_STEP -1 basetestfat32server CheckDisk \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini BPB_RootEntCnt_2
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini BPB_RootEntCnt_2
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini BPB_RootEntCnt_3
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini BPB_RootEntCnt_3i
RUN_TEST_STEP -1 basetestfat32server CheckDisk \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini FAT32Cluster_1
RUN_TEST_STEP -1 basetestfat32server Calculate \basetest\basetestfat32config.ini FAT32Cluster_1
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini FAT32Cluster_2a
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini FAT32Cluster_2a
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini FAT32Cluster_2a
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini FAT32Cluster_2a
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini FSINFOSTRUC_1
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini FSINFOSTRUC_1
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini FSINFOSTRUC_2
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini FSINFOSTRUC_3
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini FSINFOSTRUC_4b
RUN_TEST_STEP -1 basetestfat32server Calculate \basetest\basetestfat32config.ini FSINFOSTRUC_4b
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini FSINFOSTRUC_4c
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini FSINFOSTRUC_4c
RUN_TEST_STEP -1 basetestfat32server CheckDisk \basetest\basetestfat32config.ini FSINFOSTRUC_4c
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini FSINFOSTRUC_4d
RUN_TEST_STEP -1 basetestfat32server Calculate \basetest\basetestfat32config.ini FSINFOSTRUC_4d
RUN_TEST_STEP -1 basetestfat32server CheckDisk \basetest\basetestfat32config.ini FSINFOSTRUC_4d
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini FSINFOSTRUC_5b
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini FSINFOSTRUC_5b
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini FSINFOSTRUC_5b
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini FSINFOSTRUC_5c
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini FSINFOSTRUC_5c
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Name_1
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Name_1
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini DIR_Name_1
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini DIR_Name_2
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Name_3
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Name_3
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Name_3
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Name_3
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Name_5i
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Name_5i
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Name_5i
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Name_5i
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Name_5ii
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Name_5ii
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Name_5ii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Name_5ii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Name_5iii
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Name_5iii
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Name_5iii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Name_5iii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Name_5iv
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Name_5iv
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Name_5iv
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Name_5iv
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Name_5v
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Name_5v
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Name_5v
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Attr_1
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Attr_1
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Attr_2
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Attr_2
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Attr_3
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Attr_3
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Attr_4
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Attr_4
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Attr_5
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Attr_5
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Attr_6
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Attr_6
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Attr_7
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini DIRSPECIALENT_1
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIRSPECIALENT_1
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini DIRSPECIALENT_1a
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini DIRSPECIALENT_1b
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIRSPECIALENT_2a
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_1ai
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_1aii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Date_1aii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_1bi
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_1bii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Date_1bii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_1ci
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_1cii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Date_1cii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_2ai
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_2aii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Date_2aii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_2bi
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_2bii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Date_2bii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_2ci
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_2cii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Date_2cii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_2di
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_2dii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Date_2dii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_3ai
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_3aii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Date_3aii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Date
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_3bi
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Date_3bii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_1ai
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_1aii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Time_1aii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_1bi
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_1bii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Time_1bii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_1ci
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_1cii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Time_1cii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_2ai
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_2aii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Time_2aii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_2bi
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_2bii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Time_2bii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_2ci
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_2cii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Time_2cii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_3ai
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_3aii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Time_3aii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_3bi
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_3bii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.ini DIR_Time_3bii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini DIR_Time
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_3bi
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini DIR_Time_3bii
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini LDIR_1
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini LDIR_1
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini LDIR_1
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini LDIR_2a
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini LDIR_2a
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini LDIR_2a
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini LDIR_2ai
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini LDIR_2b
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini LDIR_2b
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini LDIR_2b
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini LDIR_2bi
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini LDIR_3
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini LDIR_3
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini LDIR_3
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini LDIR_3i
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini LDIR_4
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini LDIR_4
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini LDIR_4
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini LDIR_5
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini LDIR_5
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini LDIR_5
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini LDIR_5i
RUN_TEST_STEP -1 basetestfat32server ReadFile \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini HighFourRes_a
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.ini HighFourRes_a
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini HighFourRes_a
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini HighFourRes_b
RUN_TEST_STEP -1 basetestfat32server ReadRaw \basetest\basetestfat32config.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                      REQ0000
//! @SYMTestPriority             High
//! @SYMTestActions              These are as follows:
//!                              1. Purposely producing an incomplete 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 basetestfat32server Format \basetest\basetestfat32config.ini CorruptFatTable_1i
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini CorruptFatTable_1i
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini CorruptFatTable_1ii
RUN_TEST_STEP -1 basetestfat32server CheckDisk \basetest\basetestfat32config.ini CorruptFatTable_1ii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini CorruptFatTable_2i
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini CorruptFatTable_2i
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini CorruptFatTable_2ii
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini CorruptFatTable_2iii
RUN_TEST_STEP -1 basetestfat32server CheckDisk \basetest\basetestfat32config.ini CorruptFatTable_2iii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini CorruptFatTable_3i
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini CorruptFatTable_3i
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini CorruptFatTable_3ii
RUN_TEST_STEP -1 basetestfat32server CheckDisk \basetest\basetestfat32config.ini CorruptFatTable_3ii
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini CorruptFatTable_4i
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini CorruptFatTable_4i
RUN_TEST_STEP -1 basetestfat32server WriteFile \basetest\basetestfat32config.ini CorruptFatTable_4ii
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini CorruptFatTable_4ii
RUN_TEST_STEP -1 basetestfat32server CheckDisk \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini BadMedia
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini BadMedia
RUN_TEST_STEP -1 basetestfat32server WriteRaw \basetest\basetestfat32config.ini BadMedia_i
RUN_TEST_STEP -1 basetestfat32server CheckDisk \basetest\basetestfat32config.ini BadMedia
RUN_TEST_STEP -1 basetestfat32server Mount \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini Larger512
RUN_TEST_STEP -1 basetestfat32server Larger512 \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini FillDisk
RUN_TEST_STEP -1 basetestfat32server FillDisk \basetest\basetestfat32config.ini FillDisk
RUN_TEST_STEP -1 basetestfat32server ClusterBound \basetest\basetestfat32config.ini ClusterBound_1
END_TESTCASE PBASE-FillDisk-0300


START_TESTCASE                 PBASE-ClusterBound-0301
//! @SYMTestCaseID               PBASE-ClusterBound-0301
//! @SYMTestCaseDesc             Testing the cluster boundary values
//! @SYMREQ                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini FillDisk
RUN_TEST_STEP -1 basetestfat32server FillDisk \basetest\basetestfat32config.ini FillDisk
RUN_TEST_STEP -1 basetestfat32server ClusterBound \basetest\basetestfat32config.ini ClusterBound_1
RUN_TEST_STEP -1 basetestfat32server Format \basetest\basetestfat32config.ini FillDisk
RUN_TEST_STEP -1 basetestfat32server FillDisk \basetest\basetestfat32config.ini FillDisk
RUN_TEST_STEP -1 basetestfat32server ClusterBound \basetest\basetestfat32config.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                      REQ0000
//! @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 basetestfat32server Format \basetest\basetestfat32config.ini RemoveMedia
Print DURING THIS TEST PLEASE REMOVE THE CARD
RUN_TEST_STEP -1 basetestfat32server ReadWrite \basetest\basetestfat32config.ini RemoveMedia
Print PLEASE INSERT THE CARD
DELAY 3000
RUN_TEST_STEP -1 basetestfat32server CheckDisk \basetest\basetestfat32config.ini RemoveMedia
END_TESTCASE PBASE-RemoveMedia-0302