diff -r 4816d766a08a -r f345bda72bc4 Symbian3/PDK/Source/GUID-05570195-D64A-5F65-AB7C-2C6BF8D332B3.dita --- a/Symbian3/PDK/Source/GUID-05570195-D64A-5F65-AB7C-2C6BF8D332B3.dita Tue Mar 30 11:42:04 2010 +0100 +++ b/Symbian3/PDK/Source/GUID-05570195-D64A-5F65-AB7C-2C6BF8D332B3.dita Tue Mar 30 11:56:28 2010 +0100 @@ -1,509 +1,509 @@ - - - - - -Multimedia -test technology -

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.

-
Multimedia test technology area scope

Components -under test

The Multimedia test suites test the following components -under the Multimedia technology area:

    -
  • Camera functionality:

    ECam -is an API which allows an application to access and control any camera hardware -which is attached to the device.

  • -
  • Image conversion -library (ICL):

    ICL provides a lightweight Image Conversion Library -which supports the decoding and encoding of image files.

  • -
  • Multimedia Framework -(MMF):

    MMF including audio and video recording and playback, -tone playback and MIDI playback.

      -
    • Controller framework:

      Some -of the client-side functionality is implemented as part of the framework. -Base classes are provided to help device creators implement plugins.

    • -
    • Audio:

        -
      • Audio playback utility

      • -
      • Audio recording utility

      • -
      • Audio conversion utility

      • -
      • Tone playback utility

      • -
    • -
    • Video:

      Video -player utility - APIs for video playback and recording.

    • -
    • MIDI:

      MIDI -Client Utility - APIs for MIDI playback and recording.

    • -
  • -

Test -scope

Published -API testing

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.

For more -details about the individual classes, see API -test suites for Multimedia.

Test -omissions

The Multimedia test suites test only the common audio, -video, and image codecs that the Symbian platform implements.

For -more details about the individual classes, see API -test suites for Multimedia.

-
Multimedia test technology environment

Device -under test setup

The device under test (hardware platform/phone/emulator) -should have an appropriate Symbian platform or device creator UI build (S60, -UIQ, MOAP for example).

PC -setup

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.

Network -environment setup

None

Test -dependencies

Note: Any mention of “epoc32” -is offset by %EPOCROOT%. That is, the full path where -the EPOC tree is installed.

Test data

The -test data for each test suite is in the following location:

    -
  • …\os\mm\mmapitest\mmsvs\suite\ecam\T_Camera\testdata

  • -
  • …\os\mm\mmapitest\mmsvs\suite\icl\T_ImageEncoder\testdata

  • -
  • …\os\mm\mmapitest\mmsvs\suite\icl\T_ImageDecoder\testdata

  • -
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioConvertUtility\testdata

  • -
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioInputStream\testdata

  • -
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioOutputStream\testdata

  • -
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioPlayerUtility\testdata

  • -
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioRecorderUtility\testdata

  • -
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioToneUtility\testdata

  • -
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_MidiClientUtility\testdata

  • -
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_VideoPlayerUtility\testdata

  • -
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_VideoRecorderUtility\testdata

  • -

For more details about the individual classes, see API -test suites for Multimedia.

Also, there are two global environment -files, t_multimedia.ini and t_multimedia_location.ini, -which contain configurable parameters and their default values. Test that -are device setup specific have these details defined in t_multimedia.ini. -Test that are dependent on location have these details defined in t_multimedia_location.ini.

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:

…\os\mm\mmapitest\mmsvs\suite\testdata

For -more details about the individual classes, see API -test suites for Multimedia.

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.

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.

Building and Execution

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:

%EPOCROOT%\epoc32\testdriver\testproduct

For -more information on for general information about testdriver test suite structure, -see Symbian Verification Suite » TestDriver V2 » TestDriver Output » Viewing -the test results.

<Component> - Multimedia - <Sub-component> - ICL - <suite> - MM-ICL-DECDE-PublicApi-suite - <suite> - MM-ICL-ENCDE-PublicApi-suite - <Sub-component> - MMF - <suite> - MM-MMF-ACLNT-CNVRT-PublicAPI-suite - <suite> - MM-MMF-ACLNT-INPT-PublicAPI-suite - <suite> - MM-MMF-ACLNT-OUTPT-PublicAPI-suite - <suite> - MM-MMF-ACLNT-PLYR-PublicAPI-suite - <suite> - MM-MMF-ACLNT-RCRDR-PublicAPI-suite - <suite> - MM-MMF-ACLNT-TONE-PublicAPI-suite - <suite> - MM-MMF-MIDI-PublicAPI-suite - <suite> - MM-MMF-VCLNT-PLYR-PublicAPI-suite - <suite> - MM-MMF-VCLNT-RCRDR-PublicAPI-suite - <Sub-component> - ECAM - <suite> - MM-ECM-PublicApi-suite - <suite> - MM-MMF-VCLNT-PLYR-PublicAPI-suite - <suite> - MM-MMF-VCLNT-RCRDR-PublicAPI-suite -

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:

    -
  • <multimedia> - -The entire suite is built/executed.

  • -
  • <multimedia.audio> - -All the six suites under audio are built/executed.

  • -
  • <multimedia.audio.MM-MMF-ACLNT-CNVRT-PublicAPI-suite> - -MM-MMF-ACLNT-CNVRT-PublicAPI-suite is built/executed.

  • -

The following list show the sequence of commands to be executed on -emulator and hardware:

    -
  • General environment setup for WINSCW and ARMV5

  • -
  • Steps to build and execute tests using test driver

  • -
  • Steps to build and execute tests manually (tests built into ROM)

  • -

General environment setup -for WINSCW and ARMV5

    -
  1. Ensure that all the -parameters in the files t_multimedia.ini and t_multimedia_location.ini are -set to the correct values. For more details, see Test data.

  2. -
  3. Build additional components. -For details regarding downloading and building additional components before -building the test suite, see the specific sub-component test suite in API test suites for Multimedia.

  4. -
  5. The entire Multimedia -test component can be built from …\os\mm\mmapitest\mmsvs\suite\group\….

    Individual -test components can be built from the respective group directory:

      -
    • …\os\mm\mmapitest\mmsvs\suite\ecam\t_<sub-component>\group -

    • -
    • …\os\mm\mmapitest\mmsvs\suite\icl\t_<sub-component>\group

    • -
    • …\os\mm\mmapitest\mmsvs\suite\mmf\t_<sub-component>\group -

    • -

    Execute the following commands:

      -
    1. bldmake bldfiles

    2. -
    3. abld test build -[winscw|armv5] [urel|udeb]

    4. -
  6. -

Steps to build and execute -tests using test driver

On -WINSCW platform

    -
  1. 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.

  2. -
  3. TestDriver can be configured -using the automated scripts located at, …\os\mm\mmapitest\mmsvs\suite\group\… using -the following command:

    testdriversetup

    testdriversetup.bat calls testdriversetup.pl, which applies appropriate set of configuration parameters.

  4. -
  5. Build test code using -the following command:

    testdriver build [–p [winscw|armv5]] -[–b [udeb|urel]] –s multimedia[.audio|image|video[.<test suite name >]]

    Note: You -can execute TestDriver commands from any location.

    For the multimedia -test suite hierarchical structure, refer to Building and Execution section.

  6. -
  7. Execute the tests on -the emulator using the following command:

    testdriver run

  8. -

Note: All scripts and test data are automatically removed -from the system drive of the device under test after the execution.

On ARMV5 platform

    -
  1. 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.

  2. -
  3. Communication between -PC and hardware. For more details, refer to Symbian Verification Suite -» TestDriver » Using TestDriver » Communicating with the device. The ROM -image is built on the PC and transferred to the hardware board via MMC card.

  4. -
  5. TestDriver can be configured -using the automated scripts located at, …\os\mm\mmapitest\mmsvs\suite\group\… using -the following command:

    testdriversetup

    testdriversetup.bat calls testdriversetup.pl, which applies appropriate set of configuration parameters.

  6. -
  7. Build test code using -the following command:

    testdriver build [–p [winscw|armv5]] -[–b [udeb|urel]] –s multimedia[.mmf|icl|ecam[.<test suite name >]]

    Note: You -can execute TestDriver commands from any location.

    For the multimedia -test suite hierarchical structure, refer to Building and Execution section.

  8. -
  9. Build the ROM image -using the following command:

    buildrom -D_STARTUPMODE2 -D_EABI=ARMV5 --DRVCT -DUSE_STRONG_CRYPTOGRAPHY -D_CUSTOM_COMMSDAT <h2/h4hrp> techview_statapi -td_multimedia

  10. -
  11. Execute the tests on -the device using the following command:

    testdriver run --t <transport service used>

    The transport service used -can be one of the following:

      -
    • serial<COM port number -that is connected to the board>

    • -
    • bt<COM port number -for BT dongle>

    • -
    • usb<mapped port number>

    • -

    For more details, refer to Symbian Verification Suite » TestDriver -» Using TestDriver » Communicating with the device.

  12. -

Note: All scripts and test data are automatically removed -from the system drive of the device under test after the execution.

Steps to build and execute -tests manually (tests built into ROM)

On -WINSCW platform

    -
  1. The following setup -scripts are used to execute tests:

      -
    • Execute the entire multimedia -test suite using the setup script, setup_t_multimedia.script

    • -
    • Execute the test suite -for a specific class using one of the following setup scripts:

        -
      • setup-MM-ECM-PublicApi.script

      • -
      • setup-MM-ICL-DECDE-PublicApi.script

      • -
      • setup-MM-ICL-ENCDE-PublicApi.script

      • -
      • setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script

      • -
      • setup-MM-MMF-ACLNT-INPT-PublicAPI.script

      • -
      • setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script

      • -
      • setup-MM-MMF-ACLNT-PLYR-PublicAPI.script

      • -
      • setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script

      • -
      • setup-MM-MMF-ACLNT-TONE-PublicAPI.script

      • -
      • setup-MM-MMF-MIDI-PublicAPI.script

      • -
      • setup-MM-MMF-VCLNT-PLYR-PublicAPI.script

      • -
      • setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script

      • -
    • -
  2. -
  3. Run scripts on the emulator -by changing the directory to, %EPOCROOT%\epoc32\release\winscw\<urel/udeb>.

  4. -
  5. Execute tests using -the following commands:

    testexecute z:\multimedia\setup_<test -suite name>.script

    setup_t_multimedia.script is -used to execute the entire multimedia setup script.

    testexecute -c:\multimedia\<test suite name>.script

    t_multimedia.script can -be used to execute the entire multimedia test suite. The scripts mentioned -in the t_multimedia.script can be run individually.

  6. -

On -ARMV5 platform

    -
  1. Build the ROM image -using the following command:

    buildrom -D_EABI=ARMV5 –DRVCT --DUSE_STRONG_CRYPTOGRAPHY -D_CUSTOM_COMMSDAT <h2/h4hrp> techview t_multimedia

  2. -
  3. The following setup -scripts are used to execute tests:

      -
    • Execute the entire multimedia -test suite using the setup script, setup_t_multimedia.script

    • -
    • Execute the test suite -for a specific class using one of the following setup scripts:

        -
      • setup-MM-ECM-PublicApi.script

      • -
      • setup-MM-ICL-DECDE-PublicApi.script

      • -
      • setup-MM-ICL-ENCDE-PublicApi.script

      • -
      • setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script

      • -
      • setup-MM-MMF-ACLNT-INPT-PublicAPI.script

      • -
      • setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script

      • -
      • setup-MM-MMF-ACLNT-PLYR-PublicAPI.script

      • -
      • setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script

      • -
      • setup-MM-MMF-ACLNT-TONE-PublicAPI.script

      • -
      • setup-MM-MMF-MIDI-PublicAPI.script

      • -
      • setup-MM-MMF-VCLNT-PLYR-PublicAPI.script

      • -
      • setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script

      • -
    • -
  4. -
  5. Run scripts on the device -using eshell.

  6. -
  7. Execute tests using -the following commands:

    testexecute z:\multimedia\setup_<test -suite name>.script

    setup_t_multimedia.script is -used to execute the entire multimedia setup script.

    testexecute -c:\multimedia\<test suite name>.script

    t_multimedia.script can -be used to execute the entire multimedia test suite. The scripts mentioned -in the t_multimedia.script can be run individually.

  8. -

Steps -to build and execute tests on phone directly using .pkg file

For ARMV5 platform:

    -
  1. EShell and TestExecute:

    The -phone must have eshell and testexecute installed.

  2. -
  3. Certificate files:

    Ensure .cer and .key files are placed into /epoc32/pkg/ directory on the -PC and renamed aszeus.cer and SymbianACS.key correspondingly.

  4. -
  5. Create and install -SIS-file:

    Execute makesisfiles.bat from /epoc32/pkg/ - directory.

    makesisfiles.bat

    This -creates files.

      -
    • t_camera.sis

    • -
    • t_imagedecoder.sis

    • -
    • t_imageencoder.sis

    • -
    • t_mdaaudioconvertutility.sis

    • -
    • t_mdaaudioinputstream.sis

    • -
    • t_mdaaudiooutputstream.sis

    • -
    • t_mdaaudioplayerutility.sis

    • -
    • t_mdaaudiorecorderutility.sis

    • -
    • t_mdaaudiotoneutility.sis

    • -
    • t_midiclientutility.sis

    • -
    • t_videoplayerutility.sis

    • -
    • t_videorecorderutility.sis

    • -

    The files must be copied to an MMC card, transferred to the phone -and executed.

    When the above .sis files are executed, all multimedia -test suites are installed on the device.

  6. -
  7. Running Scripts:

    Run -the test scripts. For more information refer to Steps -to build and execute tests manually (tests built into ROM) .

  8. -

Excluding -Test Cases from Test Run using TCS File

Test cases can be executed -selectively using a .tcs file. The .tcs file -contains the IDs of test cases:

    -
  • to be excluded from -a test run

  • -
  • to be executed on their -own. Therefore, excluding all other test cases in the test script from a test -run.

  • -

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.

For example, range of test case IDs to be excluded can -be specified as:

MM-ICL-DECDE-PublicApi-0003: MM-ICL-DECDE-PublicApi-0012

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.

A list of test cases IDs to -be excluded can be:

MM-ICL-ENCDE-PublicApi-0007

MM-ICL-ENCDE-PublicApi-0010

MM-ICL-ENCDE-PublicApi-0012

A combination of range and -list can be:

MM-MMF-ACLNT-CNVRT-PublicAPI-0005

MM-MMF-ACLNT-CNVRT-PublicAPI-0008

MM-MMF-ACLNT-CNVRT-PublicAPI-0010: MM-MMF-ACLNT-CNVRT-PublicAPI-0015

There -is only one .tcs file, which is located at the following -location:

…\os\mm\mmapitest\mmsvs\suite\config\t_multimedia.tcs

For -more information on location of .tcs files, see t_camera -TCS files source location, , image -conversion TCS files source location, and multimedia framework TCS files source location.

Only the .tcs 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 .tcs file:

testexecute %EPOCROOT%\epoc32\release\winscw\<urel/udeb>\<test -suite name>.script –[tcx|tci] %EPOCROOT%\epoc32\release\winscw\<urel/udeb>\t_multimedia.tcs

The -tcx switch -is used to execute all the tests in the specified script excluding the test -cases specified in the .tcs file. While the –tci switch -is used to execute only the tests specified in the .tcs file -from the specified script.

Test -Results

Test -Results log file location

After tests complete execution, result -logs can be found on the system drive of the device in the \logs\testexecute\directory. -On the PC, if tests are executed using test driver, results can be in any -of the following locations:

    -
  • %EPOCROOT%\epoc32\TestDriver\results\

  • -
  • %EPOCROOT%\epoc32\winscw\c\logs\testexecute

  • -

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 .html log -file can be found for each script contained in the suite.

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.

How to interpret test results

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.

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).

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.

For more information on test driver results, see -R4Error! Reference source not found in Symbian Verification Suite » TestDriver -V2 » TestDriver Output » Viewing the test results.

-
OS Focussed Components

The following table illustrates -the sub-components and classes available on each Symbian platform.

Table -1: Component Multimedia sub-components and classes tested on each Symbian -platform baseline

- - - -Symbian platform baseline -9.1 -9.2 -9.3 -9.4 -9.5 - - - - -

Sub-component1 - ECam

-

-

-

-

-

-
- -

Class1 – CCamera

-

x

-

x

-

x

-

x

-

x

-
- -

Sub-component2 - ICL

-

-

-

-

-

-
- -

Class1 - CImageEncoder

-

x

-

x

-

x

-

x

-

x

-
- -

Class2 – CImageDecoder

-

x

-

x

-

x

-

x

-

x

-
- -

Sub-component3 – MMF

-

x

-

x

-

x

-

x

-

x

-
- -

Class1 – CMdaAudioConvertUtility

-

x

-

x

-

x

-

x

-

x

-
- -

Class2 - CMdaAudioInputStream

-

x

-

x

-

x

-

x

-

x

-
- -

Class3 – CMdaAudioOutputStream

-

x

-

x

-

x

-

x

-

x

-
- -

Class4 – CMdaAudioPlayerUtility

-

x

-

x

-

x

-

x

-

x

-
- -

Class5 – CMdaAudioRecorderUtility

-

x

-

x

-

x

-

x

-

x

-
- -

Class6 - CMdaAudioToneUtility

-

x

-

x

-

x

-

x

-

x

-
- -

Class7 – CMidiClientUtility

-

x

-

x

-

x

-

x

-

x

-
- -

Class8 - CVideoPlayerUtility

-

x

-

x

-

x

-

x

-

x

-
- -

Class9 – CVideoRecorderUtility

-

x

-

x

-

x

-

x

-

x

-
- - -
+ + + + + +Multimedia +test technology +

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.

+
Multimedia test technology area scope

Components +under test

The Multimedia test suites test the following components +under the Multimedia technology area:

    +
  • Camera functionality:

    ECam +is an API which allows an application to access and control any camera hardware +which is attached to the device.

  • +
  • Image conversion +library (ICL):

    ICL provides a lightweight Image Conversion Library +which supports the decoding and encoding of image files.

  • +
  • Multimedia Framework +(MMF):

    MMF including audio and video recording and playback, +tone playback and MIDI playback.

      +
    • Controller framework:

      Some +of the client-side functionality is implemented as part of the framework. +Base classes are provided to help device creators implement plugins.

    • +
    • Audio:

        +
      • Audio playback utility

      • +
      • Audio recording utility

      • +
      • Audio conversion utility

      • +
      • Tone playback utility

      • +
    • +
    • Video:

      Video +player utility - APIs for video playback and recording.

    • +
    • MIDI:

      MIDI +Client Utility - APIs for MIDI playback and recording.

    • +
  • +

Test +scope

Published +API testing

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.

For more +details about the individual classes, see API +test suites for Multimedia.

Test +omissions

The Multimedia test suites test only the common audio, +video, and image codecs that the Symbian platform implements.

For +more details about the individual classes, see API +test suites for Multimedia.

+
Multimedia test technology environment

Device +under test setup

The device under test (hardware platform/phone/emulator) +should have an appropriate Symbian platform or device creator UI build (S60, +UIQ, MOAP for example).

PC +setup

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.

Network +environment setup

None

Test +dependencies

Note: Any mention of “epoc32” +is offset by %EPOCROOT%. That is, the full path where +the EPOC tree is installed.

Test data

The +test data for each test suite is in the following location:

    +
  • …\os\mm\mmapitest\mmsvs\suite\ecam\T_Camera\testdata

  • +
  • …\os\mm\mmapitest\mmsvs\suite\icl\T_ImageEncoder\testdata

  • +
  • …\os\mm\mmapitest\mmsvs\suite\icl\T_ImageDecoder\testdata

  • +
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioConvertUtility\testdata

  • +
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioInputStream\testdata

  • +
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioOutputStream\testdata

  • +
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioPlayerUtility\testdata

  • +
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioRecorderUtility\testdata

  • +
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_MdaAudioToneUtility\testdata

  • +
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_MidiClientUtility\testdata

  • +
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_VideoPlayerUtility\testdata

  • +
  • …\os\mm\mmapitest\mmsvs\suite\mmf\T_VideoRecorderUtility\testdata

  • +

For more details about the individual classes, see API +test suites for Multimedia.

Also, there are two global environment +files, t_multimedia.ini and t_multimedia_location.ini, +which contain configurable parameters and their default values. Test that +are device setup specific have these details defined in t_multimedia.ini. +Test that are dependent on location have these details defined in t_multimedia_location.ini.

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:

…\os\mm\mmapitest\mmsvs\suite\testdata

For +more details about the individual classes, see API +test suites for Multimedia.

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.

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.

Building and Execution

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:

%EPOCROOT%\epoc32\testdriver\testproduct

For +more information on for general information about testdriver test suite structure, +see Symbian Verification Suite » TestDriver V2 » TestDriver Output » Viewing +the test results.

<Component> - Multimedia + <Sub-component> - ICL + <suite> - MM-ICL-DECDE-PublicApi-suite + <suite> - MM-ICL-ENCDE-PublicApi-suite + <Sub-component> - MMF + <suite> - MM-MMF-ACLNT-CNVRT-PublicAPI-suite + <suite> - MM-MMF-ACLNT-INPT-PublicAPI-suite + <suite> - MM-MMF-ACLNT-OUTPT-PublicAPI-suite + <suite> - MM-MMF-ACLNT-PLYR-PublicAPI-suite + <suite> - MM-MMF-ACLNT-RCRDR-PublicAPI-suite + <suite> - MM-MMF-ACLNT-TONE-PublicAPI-suite + <suite> - MM-MMF-MIDI-PublicAPI-suite + <suite> - MM-MMF-VCLNT-PLYR-PublicAPI-suite + <suite> - MM-MMF-VCLNT-RCRDR-PublicAPI-suite + <Sub-component> - ECAM + <suite> - MM-ECM-PublicApi-suite + <suite> - MM-MMF-VCLNT-PLYR-PublicAPI-suite + <suite> - MM-MMF-VCLNT-RCRDR-PublicAPI-suite +

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:

    +
  • <multimedia> - +The entire suite is built/executed.

  • +
  • <multimedia.audio> - +All the six suites under audio are built/executed.

  • +
  • <multimedia.audio.MM-MMF-ACLNT-CNVRT-PublicAPI-suite> - +MM-MMF-ACLNT-CNVRT-PublicAPI-suite is built/executed.

  • +

The following list show the sequence of commands to be executed on +emulator and hardware:

    +
  • General environment setup for WINSCW and ARMV5

  • +
  • Steps to build and execute tests using test driver

  • +
  • Steps to build and execute tests manually (tests built into ROM)

  • +

General environment setup +for WINSCW and ARMV5

    +
  1. Ensure that all the +parameters in the files t_multimedia.ini and t_multimedia_location.ini are +set to the correct values. For more details, see Test data.

  2. +
  3. Build additional components. +For details regarding downloading and building additional components before +building the test suite, see the specific sub-component test suite in API test suites for Multimedia.

  4. +
  5. The entire Multimedia +test component can be built from …\os\mm\mmapitest\mmsvs\suite\group\….

    Individual +test components can be built from the respective group directory:

      +
    • …\os\mm\mmapitest\mmsvs\suite\ecam\t_<sub-component>\group +

    • +
    • …\os\mm\mmapitest\mmsvs\suite\icl\t_<sub-component>\group

    • +
    • …\os\mm\mmapitest\mmsvs\suite\mmf\t_<sub-component>\group +

    • +

    Execute the following commands:

      +
    1. bldmake bldfiles

    2. +
    3. abld test build +[winscw|armv5] [urel|udeb]

    4. +
  6. +

Steps to build and execute +tests using test driver

On +WINSCW platform

    +
  1. 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.

  2. +
  3. TestDriver can be configured +using the automated scripts located at, …\os\mm\mmapitest\mmsvs\suite\group\… using +the following command:

    testdriversetup

    testdriversetup.bat calls testdriversetup.pl, which applies appropriate set of configuration parameters.

  4. +
  5. Build test code using +the following command:

    testdriver build [–p [winscw|armv5]] +[–b [udeb|urel]] –s multimedia[.audio|image|video[.<test suite name >]]

    Note: You +can execute TestDriver commands from any location.

    For the multimedia +test suite hierarchical structure, refer to Building and Execution section.

  6. +
  7. Execute the tests on +the emulator using the following command:

    testdriver run

  8. +

Note: All scripts and test data are automatically removed +from the system drive of the device under test after the execution.

On ARMV5 platform

    +
  1. 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.

  2. +
  3. Communication between +PC and hardware. For more details, refer to Symbian Verification Suite +» TestDriver » Using TestDriver » Communicating with the device. The ROM +image is built on the PC and transferred to the hardware board via MMC card.

  4. +
  5. TestDriver can be configured +using the automated scripts located at, …\os\mm\mmapitest\mmsvs\suite\group\… using +the following command:

    testdriversetup

    testdriversetup.bat calls testdriversetup.pl, which applies appropriate set of configuration parameters.

  6. +
  7. Build test code using +the following command:

    testdriver build [–p [winscw|armv5]] +[–b [udeb|urel]] –s multimedia[.mmf|icl|ecam[.<test suite name >]]

    Note: You +can execute TestDriver commands from any location.

    For the multimedia +test suite hierarchical structure, refer to Building and Execution section.

  8. +
  9. Build the ROM image +using the following command:

    buildrom -D_STARTUPMODE2 -D_EABI=ARMV5 +-DRVCT -DUSE_STRONG_CRYPTOGRAPHY -D_CUSTOM_COMMSDAT <h2/h4hrp> techview_statapi +td_multimedia

  10. +
  11. Execute the tests on +the device using the following command:

    testdriver run +-t <transport service used>

    The transport service used +can be one of the following:

      +
    • serial<COM port number +that is connected to the board>

    • +
    • bt<COM port number +for BT dongle>

    • +
    • usb<mapped port number>

    • +

    For more details, refer to Symbian Verification Suite » TestDriver +» Using TestDriver » Communicating with the device.

  12. +

Note: All scripts and test data are automatically removed +from the system drive of the device under test after the execution.

Steps to build and execute +tests manually (tests built into ROM)

On +WINSCW platform

    +
  1. The following setup +scripts are used to execute tests:

      +
    • Execute the entire multimedia +test suite using the setup script, setup_t_multimedia.script

    • +
    • Execute the test suite +for a specific class using one of the following setup scripts:

        +
      • setup-MM-ECM-PublicApi.script

      • +
      • setup-MM-ICL-DECDE-PublicApi.script

      • +
      • setup-MM-ICL-ENCDE-PublicApi.script

      • +
      • setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script

      • +
      • setup-MM-MMF-ACLNT-INPT-PublicAPI.script

      • +
      • setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script

      • +
      • setup-MM-MMF-ACLNT-PLYR-PublicAPI.script

      • +
      • setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script

      • +
      • setup-MM-MMF-ACLNT-TONE-PublicAPI.script

      • +
      • setup-MM-MMF-MIDI-PublicAPI.script

      • +
      • setup-MM-MMF-VCLNT-PLYR-PublicAPI.script

      • +
      • setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script

      • +
    • +
  2. +
  3. Run scripts on the emulator +by changing the directory to, %EPOCROOT%\epoc32\release\winscw\<urel/udeb>.

  4. +
  5. Execute tests using +the following commands:

    testexecute z:\multimedia\setup_<test +suite name>.script

    setup_t_multimedia.script is +used to execute the entire multimedia setup script.

    testexecute +c:\multimedia\<test suite name>.script

    t_multimedia.script can +be used to execute the entire multimedia test suite. The scripts mentioned +in the t_multimedia.script can be run individually.

  6. +

On +ARMV5 platform

    +
  1. Build the ROM image +using the following command:

    buildrom -D_EABI=ARMV5 –DRVCT +-DUSE_STRONG_CRYPTOGRAPHY -D_CUSTOM_COMMSDAT <h2/h4hrp> techview t_multimedia

  2. +
  3. The following setup +scripts are used to execute tests:

      +
    • Execute the entire multimedia +test suite using the setup script, setup_t_multimedia.script

    • +
    • Execute the test suite +for a specific class using one of the following setup scripts:

        +
      • setup-MM-ECM-PublicApi.script

      • +
      • setup-MM-ICL-DECDE-PublicApi.script

      • +
      • setup-MM-ICL-ENCDE-PublicApi.script

      • +
      • setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script

      • +
      • setup-MM-MMF-ACLNT-INPT-PublicAPI.script

      • +
      • setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script

      • +
      • setup-MM-MMF-ACLNT-PLYR-PublicAPI.script

      • +
      • setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script

      • +
      • setup-MM-MMF-ACLNT-TONE-PublicAPI.script

      • +
      • setup-MM-MMF-MIDI-PublicAPI.script

      • +
      • setup-MM-MMF-VCLNT-PLYR-PublicAPI.script

      • +
      • setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script

      • +
    • +
  4. +
  5. Run scripts on the device +using eshell.

  6. +
  7. Execute tests using +the following commands:

    testexecute z:\multimedia\setup_<test +suite name>.script

    setup_t_multimedia.script is +used to execute the entire multimedia setup script.

    testexecute +c:\multimedia\<test suite name>.script

    t_multimedia.script can +be used to execute the entire multimedia test suite. The scripts mentioned +in the t_multimedia.script can be run individually.

  8. +

Steps +to build and execute tests on phone directly using .pkg file

For ARMV5 platform:

    +
  1. EShell and TestExecute:

    The +phone must have eshell and testexecute installed.

  2. +
  3. Certificate files:

    Ensure .cer and .key files are placed into /epoc32/pkg/ directory on the +PC and renamed aszeus.cer and SymbianACS.key correspondingly.

  4. +
  5. Create and install +SIS-file:

    Execute makesisfiles.bat from /epoc32/pkg/ + directory.

    makesisfiles.bat

    This +creates files.

      +
    • t_camera.sis

    • +
    • t_imagedecoder.sis

    • +
    • t_imageencoder.sis

    • +
    • t_mdaaudioconvertutility.sis

    • +
    • t_mdaaudioinputstream.sis

    • +
    • t_mdaaudiooutputstream.sis

    • +
    • t_mdaaudioplayerutility.sis

    • +
    • t_mdaaudiorecorderutility.sis

    • +
    • t_mdaaudiotoneutility.sis

    • +
    • t_midiclientutility.sis

    • +
    • t_videoplayerutility.sis

    • +
    • t_videorecorderutility.sis

    • +

    The files must be copied to an MMC card, transferred to the phone +and executed.

    When the above .sis files are executed, all multimedia +test suites are installed on the device.

  6. +
  7. Running Scripts:

    Run +the test scripts. For more information refer to Steps +to build and execute tests manually (tests built into ROM) .

  8. +

Excluding +Test Cases from Test Run using TCS File

Test cases can be executed +selectively using a .tcs file. The .tcs file +contains the IDs of test cases:

    +
  • to be excluded from +a test run

  • +
  • to be executed on their +own. Therefore, excluding all other test cases in the test script from a test +run.

  • +

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.

For example, range of test case IDs to be excluded can +be specified as:

MM-ICL-DECDE-PublicApi-0003: MM-ICL-DECDE-PublicApi-0012

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.

A list of test cases IDs to +be excluded can be:

MM-ICL-ENCDE-PublicApi-0007

MM-ICL-ENCDE-PublicApi-0010

MM-ICL-ENCDE-PublicApi-0012

A combination of range and +list can be:

MM-MMF-ACLNT-CNVRT-PublicAPI-0005

MM-MMF-ACLNT-CNVRT-PublicAPI-0008

MM-MMF-ACLNT-CNVRT-PublicAPI-0010: MM-MMF-ACLNT-CNVRT-PublicAPI-0015

There +is only one .tcs file, which is located at the following +location:

…\os\mm\mmapitest\mmsvs\suite\config\t_multimedia.tcs

For +more information on location of .tcs files, see t_camera +TCS files source location, , image +conversion TCS files source location, and multimedia framework TCS files source location.

Only the .tcs 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 .tcs file:

testexecute %EPOCROOT%\epoc32\release\winscw\<urel/udeb>\<test +suite name>.script –[tcx|tci] %EPOCROOT%\epoc32\release\winscw\<urel/udeb>\t_multimedia.tcs

The -tcx switch +is used to execute all the tests in the specified script excluding the test +cases specified in the .tcs file. While the –tci switch +is used to execute only the tests specified in the .tcs file +from the specified script.

Test +Results

Test +Results log file location

After tests complete execution, result +logs can be found on the system drive of the device in the \logs\testexecute\directory. +On the PC, if tests are executed using test driver, results can be in any +of the following locations:

    +
  • %EPOCROOT%\epoc32\TestDriver\results\

  • +
  • %EPOCROOT%\epoc32\winscw\c\logs\testexecute

  • +

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 .html log +file can be found for each script contained in the suite.

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.

How to interpret test results

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.

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).

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.

For more information on test driver results, see +R4Error! Reference source not found in Symbian Verification Suite » TestDriver +V2 » TestDriver Output » Viewing the test results.

+
OS Focussed Components

The following table illustrates +the sub-components and classes available on each Symbian platform.

Table +1: Component Multimedia sub-components and classes tested on each Symbian +platform baseline

+ + + +Symbian platform baseline +9.1 +9.2 +9.3 +9.4 +9.5 + + + + +

Sub-component1 - ECam

+

+

+

+

+

+
+ +

Class1 – CCamera

+

x

+

x

+

x

+

x

+

x

+
+ +

Sub-component2 - ICL

+

+

+

+

+

+
+ +

Class1 - CImageEncoder

+

x

+

x

+

x

+

x

+

x

+
+ +

Class2 – CImageDecoder

+

x

+

x

+

x

+

x

+

x

+
+ +

Sub-component3 – MMF

+

x

+

x

+

x

+

x

+

x

+
+ +

Class1 – CMdaAudioConvertUtility

+

x

+

x

+

x

+

x

+

x

+
+ +

Class2 - CMdaAudioInputStream

+

x

+

x

+

x

+

x

+

x

+
+ +

Class3 – CMdaAudioOutputStream

+

x

+

x

+

x

+

x

+

x

+
+ +

Class4 – CMdaAudioPlayerUtility

+

x

+

x

+

x

+

x

+

x

+
+ +

Class5 – CMdaAudioRecorderUtility

+

x

+

x

+

x

+

x

+

x

+
+ +

Class6 - CMdaAudioToneUtility

+

x

+

x

+

x

+

x

+

x

+
+ +

Class7 – CMidiClientUtility

+

x

+

x

+

x

+

x

+

x

+
+ +

Class8 - CVideoPlayerUtility

+

x

+

x

+

x

+

x

+

x

+
+ +

Class9 – CVideoRecorderUtility

+

x

+

x

+

x

+

x

+

x

+
+ + +
\ No newline at end of file