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.
// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of the License "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
// Initial Contributors:
// Nokia Corporation - initial contribution.
//
// Contributors:
//
// Description:
// Check file system against SD specifications
//
//
//! @file btsdwp.script
//! @SYMTestSuiteName basetestsd
//! @SYMScriptTestEnvironment base
LOAD_SUITE basetestsd -SharedData
PRINT IMPORTANT NOTE
PRINT The following test cases are for SD cards only.
PRINT Testing on any other media (removable or fixed) will fail.
START_TESTCASE PBASE-SDTESTSPECFS1-0202
//! @SYMTestCaseID PBASE-SDTESTSPECFS1-0202
//! @SYMTestCaseDesc Inspect Master Boot Record (MBR) against the SD specifications
//! @SYMREQ REQ0000
//! @SYMTestActions
//! 1. Fill up the first sectors of the card with zeroes
//! 2. Format card (Full Format)
//! 3. Examine MBR
//! 4. Format card (Quick Format)
//! 5. Examine MBR
//! 6. Perform some file operations on the card
//! 7. Examine MBR
//! @SYMTestExpectedResults
//! All operations complete with no error
//! The MBR rigorously complies with the SD specifications at all times
//! @SYMTestPriority High
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 50 basetestsd DisplayInfo \basetest\btsd.ini
RUN_TEST_STEP 50 basetestsd FillSectors \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 500 basetestsd Format \basetest\btsd.ini FullFormat
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FS1
RUN_TEST_STEP 500 basetestsd Format \basetest\btsd.ini QuickFormat
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FS1
RUN_TEST_STEP 100 basetestsd FileOperations1 \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FS1
END_TESTCASE PBASE-SDTESTSPECFS1-0202
START_TESTCASE PBASE-SDTESTSPECFS2-0203
//! @SYMTestCaseID PBASE-SDTESTSPECFS2-0203
//! @SYMTestCaseDesc Inspect Partion Boot Sector (PBS) against the SD specifications
//! @SYMREQ REQ0000
//! @SYMTestActions
//! 1. Fill up the first sectors of the card with zeroes
//! 2. Format card (Full Format)
//! 3. Examine PBS
//! 4. Perform some file operations on the card
//! 5. Examine PBS
//! 6. Format card (Quick Format)
//! 7. Examine PBS
//! 8. Perform some file operations on the card
//! 9. Examine PBS
//! @SYMTestExpectedResults
//! All operations complete with no error
//! The PBS rigorously complies with the SD specifications at all times
//! @SYMTestPriority High
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 50 basetestsd FillSectors \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 500 basetestsd Format \basetest\btsd.ini FullFormat
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FS2
RUN_TEST_STEP 100 basetestsd FileOperations1 \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FS2
RUN_TEST_STEP 500 basetestsd Format \basetest\btsd.ini QuickFormat
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FS2
RUN_TEST_STEP 100 basetestsd FileOperations1 \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FS2
END_TESTCASE PBASE-SDTESTSPECFS2-0203
START_TESTCASE PBASE-SDTESTSPECFS3-0204
//! @SYMTestCaseID PBASE-SDTESTSPECFS3-0204
//! @SYMTestCaseDesc Inspect File Allocation Table (FAT) after formatting (FAT12/16 only)
//! @SYMREQ REQ0000
//! @SYMTestActions
//! 1. Fill up the first sectors of the card with zeroes
//! 2. Format card (Full Format)
//! 3. Examine FAT
//! 4. Perform some file operations on the card
//! 6. Format card (Quick Format)
//! 7. Examine FAT
//! @SYMTestExpectedResults
//! All operations complete with no error
//! The FAT sectors are always blank after formatting
//! @SYMTestPriority High
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 50 basetestsd FillSectors \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 500 basetestsd Format \basetest\btsd.ini FullFormat
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FS3
RUN_TEST_STEP 100 basetestsd FileOperations1 \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 500 basetestsd Format \basetest\btsd.ini QuickFormat
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FS3
END_TESTCASE PBASE-SDTESTSPECFS3-0204
START_TESTCASE PBASE-SDTESTSPECFS4-0205
//! @SYMTestCaseID PBASE-SDTESTSPECFS4-0205
//! @SYMTestCaseDesc Inspect Root Directory after formatting (FAT12/16 only)
//! @SYMREQ REQ0000
//! @SYMTestActions
//! 1. Fill up the first sectors of the card with zeroes
//! 2. Format card (Full Format)
//! 3. Examine Root Directory
//! 4. Perform some file operations on the card
//! 6. Format card (Quick Format)
//! 7. Examine Root Directory
//! @SYMTestExpectedResults
//! All operations complete with no error
//! The Root Directory sectors are always blank after formatting
//! @SYMTestPriority High
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 50 basetestsd FillSectors \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 500 basetestsd Format \basetest\btsd.ini FullFormat
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FS4
RUN_TEST_STEP 100 basetestsd FileOperations1 \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 500 basetestsd Format \basetest\btsd.ini QuickFormat
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FS4
END_TESTCASE PBASE-SDTESTSPECFS4-0205
START_TESTCASE PBASE-SDTESTSPECFS5-0206
//! @SYMTestCaseID PBASE-SDTESTSPECFS5-0206
//! @SYMTestCaseDesc Inspect File System layout (FAT12/16) against the SD specifications
//! @SYMREQ REQ0000
//! @SYMTestActions
//! 1. Fill up the first sectors of the card with zeroes
//! 2. Format card (Full Format)
//! 3. Examine File System layout
//! 4. Perform some file operations on the card
//! 5. Examine File System layout
//! 6. Format card (Quick Format)
//! 7. Examine File System layout
//! 8. Perform some file operations on the card
//! 9. Examine File System layout
//! @SYMTestExpectedResults
//! All operations complete with no error
//! The File System layout rigorously complies with the SD specifications at all times
//! @SYMTestPriority High
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 50 basetestsd FillSectors \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 500 basetestsd Format \basetest\btsd.ini FullFormat
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FS5
RUN_TEST_STEP 100 basetestsd FileOperations1 \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FS5
RUN_TEST_STEP 500 basetestsd Format \basetest\btsd.ini QuickFormat
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FS5
RUN_TEST_STEP 100 basetestsd FileOperations1 \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FS5
END_TESTCASE PBASE-SDTESTSPECFS5-0206
START_TESTCASE PBASE-SDTESTSPECFAT32FSINFO-0215
//! @SYMTestCaseID PBASE-SDTESTSPECFAT32FSINFO-0215
//! @SYMTestCaseDesc Inspect File System Info Sector (FAT32 only) against the SD specifications
//! @SYMREQ REQ0000
//! @SYMTestActions
//! 1. Fill up the first sectors of the card with zeroes
//! 2. Format card (Full Format)
//! 3. Examine File System Info Sector
//! 4. Perform some file operations on the card
//! 5. Examine File System Info Sector
//! 6. Format card (Quick Format)
//! 7. Examine File System Info Sector
//! 8. Perform some file operations on the card
//! 9. Examine File System Info Sector
//! @SYMTestExpectedResults
//! All operations complete with no error
//! The File System Info Sector rigorously complies with the SD specifications at all times
//! @SYMTestPriority High
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 50 basetestsd FillSectors \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 500 basetestsd Format \basetest\btsd.ini FullFormat
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FAT32FSINFO
RUN_TEST_STEP 100 basetestsd FileOperations1 \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FAT32FSINFO
RUN_TEST_STEP 500 basetestsd Format \basetest\btsd.ini QuickFormat
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FAT32FSINFO
RUN_TEST_STEP 100 basetestsd FileOperations1 \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FAT32FSINFO
END_TESTCASE PBASE-SDTESTSPECFAT32FSINFO-0215
START_TESTCASE PBASE-SDTESTSPECFAT32FSBACKUPSECTORS-0216
//! @SYMTestCaseID PBASE-SDTESTSPECFAT32FSBACKUPSECTORS-0216
//! @SYMTestCaseDesc Compare Partion Boot Sectors (PBS) and Backup Boot Sectors (BBS) (FAT32 only)
//! @SYMREQ REQ0000
//! @SYMTestActions
//! 1. Fill up the first sectors of the card with zeroes
//! 2. Format card (Full Format)
//! 3. Compare PBS and BBS
//! 4. Perform some file operations on the card
//! 5. Examine PBS and BBS
//! 6. Format card (Quick Format)
//! 7. Examine PBS and BBS
//! 8. Perform some file operations on the card
//! 9. Examine PBS and BBS
//! @SYMTestExpectedResults
//! All operations complete with no error
//! PBS and BBS are always identical
//! @SYMTestPriority High
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 50 basetestsd FillSectors \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 500 basetestsd Format \basetest\btsd.ini FullFormat
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FAT32FSBACKUPSECTORS
RUN_TEST_STEP 100 basetestsd FileOperations1 \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FAT32FSBACKUPSECTORS
RUN_TEST_STEP 500 basetestsd Format \basetest\btsd.ini QuickFormat
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FAT32FSBACKUPSECTORS
RUN_TEST_STEP 100 basetestsd FileOperations1 \basetest\btsd.ini SDTESTSPEC
RUN_TEST_STEP 50 basetestsd FieldCheck \basetest\btsd.ini SDTESTSPEC_FAT32FSBACKUPSECTORS
END_TESTCASE PBASE-SDTESTSPECFAT32FSBACKUPSECTORS-0216