Symbian3/PDK/Source/GUID-3C26B5B2-1B90-5F96-9342-1D53F6EDD94F.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Tue, 30 Mar 2010 11:56:28 +0100
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
child 14 578be2adaf3e
permissions -rw-r--r--
Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"

<?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-3C26B5B2-1B90-5F96-9342-1D53F6EDD94F" xml:lang="en"><title>F32
Test Technology Description</title><shortdesc>Describes the high level test philosophy, scope and the types of
test used in F32 technology.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>This topic provides a high level information about the Base test technology
area. It also provides an overview of the test technology area, its coverage,
test environment setup and how to find further information about the test
suites offered by this test technology area. </p>
<p>The aim is to provide and deliver a product quality set of test suites
that can be used internally within Symbian and by external groups who have
access to the Symbian test source code. </p>
<section id="GUID-2268DFDE-1204-441A-823B-6E2855B45658"><title> Scope</title> <p><b> Components under test</b> </p> <p>The Base subsystem is the lowest layer
in the Symbian platform software stack. It contains the core components, such
as the kernel, user library, file server, and device drivers, for every supported
hardware platform. </p> <p>This suite tests the F32_EKA2 (file server) and
FAT32 components. </p> <p><b>Test
types</b> </p> <p>The suite has three sub-suites: validation, performance
and conformance. </p> <p><b>Validation
test suite</b> </p> <p>The <xref href="GUID-E1EBD343-C8A6-51E5-B158-9A1D0328D3B3.dita">Validation
Test Suite</xref> provides a series of tests to verify that published APIs
perform as described in the Symbian platform library. The tests are intended
for regression and compatibility verification. </p> <p>The validation suite
uses Dual Driver tests to test the dual driver feature on the phone. DUAL
Drive tests are configured to run on two drives of the same type having common
interface. </p> <p><b>Performance
Test Suite</b> </p> <p>The <xref href="GUID-CDD23CE8-15F7-557B-9C58-ECEE9E13528A.dita">Performance
Test Suite</xref> is intended for assessing and benchmarking file server performance. </p> <p><b>Conformance Test Suite</b> </p> <p>The <xref href="GUID-FFDD3689-A83B-5E67-A2BD-7723B141E198.dita"> FAT32
Conformance Test Suite</xref> ensures the file server's compliance with FAT32. </p> </section>
<section id="GUID-2793C842-EBA9-443B-82E6-CB48A74BAD5C"><title> Test Environment</title> <p><b> Device Setup</b> </p> <p>The device under test (a hardware platform,
a phone or an emulator) must contain an appropriate Symbian platform build
or licensee UI build. </p> <p><b>PC
Setup</b> </p> <p>The PC must have a Symbian Developer Kit (or licensee equivalent),
an PDT and appropriate compilers to build the test code (for example Code
Warrior, RVCT or GCCE). </p> <p><b>Test
Dependencies</b> </p> <p>The base test suite has no dependencies other than
those common to all test suites. </p> <p><note> Any mention of “epoc32” is
offset by %EPOCROOT%, the full path where the epoc tree is installed. </note></p> <p id="GUID-60931C28-3CCB-5396-A815-641A6D1A0E9B"><b> Building and Execution</b> </p> <p> For
general information about test suite structure refer to <b>Symbian Verification
Suite » TestDriver</b>. </p> <p>The following illustrates the F32 test suite
structure: </p> <codeblock id="GUID-89572E92-2B12-5ACC-B9B3-CE908565AD90" xml:space="preserve">&lt;Component&gt; - base
  &lt;Validation suite&gt; - validation
    &lt;Sub-component&gt; - f32
      &lt;Manual tests&gt; - f32-manual
        &lt;RAM-drive specific tests&gt; - ram-manual
          &lt;Suite&gt; - pbase-f32-sfsrv-publicapi-rem-manual-suite
       &lt;Dual Drive Tests&gt;- f32-dualdrive&gt;
          &lt;Suite&gt; - pbase-f32-sfsrv-Publicapi-ram-DualDrive-suite
        &lt;Automated tests&gt; - f32-automated
          &lt;Suite&gt; - pbase-f32-sfsrv-publicapi-any-suite
          &lt;System drive specific tests&gt; - os
            &lt;Suite&gt; - pbase-f32-sfsrv-publicapi-os-suite
          &lt;ROM-drive specific tests&gt; - rom
            &lt;Suite&gt; - pbase-f32-publicapi-sfsrv-rom-suite
          &lt;NAND-drive specific tests&gt; - nand
            &lt;Suite&gt; - pbase-f32-sfsrv-publicapi-nand-suite
          &lt;RAM-drive specific tests&gt; - ram
            &lt;Non-removable RAM-drive specific tests&gt; - fixed
              &lt;Suite&gt; - pbase-f32-publicapi-sfsrv-ram-suite
            &lt;Suite&gt; - pbase-f32-publicapi-sfsrv-rem-suite
  &lt;Performance suite&gt; - performance
    &lt;Sub-component&gt; - f32
      &lt;Scenario variant&gt; - small
        &lt;Suite&gt; - pbase-f32-rfile-performance-small
        &lt;Suite&gt; - pbase-f32-rfs-performance-small
      &lt;Scenario variant&gt; - medium
        &lt;Suite&gt; - pbase-f32-rfile-performance-medium
        &lt;Suite&gt; - pbase-f32-rfs-performance-medium
      &lt;Scenario variant&gt; - large
        &lt;Suite&gt; - pbase-f32-rfile-performance-large
        &lt;Suite&gt; - pbase-f32-rfs-performance-large
  &lt;Conformance suite&gt; - conformance
    &lt;Sub-component&gt; - f32
      &lt;Sub-component&gt; - FAT32
        &lt;Suite&gt; - f32-fat32-conformance</codeblock> <p>This structure can
be seen in the following location after building the test suite: <filepath>%EPOCROOT%\epoc32\testdriver\testproduct</filepath>. </p> <p>The
hierarchical test suite structure facilitates easy build and execution of
the complete test suite or part of it. For example, if the path specified
is: </p> <ul>
<li id="GUID-24E673FF-86FC-5029-94D4-5F7618D1AFC3"><p> <filepath> base</filepath>:
The entire suite is built/run. </p> </li>
<li id="GUID-AFD445CF-5FC5-5E6E-8E03-984CF9F269A0"><p> <filepath> base.validation.f32</filepath>:
All the suites F32 are built/run. </p> </li>
<li id="GUID-09B4561B-79DB-5BD4-B3D3-FD2E332F332E"><p> <filepath> base.validation.f32.f32-automated</filepath>:
Only F32 automated test is built/run. </p> </li>
<li id="GUID-A947006E-224B-5034-8A6A-F3242BD28A70"><p> <filepath> base.validation.f32.f32-manual</filepath>:
Only F32 manual test is built/run. </p> </li>
<li id="GUID-08256C88-4E66-57D1-A68D-A7F6AFBC30D5"><p> <filepath> base.validation.f32.f32-dualdrive</filepath>:
Only f32 dual drive tests is built/run. </p> </li>
<li id="GUID-878D50ED-547C-5741-AE61-A61A763F8A40"><p> <filepath> base.validation.f32.f32-automated.ram</filepath>:
Only tests on RAM are built/run. </p> </li>
<li id="GUID-FF860F6A-6436-5AD9-81D0-8A7F3EF73417"><p> <filepath>base.validation.f32.f32-automated.ram.fixed</filepath>:
Only tests on non-removable RAM are built/run. </p> </li>
<li id="GUID-0ABED61A-1B55-53BA-AEE9-9A195DAA6A31"><p> <filepath> base.validation.f32.f32-automated.rom</filepath>:
Only tests on ROM are built/run. </p> </li>
<li id="GUID-961D3BA3-245F-56BA-A325-F3568E86BA87"><p> <filepath> base.validation.f32.f32-automated.os</filepath>:
Only OS suite is built/run. </p> </li>
<li id="GUID-20137842-292D-5A23-A630-5CB82672A927"><p> <filepath>base.validation.f32.f32-automated.ram.fixed</filepath>:
Only tests on non-removable RAM are built/run. </p> </li>
</ul> <p><b> General
environment setup</b> </p> <ol id="GUID-09208F08-2F83-5758-9CD7-842834C6CD41">
<li id="GUID-3014B1D5-6A0C-57DE-9B9C-F4CE43CC4DE7"><p>Refer to specific sub-component
test suite description in <xref href="GUID-8D89BC22-3008-5A43-8BBC-C8F2985D71C1.dita">Base
Verification Suite</xref> for details about configuration and building additional
components before building the test suite. </p> </li>
<li id="GUID-5BE45723-65AC-5C1A-BF03-29A2391C5793"><p>The entire Base Test
product can be built from <filepath>...\baseapitest\basesvs\group\</filepath>. </p> </li>
<li id="GUID-3D442168-3547-5120-9700-995B21E83F2D"><p>Individual test components
can be built from the respective group directories. For example, <filepath>...\baseapitest\basesvs\validation\f32\group\</filepath>. </p> <p> </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld test
build &lt;WINSCW/ARMV5&gt; &lt;udeb/urel&gt;</userinput> </p> </li>
</ol> <p><b> Steps
to build and execute tests using TestDriver</b> </p> <p>Communication between
the PC and the device under test (Symbian platform device) is enabled using
STAT. So, the device under test must have STAT installed. </p> <p/> <p><b>For WINSCW platform: </b> </p> <ol id="GUID-60208068-3B9B-5D81-B708-D20AD21D1857">
<li id="GUID-2A38FFA5-DABB-5C68-8CC1-CD43AFBAE16F"><p> <b>Configure TestDriver
using the following script:</b>  </p> <p> <filepath>...\baseapitest\basesvs\group\testdriversetup.bat</filepath>  </p> </li>
<li id="GUID-6DE34C54-C769-5AC8-BDBE-F32AFAC60E04"><p> <b>Build the test code: </b>  </p> <p><userinput>testdriver
build –p &lt;winscw/armv5&gt; –b &lt;urel/udeb&gt; –s base[.&lt;specific test suite
path&gt;]</userinput> </p> <p>Testdriver commands can be run from any location. </p> </li>
<li id="GUID-74DAF846-94E3-5C7A-B853-38B26B85F41C"><p> <b>To execute the Tests
: </b>  </p> <p><userinput>testdriver run</userinput> </p> </li>
</ol> <p><b>For ARMV5 platform: </b> </p> <p> <b>Communication between PC and hardware:</b>  </p> <p>The
hardware reference board (for example H4) must be connected to the PC through
USB or serial cable. The ROM image is built on the PC and transferred to the
hardware board through MMC card. </p> <ol id="GUID-F7A7A995-AEDF-52AB-942C-FCC8063679D5">
<li id="GUID-D6B62BB6-9563-57E0-BB51-9CE0F2411B5C"><p> <b> Configure TestDriver
using the following script: </b> </p> <p> <filepath>...\baseapitest\basesvs\group\testdriversetup.bat</filepath>  </p> </li>
<li id="GUID-D0EAD784-5BB2-5394-9F75-A0F5AA193E01"><p> <b> Build the test
code:</b>  </p> <p><userinput>testdriver build –p &lt;winscw/armv5&gt; –b &lt;urel/udeb&gt;
–s base[.&lt;specific test suite path&gt;]</userinput> </p> <p>Testdriver commands
can be run from any location. </p> </li>
<li id="GUID-B205290E-37F4-566F-8987-4A9D7387996B"><p> <b> Build the ROM image:</b>  </p> <p><userinput>buildrom
-D_STARTUPMODE2 -D_EABI=ARMV5 -DRVCT -DUSE_STRONG_CRYPTOGRAPHY &lt;h2/h4hrp&gt;
techview_statapi td_base</userinput> </p> <p> <b>Note</b> The ROM building
commands are different for NAND images and enabling Dual Drive. </p> </li>
<li id="GUID-8B53FA6B-C8E0-5FDE-AF72-4EA5EA45F056"><p>Transfer the ROM to
the device and start-up. </p> </li>
<li id="GUID-4E897DE9-F2A9-51D9-80C9-8ACA5F6C1852"><p> <b>Execute the Tests: </b>  </p> <p><userinput>testdriver
run -t &lt;transport service&gt; </userinput> </p> <p>Transport service may be
“serial&lt;COM port number that is connected to the board&gt;”, “bt&lt;COM port
number for BT dongle&gt;” or “usb&lt;mapped port number&gt;” </p> </li>
</ol> <p> <note> All scripts and test data are automatically removed from
the system drive of the device under test after the execution. </note></p> <p id="GUID-123789D7-482A-560A-ADAA-E2D972BB4918"><b>Steps to build and execute
tests manually (Tests built into ROM)</b> </p> <p><b>For WINSCW platform: </b> </p> <ol id="GUID-905EA8B7-1EDC-59F6-A43B-D9C3488E68E5">
<li id="GUID-0FB2AB82-88C3-58E7-A0DA-1A1A02A7ECD8"><p> <b>Select your Setup
Script: </b>  </p> <p>For example <filepath>setup-PBASE-F32-Sfsrv-PublicApi.script</filepath> is
used to run only the F32_EKA2 validation test suite. </p> </li>
<li id="GUID-0C3B70D2-0805-52E7-B11D-6FB7AF516A33"><p> <b>Change directory
to: </b>  </p> <p> <filepath>%EPOCROOT%\epoc32\release\winscw\&lt;urel/udeb&gt;</filepath> </p> </li>
<li id="GUID-BFFF9550-AFA7-5097-BBE9-CE508688DA56"><p> <b>Execute the Tests:</b>  </p> <p><userinput>testexecute
z:\base\setup_&lt;test suite name&gt;.script</userinput> </p> <p> <filepath>setup_t_base.script</filepath> is
used to copy the test data files on to c:\drive. </p> <p><userinput>testexecute
c:\base\&lt;test suite name&gt;.script</userinput> </p> <p> <filepath>t_base.script</filepath> is
used to run the entire base test suite. </p> </li>
</ol> <p><b>For ARMV5 platform: </b> </p> <ol id="GUID-07FBA2B3-C3BC-5AC3-9272-4E5F87544C70">
<li id="GUID-9603E46B-C403-5927-9AFD-73390DB7B240"><p> <b>Build ROM image: </b>  </p> <p><userinput>buildrom
-D_EABI=ARMV5 –DRVCT -DUSE_STRONG_CRYPTOGRAPHY &lt;h2/h4hrp&gt; techview t_base</userinput> </p> <p>The
ROM image is built on the PC and transferred to the hardware board through
MMC card. <b>Note:</b> The ROM building commands is different for NAND images.
Refer to <xref href="GUID-8D89BC22-3008-5A43-8BBC-C8F2985D71C1.dita">Base Verification
Suite</xref> for more details. </p> </li>
<li id="GUID-77092D52-D372-535D-B86F-0B1260B7ACB4"><p> <b>Select your Setup
Script: </b>  </p> <p>The <filepath>setup-PBASE-F32-Sfsrv-PublicApi.script</filepath> is
used to run only F32_EKA2 validation test suite. </p> </li>
<li id="GUID-EC2F7E9F-6848-52C8-8F2A-2A5CE6031067"><p> <b>Running Scripts:</b>  </p> <p><userinput>Open
eshell </userinput> </p> </li>
<li id="GUID-2C31EA1C-86D0-51C2-9DE0-DDFAE32A9E8F"><p> <b>Execute the Tests:</b>  </p> <p><userinput>testexecute
z:\base\setup_&lt;test suite name&gt;.script</userinput> </p> <p> <filepath>setup_t_base.script</filepath> is
used to copy the test data files on to c:\drive. </p> <p><userinput>testexecute
c:\base\&lt;test suite name&gt;.script</userinput> </p> <p> <filepath>t_base.script</filepath> is
used to run the entire base test suite. </p> </li>
</ol> <p><b>Steps
to build and execute tests on phone directly using .pkg file</b> </p> <p><b>For ARMV5 platform: </b> </p> <ol id="GUID-D94BEDB8-1340-59C9-B8DD-0FA2AB64FE33">
<li id="GUID-E29C6E42-A638-52EA-8243-EE1698786E30"><p> <b>EShell and TestExecute:</b>  </p> <p>The
phone must have eshell and                       testexecute installed. </p> </li>
<li id="GUID-55FF66BC-C2B9-5CB5-97D8-3856142A4767"><p> <b> Certificate files:</b>  </p> <p>Ensure <filepath>.cer</filepath> and <filepath>.key</filepath> files are placed into <filepath>/epoc32/pkg/</filepath> directory on the
PC and rename as<filepath>zeus.cer</filepath> and <filepath>SymbianACS.key</filepath> correspondingly. </p> </li>
<li id="GUID-657C2481-CDA1-57AE-9B5D-1F9E8DED75B2"><p> <b>Create and install
SIS-file:</b>  </p> <p>Run <filepath>makesisfiles.bat</filepath> from <filepath>/epoc32/pkg/</filepath> directory. </p> <p><userinput>makesisfiles.bat</userinput> </p> <p>This creates <filepath>t_sfsrv.sis</filepath> file. The file must
be copied to an MMC card, transferred to the phone and executed. </p> <p>When
the <filepath>t_sfsrv.sis</filepath> file is run, the base test suite is installed
on the device. </p> </li>
<li id="GUID-F6AAEEA1-77AF-5E84-8A2C-D5CB8AFC9F39"><p> <b> Running Scripts: </b>  </p> <p>Run
the test scripts. For more information refer to <xref href="GUID-3C26B5B2-1B90-5F96-9342-1D53F6EDD94F.dita#GUID-3C26B5B2-1B90-5F96-9342-1D53F6EDD94F/GUID-123789D7-482A-560A-ADAA-E2D972BB4918">Steps
to build and execute tests manually (Tests built into ROM)</xref>. </p> </li>
</ol> <p><b>Selective
Execution of Test Cases using TCS File</b> </p> <p>Test cases can be excluded
from a test run by using a <filepath>.tcs</filepath> file. The <filepath>.tcs</filepath> file
contains IDs of test cases to be excluded. </p> <p>The test case IDs can be
specified as a range, a list, or a combination of both. Each range or individual
test case ID is delimited by a new-line character. </p> <p>For example, range
of test case IDs to be excluded can be specified as: </p> <p> <codeph>pbase-f32-rfile-performance-large-0001:
             pbase-f32-rfile-performance-large-0005</codeph>  </p> <p>This
excludes all test cases from 1 to 5 (1 and 5 included) during execution. </p> <p>A
list of test cases IDs to be excluded can be: </p> <p> <codeph>COMINF-ESOCK-RSubConnection-PublicAPI-0001</codeph>  </p> <p> <codeph>COMINF-ESOCK-RSubConnection-PublicAPI-0005</codeph>  </p> <p> <codeph>COMINF-ESOCK-RSubConnection-PublicAPI-0007</codeph>  </p> <p>A
combination of range and list can be: </p> <p> <codeph>pbase-f32-rfile-performance-large-0001:
             pbase-f32-rfile-performance-large-0005</codeph>  </p> <p> <codeph>pbase-f32-rfile-performance-large-0010:
             pbase-f32-rfile-performance-large-0015</codeph>  </p> <p> <codeph>pbase-f32-rfile-performance-large-0020</codeph>  </p> <p> <codeph>pbase-f32-rfile-performance-large-0021</codeph>  </p> <p>There is only one <filepath>.tcs</filepath> file located at <filepath>…\baseapitest\basesvs\config\t_base.tcs</filepath>  </p> <p>For
more information on location of <filepath>.tcs</filepath> files, see <xref href="GUID-0B240B41-652F-586A-915E-3D67BFEB8AE6.dita#GUID-0B240B41-652F-586A-915E-3D67BFEB8AE6/GUID-4FC8CBD4-02FE-566E-B739-C6EB8DDD6C48">TCS
File Source Location</xref> in F32 Performance Test Suite, <xref href="GUID-FFDD3689-A83B-5E67-A2BD-7723B141E198.dita#GUID-FFDD3689-A83B-5E67-A2BD-7723B141E198/GUID-72714310-D4B3-5077-89C6-D7B8D4FFC5F7">TCS File Source Location</xref> in FAT32 Conformance Test Suite, and <xref href="GUID-E1EBD343-C8A6-51E5-B158-9A1D0328D3B3.dita#GUID-E1EBD343-C8A6-51E5-B158-9A1D0328D3B3/GUID-4FC8CBD4-02FE-566E-B739-C6EB8DDD6C48">TCS
File Source Location</xref> in F32_EKA2 Validation Test Suite. </p> <p>The <filepath>.tcs</filepath> file
must be modified when using the TestDriver for test execution. When executing
the tests manually, the following <codeph>testexecute</codeph> command illustrates
the usage of the <filepath>.tcs</filepath> file: </p> <p><userinput>testexecute
%EPOCROOT%\epoc32\release\winscw\&lt;urel/udeb&gt;\&lt;test suite name&gt;.script
–[tcx|tci] %EPOCROOT%\epoc32\release\winscw\&lt;urel/udeb&gt;\t_base.tcs</userinput> </p> <p>The <codeph>-tcx</codeph> switch
is used to execute all the tests in the specified script excluding the test
cases specified in the <filepath>.tcs</filepath> file. The <codeph>–tci</codeph> switch
is used to execute only the tests specified in the <filepath>.tcs</filepath> file
from the specified script. </p> <p><b>Test
Results</b> </p> <p><b>Test
Results log file location</b> </p> <p>After tests complete execution, result
logs can be found on the system drive of the device in the <filepath>\logs\testexecute\</filepath> directory. </p> <p>On
the PC, if tests are run using testdriver, results can be found in the following
location: <filepath>%EPOCROOT%\epoc32\TestDriver\results\</filepath>. If executing
the tests manually the results can be found in the following location: <filepath>%EPOCROOT%\epoc32\winscw\c\logs\testexecute</filepath>  </p> <p>When
using testdriver, a new test result folder is created for each test run that
is, results are not overwritten each time a test run is run. A <filepath>.htm</filepath> log
file for each script contained in the suite can be found in its own subfolder. </p> <p>Each
test case in the script consists of test blocks (usually just one), which
either pass or fail. Each test block runs some of the commands. Each of the
commands performs an action on the tested APIs. A test block passes if all
its commands and other instructions pass. A test case passes if all its test
blocks pass. </p> <p>The log displays the percentage of test cases that have
passed successfully. </p> <p><b>How
to interpret test results</b> </p> <p>Each test suite produces its own HTML
log file containing the results of the test run. When examining the log file,
the results at the bottom of the log should be checked first. This gives a
summary of the tests in the suite that have passed, failed or panicked. </p> <p>In
the body of the log tests which passed are highlighted in green, tests which
failed in red and tests which caused a panic in blue. The reason for any failure
or panic is also given. </p> <p>When this test suite is run on a real device
some tests may fail due to limitations of the device. Either the device does
not have the correct hardware (for example, no modem exists for a test which
needs one) or it lacks the right software plug-ins to run the test. In such
cases the log displays that a test has failed with a -5 error (which means <codeph>KErrNotSupported</codeph>).
Tests appearing to fail with -5 do not indicate defects, but limitations of
the device. </p> <p>Refer to <b>Symbian Verification Suite » TestDriver »
Using TestDriver » Results » Viewing the test results</b> for more information
on test driver results. </p> </section>
<section id="GUID-06D7B505-B838-4A03-9721-E8731AA0DF62"><title>OS Focussed
Components</title> <p>The following tables illustrate the components and classes
tested on each Symbian platform baseline: </p> <p> <b>Table 1: Validation
testing of Base, F32_EKA2 component on each Symbian platform baseline</b>  </p> <table id="GUID-2644CB3B-A76E-5ECE-B6F7-6B87829483F6">
<tgroup cols="6"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><colspec colname="col4"/><colspec colname="col5"/>
<thead>
<row>
<entry>  </entry>
<entry> 9.1</entry>
<entry>9.2</entry>
<entry>9.3 </entry>
<entry>9.4</entry>
<entry>9.5</entry>
</row>
<row>
<entry> RFs </entry>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> CDir </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> CDirScan </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> CFileBase </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> CFileMan </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> MFileManObserver </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> RDir </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> RFile </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> RFormat </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> RRawDisk </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> TDriveUnit </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> TEntry </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> TEntryArray </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> TFindFile </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> TFileText </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> TOpenFileScan </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> TParse </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X</p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> TParseBase </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X</p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> TParsePtr </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X</p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> TparsePtrC </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X</p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
<row>
<entry> TVolumeInfo </entry>
<entry/>
<entry/>
<entry/>
<entry valign="top"><p>X</p> </entry>
<entry valign="top"><p>X </p> </entry>
</row>
</thead>
<tbody>
<row>
<entry valign="bottom"> FileNamesIdentical() </entry>
<entry valign="bottom"/>
<entry valign="bottom"/>
<entry valign="bottom"/>
<entry><p>X</p> </entry>
<entry><p>X </p> </entry>
</row>
<row>
<entry/>
<entry/>
<entry/>
<entry/>
<entry/>
<entry/>
</row>
</tbody>
</tgroup>
</table> <p> <b>Table 2: Performance testing of Base, F32_EKA2 on each Symbian
platform baseline</b>  </p> <table id="GUID-A1F0DEB7-41D7-548A-96A9-9731D54FBD1E">
<tgroup cols="6"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><colspec colname="col4"/><colspec colname="col5"/>
<thead>
<row>
<entry> </entry>
<entry> 9.1</entry>
<entry>9.2</entry>
<entry>9.3 </entry>
<entry>9.4</entry>
<entry>9.5</entry>
</row>
<row>
<entry>RFs</entry>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X </p> </entry>
<entry valign="top"><p>X</p> </entry>
</row>
</thead>
<tbody>
<row>
<entry valign="bottom">RFile</entry>
<entry><p>X </p> </entry>
<entry><p>X </p> </entry>
<entry><p>X </p> </entry>
<entry><p>X </p> </entry>
<entry><p>X</p> </entry>
</row>
<row>
<entry/>
<entry/>
<entry/>
<entry/>
<entry/>
<entry/>
</row>
</tbody>
</tgroup>
</table> <p>The FAT32 conformance test suite is not API specific and is available
on Symbian platform versions 9.4 and 9.5. </p> </section>
</conbody></concept>