Image conversion library test suite

This topic describes the image conversion test suite, which consists of two regression test suites that provide tests for the Image Decoder and Encoder. It provides an overview about the test suite, its coverage, how to set up the test environment to execute the test suite, and how to find further information about the test cases offered by this test suite.

Test suite Overview

The Multimedia Image Conversion Library Test Suite consists of two regression test suites that provide tests for the Image Decoder and Encoder; that is, CImageDecoder and CImageEncoder classes.

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

Test Approach

This test suite provides a basic run through of the public functionality of the CImageDecoder and CImageEncoder APIs. The purpose of the Test Suite is to provide a regression test suite of Published All APIs for the CImageDecoder and CImageEncoder classes. Negative testing is performed wherever it is needed, to confirm that correct errors are returned when incorrect parameters are given. The tests are automated and does not require user intervention.

Coverage omissions

None.

Test suite details

Test script source tree location

Descriptions of the test cases i.e. test scripts can be found at the following location:

  • …\os\mm\mmapitest\mmsvs\suite\icl\T_ImageDecoder\scripts\MM-ICL-DECDE-PublicApi.script

  • …\os\mm\mmapitest\mmsvs\suite\icl\T_ImageEncoder\scripts\MM-ICL-ENCDE-PublicApi.script

Test script EPOC tree location

When the tests are built for emulator or hardware (winscw/armv5), the scripts are exported into the following location in the EPOC tree:

  • %EPOCROOT%\epoc32\data\Z\multimedia\MM-ICL-DECDE-PublicApi.script

  • %EPOCROOT%\epoc32\data\Z\multimedia\MM-ICL-ENCDE-PublicApi.script

Test script build location

When the tests are built, the scripts are built into the following location:

%EPOCROOT%\epoc32\release\<winscw|armv5>\<udeb|urel>\Z\multimedia.

Note: When the tests are built to be executed on hardware the files are built into the z drive of the ROM.

Test data source tree location

Test data files can be found in the following location:

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\MM-ICL-DECDE-PublicApi.ini

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\1bit.bmp

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\1bit.gif

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\1bit.ota

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\1bit.png

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\1bit.tif

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\1bit.wbmp

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\1bitG3.tif

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\1bitG4.tif

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\24bit.apm

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\24bit.bmp

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\24bit.clp

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\24bit.jpg

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\24bit.mng

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\24bit.png

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\24bit.tif

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\24bit.wmf

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\2bit.gif

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\4bit.bmp

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\4bit.gif

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\4bit.ico

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\4bit.png

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\4bit.tif

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\6bit.gif

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\8bit.bmp

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\8bit.gif

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\8bit.ico

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\8bit.jpg

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\8bit.png

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\8bit.tif

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\commented.gif

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\commented.jpg

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\corrupted.bmp

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\dec16bit.mbm

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\dec1bit.mbm

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\dec24bit.mbm

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\dec2bit.mbm

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\dec4bit.mbm

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\dec8bit.mbm

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\partial.bmp

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imagedecoder\testdata\thumbnail.jpg

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imageencoder\testdata\MM-ICL-ENCDE-PublicApi.ini

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imageencoder\testdata\enc16bit.mbm

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imageencoder\testdata\enc1bit.mbm

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imageencoder\testdata\enc24bit.mbm

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imageencoder\testdata\enc2bit.mbm

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imageencoder\testdata\enc4bit.mbm

  • …\os\mm\mmapitest\mmsvs\suite\icl\t_imageencoder\testdata\enc8bit.mbm

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

  • …\os\mm\mmapitest\mmsvs\suite\testdata\t_multimedia.ini

  • …\os\mm\mmapitest\mmsvs\suite\testdata\t_multimedia_location.ini

Test data files EPOC tree location

When the tests are built for emulator or hardware (winscw or armv5), the data files are exported into the following location in the EPOC tree:

  • %EPOCROOT%\epoc32\data\Z\multimedia\MM-ICL-DECDE-PublicApi.ini

  • %EPOCROOT%\epoc32\data\Z\multimedia\MM-ICL-ENCDE-PublicApi.ini

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_multimedia.ini

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_multimedia_location.ini

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\24bit.apm

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\1bit.bmp

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\4bit.bmp

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\8bit.bmp

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\24bit.bmp

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\24bit.clp

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\1bit.gif

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\2bit.gif

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\4bit.gif

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\6bit.gif

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\8bit.gif

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\commented.gif

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\4bit.ico

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\8bit.ico

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\8bit.jpg

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\24bit.jpg

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\thumbnail.jpg

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\commented.jpg

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\24bit.mng

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\1bit.ota

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\1bit.png

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\4bit.png

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\8bit.png

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\24bit.png

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\1bitG3.tif

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\1bit.tif

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\4bit.tif

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\8bit.tif

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\24bit.tif

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\1bit.wbmp

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\24bit.wmf

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\corrupted.bmp

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imagedecoder\partial.bmp

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imageencoder\MM-ICL-ENCDE-PublicApi.ini

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imageencoder\1bit.mbm

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imageencoder\2bit.mbm

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imageencoder\4bit.mbm

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imageencoder\8bit.mbm

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imageencoder\16bit.mbm

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imageencoder\24bit.mbm

  • %EPOCROOT%\epoc32\data\Z\multimedia\t_imageencoder\corrupted.mbm

Test data files build location

The build process builds the data .ini files to the following location:

%EPOCROOT%\epoc32\release\<winscw|armv5>\<udeb|urel>\Z\multimedia\

The test image files in the following location:

  • %EPOCROOT%\epoc32\release\<winscw|armv5>\<udeb|urel>\Z\multimedia\t_imagedecoder

  • %EPOCROOT%\epoc32\release\<winscw|armv5>\<udeb|urel>\Z\multimedia\t_imageencoder

Note: When the tests are built to be executed on hardware the files are built into the z: drive of the ROM.

Test .driver File

The comms-infras.driver file is found in the following location:

…\mmapitest\mmsvs\suite\testsuites\multimedia

The comms-infras.driver file is used by the test driver to construct the test suite tree structure and export all the appropriate files to the correct location in the epoc32 tree and on the device.

When the tests are built, the .driver file can be found in the following location:

%EPOCROOT%\epoc32\testdriver\testproduct

TCS file source location

The .tcs file can be found at the following location:

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

TCS file build location

When the tests are built, the .tcs file is generated into the following location:

%EPOCROOT%\epoc32\release\<winscw|armv5>\<udeb|urel>\Z\multimedia

Note: When the tests are built to be executed on the hardware, the files are built into the z drive of the ROM.

Test global environment file

The t_multimedia.ini file is the test suite global environment file, which contains the following configurable parameters in the [default_icl] section:

  • The following keys define the default UIDs of the various image types.

    Image type UID

    imagetype_gif

    101F45B3

    imagetype_tiff

    101F45C4

    imagetype_jpg

    101F45D8

    imagetype_bmp

    101F45B0

    imagetype_png

    101F45C9

    imagetype_ota

    101F45D2

    imagetype_mbm

    101F45CC

    imagetype_ico

    101F45D5

    imagetype_wbmp

    101F45CF

    imagetype_mng

    101F7C53

  • The following keys define the default MIME type of the various image types.

    Image type MIME type

    mime_gif

    image/gif

    mime_tiff

    image/tiff

    mime_jpg

    image/jpeg

    mime_bmp

    image/bmp

    mime_png

    image/png

    mime_ico

    image/ico

    mime_ota

    image/x-ota-bitmap

    mime_mbm

    image/x-epoc-mbm

    mime_wbm

    image/vnd.wap.wbmp

    mime_wmf

    image/x-wmf

    mime_mng

    image/mng

This enables you to modify these parameter values, so that the tests may be executed with different test data. For example, the UIDs of the various image types on the device under test may be different from the default values. If the UID of gif images on the device under test is 102G48C6 then imagetype_gif should be set to imagetype_gif = 102G48C6, to enable all tests, which use gif images to use this UID.

Test Environment and Execution

Support

For support issues related to this Test Suite description and issues to running the tests, test pass rates, and potential defects, contact Symbian or your SDK provider. In most instances this will be either through the Symbian technical consulting teams, the SDK provider forums or via the developer area of Symbian website.