Symbian3/PDK/Source/GUID-05570195-D64A-5F65-AB7C-2C6BF8D332B3.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Tue, 30 Mar 2010 11:42:04 +0100
changeset 4 4816d766a08a
parent 3 46218c8b8afa
child 5 f345bda72bc4
permissions -rw-r--r--
Week 12 contribution of SDK documentation_content. See release notes for details. Fixes Bug 1892, Bug 1522, Bug 1520, Bug 394, Bug 1319, Bug 344, Bug 1897

<?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-05570195-D64A-5F65-AB7C-2C6BF8D332B3" xml:lang="en"><title>Multimedia
test technology</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>This topic provides information about the Multimedia test technology area.
It describes the test philosophy, the types of test that this test technology
area contains, what is being tested and describes the test environment that
the test are run in. This topic is intended to provide an overview about the
test technology area, its coverage, test environment setup and find further
information about the test suites offered by this test technology area. </p>
<section><title> Multimedia test technology area scope</title> <p><b>Components
under test</b> </p> <p>The Multimedia test suites test the following components
under the Multimedia technology area: </p> <ul>
<li id="GUID-E1BEC857-3D3F-5FE1-ADE8-138247FC8E7A"><p> <b>Camera functionality:</b>  </p> <p>ECam
is an API which allows an application to access and control any camera hardware
which is attached to the device. </p> </li>
<li id="GUID-6A826177-D3DB-5A42-AE82-07C53329E223"><p> <b> Image conversion
library (ICL):</b>  </p> <p>ICL provides a lightweight Image Conversion Library
which supports the decoding and encoding of image files. </p> </li>
<li id="GUID-9A3E83D3-9ED5-5DEA-84E0-23193DB7871B"><p> <b> Multimedia Framework
(MMF):</b>  </p> <p>MMF including audio and video recording and playback,
tone playback and MIDI playback. </p> <ul>
<li id="GUID-19FB2810-0C8D-5615-ACE8-112256732178"><p> <b>Controller framework:</b>  </p> <p>Some
of the client-side functionality is implemented as part of the framework.
Base classes are provided to help device creators implement plugins. </p> </li>
<li id="GUID-B512BE96-EA17-54D1-8B83-7A4D82351405"><p> <b>Audio:</b>  </p> <ul>
<li id="GUID-EBDF5CD1-92E6-5059-8B51-1CB2AB56FBC8"><p>Audio playback utility </p> </li>
<li id="GUID-95B796A8-4C30-5371-AD03-5C77ED29BA8A"><p>Audio recording utility </p> </li>
<li id="GUID-35478C8E-3FFB-524D-B8A0-1EE519310BAD"><p>Audio conversion utility </p> </li>
<li id="GUID-84B03258-E5B7-5C17-8625-54062D7F1083"><p>Tone playback utility </p> </li>
</ul> </li>
<li id="GUID-D0C10E12-7294-58D4-A793-9FBF10F84A0A"><p> <b>Video:</b>  </p> <p>Video
player utility - APIs for video playback and recording. </p> </li>
<li id="GUID-FBAC9D83-3A11-5EC1-AFF6-5A625592E601"><p> <b>MIDI:</b>  </p> <p>MIDI
Client Utility - APIs for MIDI playback and recording. </p> </li>
</ul> </li>
</ul> <p><b>Test
scope</b> </p> <p><b>Published
API testing</b> </p> <p>This technology area provides a number of test suites
to test published APIs. These test suites can be used as a regression test
suite and also as a part of compatibility testing program. </p> <p>For more
details about the individual classes, see <xref href="GUID-F1A30690-6557-5E11-9C2B-F8E3AFAA4F8C.dita">API
test suites for Multimedia</xref>. </p> <p><b> Test
omissions</b> </p> <p>The Multimedia test suites test only the common audio,
video, and image codecs that the Symbian platform implements. </p> <p>For
more details about the individual classes, see <xref href="GUID-F1A30690-6557-5E11-9C2B-F8E3AFAA4F8C.dita">API
test suites for Multimedia</xref>. </p> </section>
<section><title>Multimedia test technology environment</title> <p><b>Device
under test setup</b> </p> <p>The device under test (hardware platform/phone/emulator)
should have an appropriate Symbian platform or device creator UI build (S60,
UIQ, MOAP for example). </p> <p><b>PC
setup</b> </p> <p>The PC should have a Symbian or equivalent device creator
developer kit, PDT and relevant compilers (Code Warrior, RVCT, GCCE) installed
to build and execute the test code. </p> <p><b>Network
environment setup</b> </p> <p>None </p> <p><b>Test
dependencies</b> </p> <p> <b> Note: </b> Any mention of “<filepath>epoc32</filepath>”
is offset by <filepath>%EPOCROOT%</filepath>. That is, the full path where
the EPOC tree is installed. </p> <p id="GUID-A1D994AB-1886-557D-8DB4-A4C313A5DBE2"><b>Test data</b> </p> <p>The
test data for each test suite is in the following location: </p> <ul>
<li id="GUID-56866F44-957F-536D-A25D-61FD0467D704"><p> <filepath>…\os\mm\mmapitest\mmsvs\suite\ecam\T_Camera\testdata</filepath>  </p> </li>
<li id="GUID-8BA24E72-9B60-5AB3-B32B-2A03C8553D96"><p> <filepath>…\os\mm\mmapitest\mmsvs\suite\icl\T_ImageEncoder\testdata</filepath> </p> </li>
<li id="GUID-0ADEC2BA-15A9-5A88-BB05-20ECE5D0F637"><p> <filepath>…\os\mm\mmapitest\mmsvs\suite\icl\T_ImageDecoder\testdata</filepath> </p> </li>
<li id="GUID-03B6DD58-FA40-5C7D-AE27-6A399A876F6B"><p> <filepath>…\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioConvertUtility\testdata</filepath> </p> </li>
<li id="GUID-6A7E4D2C-FABC-59D1-B989-BC1D09AEC432"><p> <filepath>…\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioInputStream\testdata</filepath> </p> </li>
<li id="GUID-473B5D1D-3638-5BF3-B425-412EA45F179B"><p> <filepath>…\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioOutputStream\testdata</filepath> </p> </li>
<li id="GUID-4D6A4241-8926-50BD-871C-C01CE679FBAA"><p> <filepath>…\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioPlayerUtility\testdata</filepath> </p> </li>
<li id="GUID-474AAFBB-46F0-5D73-9928-2C442C03C040"><p> <filepath>…\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioRecorderUtility\testdata</filepath> </p> </li>
<li id="GUID-D95A055B-3E57-54EA-AC1E-BDCC2E029516"><p> <filepath>…\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioToneUtility\testdata</filepath> </p> </li>
<li id="GUID-F41F89BC-6B0B-55C1-B972-05191B6AB9B9"><p> <filepath>…\os\mm\mmapitest\mmsvs\suite\mmf\T_MidiClientUtility\testdata</filepath> </p> </li>
<li id="GUID-EF6B8066-B01B-5564-B7FB-1174BFB19BE8"><p> <filepath>…\os\mm\mmapitest\mmsvs\suite\mmf\T_VideoPlayerUtility\testdata</filepath> </p> </li>
<li id="GUID-519B13C3-3A6C-5DBC-AFD6-1B61ACED5C42"><p> <filepath>…\os\mm\mmapitest\mmsvs\suite\mmf\T_VideoRecorderUtility\testdata</filepath> </p> </li>
</ul><p>For more details about the individual classes, see <xref href="GUID-F1A30690-6557-5E11-9C2B-F8E3AFAA4F8C.dita">API
test suites for Multimedia</xref>. </p> <p>Also, there are two global environment
files, <filepath>t_multimedia.ini </filepath> and <filepath>t_multimedia_location.ini</filepath>,
which contain configurable parameters and their default values. Test that
are device setup specific have these details defined in <filepath>t_multimedia.ini</filepath>.
Test that are dependent on location have these details defined in <filepath>t_multimedia_location.ini</filepath>. </p> <p>Your
can configure these parameters by modifying their default values in these
files. Details regarding each parameter can be found in the file comments.
These files are in the following location: </p> <p> <filepath>…\os\mm\mmapitest\mmsvs\suite\testdata </filepath>  </p> <p>For
more details about the individual classes, see <xref href="GUID-F1A30690-6557-5E11-9C2B-F8E3AFAA4F8C.dita">API
test suites for Multimedia</xref>. </p> <p>Some of the test scripts use an
audio file as a seed. As each test case runs the test data is converted into
the test data format required for input to the subsequent test case. The approach
is taken to help reduce the size on disk that the test data occupies and speed-up
transfer of data to device under test. </p> <p>Testing with corrupt files
is difficult, as they are reported by most virus checker applications as viruses,
when saved on the PC. To get around this the files are stored in the source
tree as complete files, modified during the test cases on the device under
test and cleaned up afterwards. Such files can still potentially cause problems
while executing tests on the emulator if the test run is terminated before
the test data has been cleaned up. </p> <p><b>Building and Execution</b> </p> <p>The following structure illustrates
the Multimedia test suite hierarchical structure after the build process.
This structure can be seen in the following location after building the test
suite: </p> <p> <filepath>%EPOCROOT%\epoc32\testdriver\testproduct </filepath>  </p> <p>For
more information on for general information about testdriver test suite structure,
see <i>Symbian Verification Suite » TestDriver V2 » TestDriver Output » Viewing
the test results</i>. </p> <codeblock id="GUID-AFC8C8AE-90C1-5AA1-A43D-29A060AC37A3" xml:space="preserve">&lt;Component&gt; - Multimedia
            &lt;Sub-component&gt; - ICL
                    &lt;suite&gt; - MM-ICL-DECDE-PublicApi-suite
                    &lt;suite&gt; - MM-ICL-ENCDE-PublicApi-suite
            &lt;Sub-component&gt; - MMF
                    &lt;suite&gt; - MM-MMF-ACLNT-CNVRT-PublicAPI-suite
                    &lt;suite&gt; - MM-MMF-ACLNT-INPT-PublicAPI-suite
                    &lt;suite&gt; - MM-MMF-ACLNT-OUTPT-PublicAPI-suite
                    &lt;suite&gt; - MM-MMF-ACLNT-PLYR-PublicAPI-suite
                    &lt;suite&gt; - MM-MMF-ACLNT-RCRDR-PublicAPI-suite
                    &lt;suite&gt; - MM-MMF-ACLNT-TONE-PublicAPI-suite
                    &lt;suite&gt; - MM-MMF-MIDI-PublicAPI-suite
                    &lt;suite&gt; - MM-MMF-VCLNT-PLYR-PublicAPI-suite
                    &lt;suite&gt; - MM-MMF-VCLNT-RCRDR-PublicAPI-suite
            &lt;Sub-component&gt; - ECAM
                    &lt;suite&gt; - MM-ECM-PublicApi-suite
                    &lt;suite&gt; - MM-MMF-VCLNT-PLYR-PublicAPI-suite
                    &lt;suite&gt; - MM-MMF-VCLNT-RCRDR-PublicAPI-suite
</codeblock> <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-B45D90E1-F33A-5E74-891C-3CFD96E17702"><p> <filepath> &lt;multimedia&gt;</filepath> -
The entire suite is built/executed. </p> </li>
<li id="GUID-F0C6CA17-3B8D-53C8-9524-8280B41246CF"><p> <filepath> &lt;multimedia.audio&gt;</filepath> -
All the six suites under audio are built/executed. </p> </li>
<li id="GUID-B2D1DEC4-F0F4-5B72-91E4-552954760B33"><p> <filepath>&lt;multimedia.audio.MM-MMF-ACLNT-CNVRT-PublicAPI-suite&gt;</filepath> -
MM-MMF-ACLNT-CNVRT-PublicAPI-suite is built/executed. </p> </li>
</ul> <p>The following list show the sequence of commands to be executed on
emulator and hardware: </p> <ul>
<li id="GUID-20C50911-1B60-5527-B5AC-80DD0F0DDE2E"><p><xref href="GUID-05570195-D64A-5F65-AB7C-2C6BF8D332B3.dita#GUID-05570195-D64A-5F65-AB7C-2C6BF8D332B3/GUID-EED2DD9F-0E5D-585C-B20E-8C9E101FDEA1"> General environment setup for WINSCW and ARMV5 </xref>  </p> </li>
<li id="GUID-4FBF15DD-3609-50DC-AC12-496D8732E2FB"><p><xref href="GUID-05570195-D64A-5F65-AB7C-2C6BF8D332B3.dita#GUID-05570195-D64A-5F65-AB7C-2C6BF8D332B3/GUID-3DE9A5F6-05B0-577E-B683-5D55CD9D8F1B"> Steps to build and execute tests using test driver </xref>  </p> </li>
<li id="GUID-6DFAAAF3-B31A-5B44-82E9-4741FB53AF60"><p><xref href="GUID-05570195-D64A-5F65-AB7C-2C6BF8D332B3.dita#GUID-05570195-D64A-5F65-AB7C-2C6BF8D332B3/GUID-495B55A4-3854-5E2B-8A9A-8AF92605DBD3"> Steps to build and execute tests manually (tests built into ROM) </xref>  </p> </li>
</ul> <p id="GUID-EED2DD9F-0E5D-585C-B20E-8C9E101FDEA1"><b>General environment setup
for WINSCW and ARMV5 </b> </p> <ol id="GUID-994601A5-09FC-5223-A7BF-8F9337806FEF">
<li id="GUID-F5CCFDA7-84CD-54C4-870F-F7E05BB82023"><p>Ensure that all the
parameters in the files <filepath>t_multimedia.ini</filepath> and <filepath>t_multimedia_location.ini</filepath> are
set to the correct values. For more details, see <xref href="GUID-05570195-D64A-5F65-AB7C-2C6BF8D332B3.dita#GUID-05570195-D64A-5F65-AB7C-2C6BF8D332B3/GUID-A1D994AB-1886-557D-8DB4-A4C313A5DBE2">Test data</xref>. </p> </li>
<li id="GUID-D0B9A143-24A0-5790-9CBD-FF19EA14AD30"><p>Build additional components.
For details regarding downloading and building additional components before
building the test suite, see the specific sub-component test suite in <xref href="GUID-F1A30690-6557-5E11-9C2B-F8E3AFAA4F8C.dita">API test suites for Multimedia</xref>. </p> </li>
<li id="GUID-52CEDD0D-AB84-5DF0-A583-16FC1C727F5D"><p>The entire Multimedia
test component can be built from <filepath>…\os\mm\mmapitest\mmsvs\suite\group\…</filepath>. </p> <p>Individual
test components can be built from the respective group directory: </p> <ul>
<li id="GUID-2ED2CC9F-A61A-53AA-AD5E-34EB1938DF52"><p> <filepath>…\os\mm\mmapitest\mmsvs\suite\ecam\t_&lt;sub-component&gt;\group
                          </filepath>  </p> </li>
<li id="GUID-BE39815B-F469-5149-8EE7-4ED8A4DFA856"><p> <filepath>…\os\mm\mmapitest\mmsvs\suite\icl\t_&lt;sub-component&gt;\group</filepath> </p> </li>
<li id="GUID-E261B342-54BC-58CD-BCBA-0D12866283F2"><p> <filepath>…\os\mm\mmapitest\mmsvs\suite\mmf\t_&lt;sub-component&gt;\group
                          </filepath>  </p> </li>
</ul> <p>Execute the following commands: </p> <ol id="GUID-A37A3AFD-CEF5-58E1-966A-84C98C41A39B">
<li id="GUID-B8C13FBB-4329-5D57-BF49-C8987F91972C"><p> <codeph>bldmake bldfiles</codeph>  </p> </li>
<li id="GUID-1B7CA1E7-027C-5C9F-B1D4-DFFB2EE0EEA7"><p> <codeph>abld test build
[winscw|armv5] [urel|udeb]</codeph>  </p> </li>
</ol> </li>
</ol> <p id="GUID-3DE9A5F6-05B0-577E-B683-5D55CD9D8F1B"><b>Steps to build and execute
tests using test driver </b> </p> <p><b>On
WINSCW platform </b> </p> <ol id="GUID-149FD4E5-C06C-5C33-9855-67DA6E370EC9">
<li id="GUID-F47DF72C-BC93-5BEE-86C6-87A8F46DFC47"><p>Communication between
the PC and the device under test (Symbian platform device) is enabled using
STAT. Hence, the device under test should have STAT installed. </p> </li>
<li id="GUID-9EA7AA2F-30AE-56E9-8D27-AD3D776FDE14"><p>TestDriver can be configured
using the automated scripts located at, <filepath>…\os\mm\mmapitest\mmsvs\suite\group\…</filepath> using
the following command: </p> <p><userinput>testdriversetup</userinput> </p> <p> <filepath>testdriversetup.bat</filepath> calls <filepath>testdriversetup.pl</filepath>, which applies appropriate set of configuration parameters. </p> </li>
<li id="GUID-068F2D25-00A8-5BCC-9953-07D91FDB82D8"><p>Build test code using
the following command: </p> <p><userinput>testdriver build [–p [winscw|armv5]]
[–b [udeb|urel]] –s multimedia[.audio|image|video[.&lt;test suite name &gt;]]</userinput> </p> <p> <b>Note:</b> You
can execute TestDriver commands from any location. </p> <p>For the multimedia
test suite hierarchical structure, refer to <i>Building and Execution</i> section. </p> </li>
<li id="GUID-6C7246C8-0634-5827-832A-8BBD061A2ED8"><p>Execute the tests on
the emulator using the following command: </p> <p><userinput>testdriver run</userinput> </p> </li>
</ol> <p> <b>Note:</b> All scripts and test data are automatically removed
from the system drive of the device under test after the execution. </p> <p><b> On ARMV5 platform </b> </p> <ol id="GUID-9A5255CD-B6CF-51C2-A524-78978FE42F69">
<li id="GUID-251DBA75-EE98-5072-AC10-A9B93EA6773F"><p>Communication between
the PC and the device under test (Symbian platform device) is enabled using
STAT. Hence, the device under test should have STAT installed. </p> </li>
<li id="GUID-128E03AD-98B6-5612-AE5A-C0B57E15B8ED"><p>Communication between
PC and hardware. For more details, refer to <i>Symbian Verification Suite
» TestDriver » Using TestDriver » Communicating with the device</i>. The ROM
image is built on the PC and transferred to the hardware board via MMC card. </p> </li>
<li id="GUID-10880913-E1CA-5B3A-88C0-FF3CC8498D8D"><p>TestDriver can be configured
using the automated scripts located at, <filepath>…\os\mm\mmapitest\mmsvs\suite\group\…</filepath> using
the following command: </p> <p><userinput>testdriversetup</userinput> </p> <p> <filepath>testdriversetup.bat</filepath> calls <filepath>testdriversetup.pl</filepath>, which applies appropriate set of configuration parameters. </p> </li>
<li id="GUID-9E73D10C-0787-5285-A7C5-891032BB7E49"><p>Build test code using
the following command: </p> <p><userinput>testdriver build [–p [winscw|armv5]]
[–b [udeb|urel]] –s multimedia[.mmf|icl|ecam[.&lt;test suite name &gt;]]</userinput> </p> <p> <b>Note:</b> You
can execute TestDriver commands from any location. </p> <p>For the multimedia
test suite hierarchical structure, refer to <i>Building and Execution</i> section. </p> </li>
<li id="GUID-11A37741-3163-5ACE-9713-9CA11F12EC34"><p>Build the ROM image
using the following command: </p> <p><userinput>buildrom -D_STARTUPMODE2 -D_EABI=ARMV5
-DRVCT -DUSE_STRONG_CRYPTOGRAPHY -D_CUSTOM_COMMSDAT &lt;h2/h4hrp&gt; techview_statapi
td_multimedia</userinput> </p> </li>
<li id="GUID-EF3F0FA5-B4C0-5C54-80DA-DCFC5C7C7E65"><p>Execute the tests on
the device using the following command: </p> <p><userinput>testdriver run
-t &lt;transport service used&gt;</userinput> </p> <p>The transport service used
can be one of the following: </p> <ul>
<li id="GUID-A9ADA329-5079-5D84-9B77-DC8A838ED96A"><p>serial&lt;COM port number
that is connected to the board&gt; </p> </li>
<li id="GUID-A42CE844-808D-5734-BBA7-1BFAE46A4C13"><p>bt&lt;COM port number
for BT dongle&gt; </p> </li>
<li id="GUID-281DA94E-D033-5D17-AC31-CF28DECF61A2"><p>usb&lt;mapped port number&gt; </p> </li>
</ul> <p>For more details, refer to <i>Symbian Verification Suite » TestDriver
» Using TestDriver » Communicating with the device</i>. </p> </li>
</ol> <p> <b>Note:</b> All scripts and test data are automatically removed
from the system drive of the device under test after the execution. </p> <p id="GUID-495B55A4-3854-5E2B-8A9A-8AF92605DBD3"><b>Steps to build and execute
tests manually (tests built into ROM) </b> </p> <p><b>On
WINSCW platform </b> </p> <ol id="GUID-FE0945B2-6DD7-5AD7-9A61-E78A0EA243AC">
<li id="GUID-396421B5-A39B-5A49-A8CC-33C18156B400"><p>The following setup
scripts are used to execute tests: </p> <ul>
<li id="GUID-B5353F83-4119-5426-AA45-F950FAA33403"><p>Execute the entire multimedia
test suite using the setup script, <filepath>setup_t_multimedia.script</filepath>  </p> </li>
<li id="GUID-D882A4BC-6B00-5176-A37E-7A7555BC3D53"><p>Execute the test suite
for a specific class using one of the following setup scripts: </p> <ul>
<li id="GUID-99C44436-BC71-5DA3-96E2-78D15E58A1E1"><p> <filepath>setup-MM-ECM-PublicApi.script</filepath>  </p> </li>
<li id="GUID-8F8DFABD-E242-5047-9768-E9FFFEEDB382"><p> <filepath>setup-MM-ICL-DECDE-PublicApi.script</filepath>  </p> </li>
<li id="GUID-410892A4-AEB2-5160-AE6E-AEC6F1DB72AC"><p> <filepath>setup-MM-ICL-ENCDE-PublicApi.script</filepath>  </p> </li>
<li id="GUID-96F70453-D99D-55A8-B1F6-4407F47D49AB"><p> <filepath>setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script</filepath> </p> </li>
<li id="GUID-CB35CE5C-C054-5F72-9420-5DC3F4473E17"><p> <filepath>setup-MM-MMF-ACLNT-INPT-PublicAPI.script</filepath> </p> </li>
<li id="GUID-8BA27FA7-828E-5E72-9E97-407D1B09B4EF"><p> <filepath>setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script</filepath> </p> </li>
<li id="GUID-FF41CA8C-BA09-5E18-AFE9-158C874969EC"><p> <filepath>setup-MM-MMF-ACLNT-PLYR-PublicAPI.script</filepath> </p> </li>
<li id="GUID-7EA38CA3-EF88-53EF-A8A1-9AEE09F57AB5"><p> <filepath>setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script</filepath> </p> </li>
<li id="GUID-1CABE080-C5F1-5FDE-8AD3-C55FEC59AF69"><p> <filepath>setup-MM-MMF-ACLNT-TONE-PublicAPI.script</filepath> </p> </li>
<li id="GUID-EF9B6FB2-9609-52E7-A1B6-8114EE295B56"><p> <filepath>setup-MM-MMF-MIDI-PublicAPI.script</filepath>  </p> </li>
<li id="GUID-1D1E9A44-E880-53DE-9536-9F5DCE0FDD06"><p> <filepath>setup-MM-MMF-VCLNT-PLYR-PublicAPI.script</filepath> </p> </li>
<li id="GUID-F8CD36DC-7966-5F73-8156-D0A0F1B5810E"><p> <filepath>setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script</filepath> </p> </li>
</ul> </li>
</ul> </li>
<li id="GUID-FC0C8118-78D2-5467-85A1-206FE58E1091"><p>Run scripts on the emulator
by changing the directory to, <filepath>%EPOCROOT%\epoc32\release\winscw\&lt;urel/udeb&gt;</filepath>. </p> </li>
<li id="GUID-FCFCF749-4A0E-5D09-AE5D-CA0CD8608F03"><p>Execute tests using
the following commands: </p> <p><userinput>testexecute z:\multimedia\setup_&lt;test
suite name&gt;.script</userinput> </p> <p> <filepath>setup_t_multimedia.script</filepath> is
used to execute the entire multimedia setup script. </p> <p><userinput>testexecute
c:\multimedia\&lt;test suite name&gt;.script</userinput> </p> <p> <filepath>t_multimedia.script</filepath> can
be used to execute the entire multimedia test suite. The scripts mentioned
in the <filepath>t_multimedia.script</filepath> can be run individually. </p> </li>
</ol> <p><b>On
ARMV5 platform </b> </p> <ol id="GUID-61D83C17-2F91-5ABF-819C-24F4DD8B7DEC">
<li id="GUID-27A3AC72-119D-5E71-8FCE-C4DC81F93D3F"><p>Build the ROM image
using the following command: </p> <p><userinput>buildrom -D_EABI=ARMV5 –DRVCT
-DUSE_STRONG_CRYPTOGRAPHY -D_CUSTOM_COMMSDAT &lt;h2/h4hrp&gt; techview t_multimedia</userinput> </p> </li>
<li id="GUID-16E372C5-6C3D-5088-A54E-8E4118B3B96B"><p>The following setup
scripts are used to execute tests: </p> <ul>
<li id="GUID-D4758479-18A1-5D05-9FB1-06F1E88233F2"><p>Execute the entire multimedia
test suite using the setup script, <filepath>setup_t_multimedia.script</filepath>  </p> </li>
<li id="GUID-A6F7194C-3D29-5ACF-971E-FF11A90A3012"><p>Execute the test suite
for a specific class using one of the following setup scripts: </p> <ul>
<li id="GUID-563EA876-C997-535B-97D8-6D6DDEF9A192"><p> <filepath>setup-MM-ECM-PublicApi.script</filepath>  </p> </li>
<li id="GUID-0956C091-119F-5327-A93D-ACC6C8C93EC6"><p> <filepath>setup-MM-ICL-DECDE-PublicApi.script</filepath>  </p> </li>
<li id="GUID-FFF2E992-0029-5C04-9CF7-67C30B5DEFE8"><p> <filepath>setup-MM-ICL-ENCDE-PublicApi.script</filepath>  </p> </li>
<li id="GUID-80D70579-28F3-5017-9419-C301D13B650F"><p> <filepath>setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script</filepath> </p> </li>
<li id="GUID-B755F18E-BCBE-5808-83AB-D598E92421DA"><p> <filepath>setup-MM-MMF-ACLNT-INPT-PublicAPI.script</filepath> </p> </li>
<li id="GUID-DB164FB3-69AC-5A34-A155-7EE62F936D4B"><p> <filepath>setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script</filepath> </p> </li>
<li id="GUID-D592D0FE-3921-583B-9285-B3BB2327DB5E"><p> <filepath>setup-MM-MMF-ACLNT-PLYR-PublicAPI.script</filepath> </p> </li>
<li id="GUID-12976773-8BCD-5AC4-B58E-6129C8479366"><p> <filepath>setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script</filepath> </p> </li>
<li id="GUID-7ABEE18C-3E4D-51D4-9EF6-EC94882B94AA"><p> <filepath>setup-MM-MMF-ACLNT-TONE-PublicAPI.script</filepath> </p> </li>
<li id="GUID-5CD0E11B-8575-57C5-BCAE-301DF5268700"><p> <filepath>setup-MM-MMF-MIDI-PublicAPI.script</filepath>  </p> </li>
<li id="GUID-BC33D6E5-B4C9-5A45-9DF3-89C1DEA6D904"><p> <filepath>setup-MM-MMF-VCLNT-PLYR-PublicAPI.script</filepath> </p> </li>
<li id="GUID-A7C218E2-3492-5162-8888-9129DE09CCF2"><p> <filepath>setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script</filepath> </p> </li>
</ul> </li>
</ul> </li>
<li id="GUID-493DEE41-6C05-563E-8236-8D4BCF1A8917"><p>Run scripts on the device
using <i>eshell</i>. </p> </li>
<li id="GUID-16F970C8-35A6-5443-B3B2-1698C3DF4244"><p>Execute tests using
the following commands: </p> <p><userinput>testexecute z:\multimedia\setup_&lt;test
suite name&gt;.script</userinput> </p> <p> <filepath>setup_t_multimedia.script</filepath> is
used to execute the entire multimedia setup script. </p> <p><userinput>testexecute
c:\multimedia\&lt;test suite name&gt;.script</userinput> </p> <p> <filepath>t_multimedia.script</filepath> can
be used to execute the entire multimedia test suite. The scripts mentioned
in the <filepath>t_multimedia.script</filepath> can be run individually. </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-CD345996-800E-5D6D-AD25-E286DB828C9C">
<li id="GUID-659491F6-F0B1-5459-9B20-E149DEB81B66"><p> <b> EShell and TestExecute:</b>  </p> <p>The
phone must have <codeph>eshell</codeph> and <codeph>testexecute</codeph> installed. </p> </li>
<li id="GUID-D2DEA7E5-4642-544A-ADBF-FA8287A1FB1F"><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 renamed as<filepath>zeus.cer</filepath> and <filepath>SymbianACS.key</filepath> correspondingly. </p> </li>
<li id="GUID-4BCC91AA-C51B-5C34-ACB8-33DF492F7892"><p> <b>Create and install
SIS-file:</b>  </p> <p>Execute <filepath>makesisfiles.bat</filepath> from<filepath> /epoc32/pkg/
                     </filepath> directory. </p> <p><userinput>makesisfiles.bat</userinput> </p> <p>This
creates files. </p> <ul>
<li id="GUID-0EB57247-E61C-5225-B606-797CBD022F41"><p> <filepath>t_camera.sis</filepath>  </p> </li>
<li id="GUID-87873B41-E940-5259-9B40-69D784E9B66F"><p> <filepath>t_imagedecoder.sis</filepath>  </p> </li>
<li id="GUID-7EA37A70-7CF6-5160-B1AB-ADFC31942A04"><p> <filepath>t_imageencoder.sis</filepath>  </p> </li>
<li id="GUID-662C961C-BF5E-5E44-8D48-38A5C6DDCFFD"><p> <filepath>t_mdaaudioconvertutility.sis</filepath>  </p> </li>
<li id="GUID-9BF20129-2B83-5C49-801D-424A21E7AD7B"><p> <filepath>t_mdaaudioinputstream.sis</filepath>  </p> </li>
<li id="GUID-59053891-F2D8-5B62-A4D4-BDC1CBA91296"><p> <filepath>t_mdaaudiooutputstream.sis</filepath>  </p> </li>
<li id="GUID-D436315A-3049-59DC-9EEF-18BF223C9D37"><p> <filepath>t_mdaaudioplayerutility.sis</filepath>  </p> </li>
<li id="GUID-F3A4652A-9449-595C-9715-FFBBE98CB08B"><p> <filepath>t_mdaaudiorecorderutility.sis</filepath>  </p> </li>
<li id="GUID-60927A42-FB23-5D55-AE10-33340273B6CD"><p> <filepath>t_mdaaudiotoneutility.sis</filepath>  </p> </li>
<li id="GUID-494E0DA8-4B6A-524C-8AD3-751FE6780832"><p> <filepath>t_midiclientutility.sis</filepath>  </p> </li>
<li id="GUID-63B5E3C3-27AF-524D-99AC-29B62547EDCE"><p> <filepath>t_videoplayerutility.sis </filepath>  </p> </li>
<li id="GUID-2F845EE5-6F2F-5ECB-B0C5-A15DBD42414F"><p> <filepath>t_videorecorderutility.sis </filepath>  </p> </li>
</ul> <p>The files must be copied to an MMC card, transferred to the phone
and executed. </p> <p>When the above .sis files are executed, all multimedia
test suites are installed on the device. </p> </li>
<li id="GUID-672EA8D6-477A-5940-B1F9-80F0D6B3E5DE"><p> <b> Running Scripts: </b>  </p> <p>Run
the test scripts. For more information refer to <xref href="GUID-05570195-D64A-5F65-AB7C-2C6BF8D332B3.dita#GUID-05570195-D64A-5F65-AB7C-2C6BF8D332B3/GUID-495B55A4-3854-5E2B-8A9A-8AF92605DBD3">Steps
to build and execute tests manually (tests built into ROM) </xref> . </p> </li>
</ol> <p><b> Excluding
Test Cases from Test Run using TCS File</b> </p> <p>Test cases can be executed
selectively using a <filepath>.tcs</filepath> file. The <filepath>.tcs</filepath> file
contains the IDs of test cases: </p> <ul>
<li id="GUID-06F36553-6F91-5169-B64D-94311341BC07"><p>to be excluded from
a test run </p> </li>
<li id="GUID-F4513B01-780C-541B-89BA-B3D49BA12EBC"><p>to be executed on their
own. Therefore, excluding all other test cases in the test script from a test
run. </p> <p> </p> </li>
</ul> <p>The test case IDs can be specified as a range, a list, or a combination
of both, where 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>MM-ICL-DECDE-PublicApi-0003: MM-ICL-DECDE-PublicApi-0012</codeph> </p> <p>Test
cases from 3 to 12 are (3 and 12 included) either excluded or are the only
ones to be executed during a test run. </p> <p>A list of test cases IDs to
be excluded can be: </p> <p> <codeph>MM-ICL-ENCDE-PublicApi-0007</codeph>  </p> <p> <codeph>MM-ICL-ENCDE-PublicApi-0010</codeph>  </p> <p> <codeph>MM-ICL-ENCDE-PublicApi-0012</codeph>  </p> <p>A combination of range and
list can be: </p> <p> <codeph>MM-MMF-ACLNT-CNVRT-PublicAPI-0005</codeph>  </p> <p> <codeph>MM-MMF-ACLNT-CNVRT-PublicAPI-0008</codeph>  </p> <p> <codeph>MM-MMF-ACLNT-CNVRT-PublicAPI-0010:              MM-MMF-ACLNT-CNVRT-PublicAPI-0015</codeph>  </p> <p>There
is only one <filepath>.tcs</filepath> file, which is located at the following
location: </p> <p> <filepath>…\os\mm\mmapitest\mmsvs\suite\config\t_multimedia.tcs</filepath>  </p> <p>For
more information on location of <filepath>.tcs</filepath> files, see <xref href="GUID-89A4937C-79C6-5985-9275-496A4299F30F.dita#GUID-89A4937C-79C6-5985-9275-496A4299F30F/GUID-20A11B22-C8ED-59CB-81C0-27C06A237F36">t_camera
TCS files source location</xref>, , <xref href="GUID-6A4DCFE7-FA86-5DFF-AF53-46604525889B.dita#GUID-6A4DCFE7-FA86-5DFF-AF53-46604525889B/GUID-4B48F3F9-36EC-5BBF-8A84-9625C1343602">image
conversion TCS files source location</xref>, and <xref href="GUID-7AEE6EC4-28FA-5513-8294-FACE6AAA9F8C.dita#GUID-7AEE6EC4-28FA-5513-8294-FACE6AAA9F8C/GUID-0F87A5FB-9ABA-50D9-B05F-C604E2625124">multimedia framework TCS files source location</xref>. </p> <p>Only the <filepath>.tcs</filepath> files
has to be modified when using the test driver for test execution. When executing
the tests manually, the following testexecute 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_multimedia.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. While 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\directory</filepath>.
On the PC, if tests are executed using test driver, results can be in any
of the following locations: </p> <ul>
<li id="GUID-3149488A-B1C5-5A4E-8186-02D88DF8F106"><p> <filepath>%EPOCROOT%\epoc32\TestDriver\results\</filepath>  </p> </li>
<li id="GUID-76EB2D56-EA59-545D-B4DF-36647AB4D66A"><p> <filepath>%EPOCROOT%\epoc32\winscw\c\logs\testexecute</filepath>  </p> </li>
</ul> <p>If the tests are manually run, when using test driver, a new test
result folder is created for each test run. That is, results are not overwritten
each time a test run is executed. In its own subfolder, an <filepath>.html</filepath> log
file can be found for each script contained in the suite. </p> <p>Each test
case in the script contains one test block, which performs a number of actions
on an API. The log will display the percentage of test cases that have passed
successfully. The script should ideally have a 100% pass rate. </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 number of tests in the suite that have passed, failed
or panicked. In the body of the log, passing tests are highlighted in green,
and failing tests in red, while tests which cause a panic are shown in blue. </p> <p>If
a failing or panicking test has been identified, its reason for failing or
panicking can be seen by examining each step in the test, listed between the
“START_TESTCASE” and “END_TESTCASE” tags. The steps which passes have the
word “INFO” followed by some information regarding the step. A failing step
will instead have the word “ERROR”, followed by an explanation of the error
(usually with an error code). If a panic occurs there may be no textual explanation
of the problem, but a panic code will be given (within the blue highlighted
text). </p> <p>When this test suite is run on a real device, some of the tests
may fail due to limitations of the device. This happens because of the device
not having the correct hardware (for example, no modem exists for a test which
needs one), or lacking the right software plugins to run the test. This can
be spotted if the log displays that a test has failed with a -5 error (which
means KErrNotSupported). The -5 error basically means that the test has failed
because the functionality in this test is not supported on the device used.
Therefore, any tests failing with -5 are not due to defects, but to the limitations
of the device used. </p> <p>For more information on test driver results, see
R4Error! Reference source not found in <i>Symbian Verification Suite » TestDriver
V2 » TestDriver Output » Viewing the test results</i>. </p> </section>
<section><title>OS Focussed Components</title> <p>The following table illustrates
the sub-components and classes available on each Symbian platform. </p> <p> <b>Table
1</b>: Component Multimedia sub-components and classes tested on each Symbian
platform baseline </p> <table id="GUID-56FD2792-D413-501C-9123-6442725C35DE">
<tgroup cols="6"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><colspec colname="col4"/><colspec colname="col5"/>
<thead>
<row>
<entry>Symbian platform baseline</entry>
<entry>9.1</entry>
<entry>9.2</entry>
<entry>9.3</entry>
<entry>9.4</entry>
<entry>9.5</entry>
</row>
</thead>
<tbody>
<row>
<entry><p>Sub-component1 - ECam </p> </entry>
<entry><p> </p> </entry>
<entry><p> </p> </entry>
<entry><p> </p> </entry>
<entry><p> </p> </entry>
<entry><p> </p> </entry>
</row>
<row>
<entry><p>Class1 – CCamera </p> </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><p>Sub-component2 - ICL </p> </entry>
<entry><p> </p> </entry>
<entry><p> </p> </entry>
<entry><p> </p> </entry>
<entry><p> </p> </entry>
<entry><p> </p> </entry>
</row>
<row>
<entry><p>Class1 - CImageEncoder </p> </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><p>Class2 – CImageDecoder </p> </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><p>Sub-component3 – MMF </p> </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><p>Class1 – CMdaAudioConvertUtility </p> </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><p>Class2 - CMdaAudioInputStream </p> </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><p>Class3 – CMdaAudioOutputStream </p> </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><p>Class4 – CMdaAudioPlayerUtility </p> </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><p>Class5 – CMdaAudioRecorderUtility </p> </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><p>Class6 - CMdaAudioToneUtility </p> </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><p>Class7 – CMidiClientUtility </p> </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><p>Class8 - CVideoPlayerUtility </p> </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><p>Class9 – CVideoRecorderUtility </p> </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>
</tbody>
</tgroup>
</table> </section>
</conbody></concept>