Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 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:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-FFDD3689-A83B-5E67-A2BD-7723B141E198" xml:lang="en"><title> FAT32
Conformance Test Suite</title><shortdesc>Describes the FAT32 conformance test suite.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-3531B60A-500A-47E6-A5FB-ADF7C6076432"><title>Test Suite Overview</title> <p>The FAT32 Conformance Test
Suite ensures conformance with various functionality provided by the implementation
of FAT32. This includes verification of FAT32 parameters as defined by the <i>Microsoft
Extensible Firmware Initiative FAT32 System Specification</i> (refer the <xref href="http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx" scope="external">Microsoft</xref> Web site). </p> </section>
<section id="GUID-23ADBF26-7FED-4091-BC2E-770B9F4A1829"><title>Test Approach</title> <p>The test suite attempts to validate
all the FAT32 parameters in the boot sector, the FAT table and the FSInfo
sector. It ensures that these fields contain correct values and that the system
handles the introduction of incorrect values by generating appropriate errors. </p> <p>This
suite tests the File Allocation Table and its integrity in various conditions.
For example, attempts are made to access clusters that are beyond the legal
cluster bounds, to fill the disk to its maximum capacity and to remove the
media while operations are taking place. </p> <p>Negative testing is be performed
where applicable to confirm that errors are returned as documented. </p> <p>All
tests except the final test, <codeph>REMOVEMEDIA</codeph>, are automated.
The final test case requires user intervention to remove a memory card when
advised. </p> </section>
<section id="GUID-9C7445B4-13D3-4249-84B0-4A85E37DADFC"><title>Coverage Omissions</title> <p>The following are not tested: </p> <ul>
<li id="GUID-88D14F05-7D03-58DA-835D-3EA2EFD489AC"><p>Fields specific to the
FAT16 and FAT12 implementation. </p> </li>
<li id="GUID-4CECA041-8835-54EE-A002-4DEB81DD56F0"><p>Name limits and character
sets. </p> </li>
</ul> </section>
<section id="GUID-60CA0A75-7A09-4EEC-970D-2451FE03B54A"><title> Test Suite Details</title> <p><b>Test
Script Source Tree Location</b> </p> <p>Descriptions of the test cases that
is, test script can be found at the following location: </p> <p> <filepath>...\baseapitest\basesvs\conformance\f32\fat32\scripts\f32-fat32-conformance.script</filepath>. </p> <p><b>Test
Script EPOC tree Location</b> </p> <p>When the tests are built for emulator
or hardware (winscw/armv5), the script is exported into the following location
in the epoc tree: <filepath>%EPOCROOT%\epoc32\data\Z\base\conformance\f32\fat32</filepath>. </p> <p><b>Test Script Build Location</b> </p> <p>When the tests are built, the script
is built into the following location: </p> <p> <filepath>%EPOCROOT%\epoc32\release\<winscw|armv5>\<udeb|urel>\Z\base\conformance\f32\fat32\</filepath> </p> <p><note> When the tests are built to be executed on hardware the files
are built into the z: drive of the ROM. </note></p> <p id="GUID-D0F57E8A-9AF1-57E4-BA22-3FE4AB49E8F9"><b> Test Data Source Tree Location</b> </p> <p>The
test suite contains following test data file: </p> <p> <filepath>...\baseapitest\basesvs\conformance\f32\fat32\testdata\<winscw|armv5>\f32-fat32-conformance.ini</filepath> </p> <p><note> This test suite is only available for Symbian OS v9.4 and
later versions.</note> </p> <p id="GUID-8654BC4C-FF04-53BD-8982-1866A0F45BB0"><b>Test Data Files EPOC Tree
Location</b> </p> <p>When the tests are built for emulator or hardware (winscw/armv5),
the data file is exported into the following location in the epoc tree: <filepath>%EPOCROOT%\epoc32\data\Z\base\conformance\f32\fat32\</filepath>. </p> <p><b>Test
Data Files Emulator Location</b> </p> <p>When the tests are built, the test
data file are built into the following location: <filepath>%EPOCROOT%\epoc32\release\winscw\<udeb/urel>\Z\base\conformance\f32\fat32\</filepath>. </p> <p> <note> When the tests are built to be executed on hardware the
files are built into the z: drive of the ROM </note></p> <p><b>Test .driver File</b> </p> <p>The <filepath>base.driver</filepath> file
found in <filepath>...\baseapitest\basesvs\testsuites\base\</filepath> is
used by the test driver to construct the test suite tree structure and export
all the appropriate files to the correct location in the epoc32 tree and on
the device. </p> <p>When the tests are built, the <filepath>.driver</filepath> file
can be found in the following location: <filepath>%EPOCROOT%\epoc32\testdriver\testproduct\</filepath>. </p> <p id="GUID-72714310-D4B3-5077-89C6-D7B8D4FFC5F7"><b>TCS File Source Location</b> </p> <p>The <filepath>.tcs</filepath> file
is found in the following location: </p> <p> <filepath>...\baseapitest\basesvs\config\t_base.tcs</filepath> </p> <p><b>TCS File Build Location</b> </p> <p>When the tests are built, the script
is generated in the following location: </p> <p> <filepath>%EPOCROOT%\epoc32\release\<winscw|armv5>\<udeb|urel>\Z\base\</filepath> </p> <p><note> When the tests are built to be executed on hardware, the files are built
into the <filepath>z:</filepath> drive of the ROM.</note> </p> </section>
<section id="GUID-247E06DA-44C0-4E4C-AF85-812848981B09"><title>Test Environment and Execution</title> <p><b>General
Test environment</b> </p> <p>The test suite has the following environment
requirements: </p> <ul>
<li id="GUID-AB5E3784-183F-546A-AF4E-4DFD92115D9E"><p>Removable media must
have a FAT32 file system </p> </li>
<li id="GUID-75853F65-951B-5F70-85A2-22F890D88F8A"><p>The minimum size of
SD card acceptable for FAT32 is 2GB. For MMC and other forms of removable
media the minimum size is 512MB. </p> </li>
<li id="GUID-BFCB5D33-7EC7-57E6-99D6-8D18B8996BF8"><p>The card must be inserted
before test suite execution. </p> </li>
<li id="GUID-353FA700-1920-5F16-BC48-3A439711142D"><p>If testing on an emulator
(WINSCW) the size of the emulated memory card can be changed by modifying
the epoc.ini file. This file can be found in <filepath>%EPOCROOT%\epoc32\data\</filepath>. </p> <p>For
example, MultiMediaCardSize=1048510 sets the size to 1GB </p> </li>
</ul> <p>Refer to <xref href="GUID-3C26B5B2-1B90-5F96-9342-1D53F6EDD94F.dita">Base
F32 Test Technology</xref> for general environment details. </p> <p><b>How to create error logs</b> </p> <p>File System logging is switched off
by default. To turn it on, set the SetDebug field in the Common section of
the configuration file (f32-fat32-conformance.ini) to 1. Refer to <xref href="GUID-FFDD3689-A83B-5E67-A2BD-7723B141E198.dita#GUID-FFDD3689-A83B-5E67-A2BD-7723B141E198/GUID-D0F57E8A-9AF1-57E4-BA22-3FE4AB49E8F9">Test Data Source Tree Location</xref> and <xref href="GUID-FFDD3689-A83B-5E67-A2BD-7723B141E198.dita#GUID-FFDD3689-A83B-5E67-A2BD-7723B141E198/GUID-8654BC4C-FF04-53BD-8982-1866A0F45BB0">Test
Data Files EPOC Tree Location</xref> for the file locations. </p> <p>File
System logging only applies to UDEB builds. The log data output will be sent
to a terminal emulation program, such as Hyper Terminal, through a debug port
on the hardware board (for H4 this is Com0). </p> <p>The port settings for
the terminal emulator are: </p> <ul>
<li id="GUID-1D6C7527-F0A0-5907-B9F5-F4DC6B5E55BA"><p>Baud rate: 115200 </p> </li>
<li id="GUID-93ADCB50-C1C9-539B-9FE5-4E90EF19B838"><p>Data bits: 8 </p> </li>
<li id="GUID-BEB57F93-A4E8-5E4C-9CC7-BB9F1AABA363"><p>Stop bits: 1 </p> </li>
<li id="GUID-940A8FC0-0BFE-5A2E-82E7-A17544F81488"><p>Parity: none </p> </li>
<li id="GUID-F8F95C83-E88F-5A5B-9F85-CC6A0F3833DE"><p>Flow control: none </p> </li>
</ul> <p><b>Test
execution instructions</b> </p> <p>For test execution instructions refer to <xref href="GUID-3C26B5B2-1B90-5F96-9342-1D53F6EDD94F.dita">Base F32 Test Technology</xref>.
The test suite requires a ROM to be built with FAT32 and SD support. To do
this substitute the buildrom step in the Base Test Technology Document with
the steps listed below </p> <p> <b>Building ROM for hardware testing</b> </p> <ol id="GUID-BF114751-755F-5004-B6D7-0BFE204385C0">
<li id="GUID-D3586956-26A0-50A3-9789-95E2D90CB88E"><p>Navigate to <codeph>…\epoc32\rom</codeph> and
execute one of the following commands: </p> <p>for automated testing using
Test Driver: </p> <p><userinput>buildrom –D_STARTUPMODE2 –D_EABI=ARMV5 –DRVCT
<h4hrp/h2> –DUSE_SDIO_SD_MMC –DWITH_FAT32 techview_statapi</userinput> </p> <p>for
manual testing (without Test Driver): </p> <p><userinput>buildrom -D_STARTUPMODE2
-D_NAND2 <h4hrp/h2> techview t_base</userinput> </p> </li>
<li id="GUID-BFF2FD8F-237A-5652-BAEB-B26B7B3B5A4E"><p>To transfer the image
onto the hardware board through MMC card zip the image file and rename it <filepath>sys$rom.zip</filepath>.
Place the zipped file on an MMC card and start the board. </p> </li>
</ol> </section>
</conbody></concept>