Introduction

This topic describes the Comms-infras Esock test suites. It provides an overview of 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.

Comms-Infras ESOCK Test Suite

Test Suite Overview

The Comms-Infras ESOCK Test Suite consists of several regression test suites that provide tests for RConnection, RSocketServ, RSocket and RSubConnection classes.

All API's that Symbian classify as PublisedAll are tested within these classes.

Note: Any mention of epoc32 is offset by %EPOCROOT%.

Test Approach

The test suite is a means of confidence that the APIs work as expected. 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

  1. The following RConnection’s publishedAll API’s have been omitted as their corresponding parameters (enumerated values) are PublishedPartner:

    • RConnection::Control()

    • RConnection::GetOpt()

    • RConnection::SetOpt()

  2. The following RSocketServ APIs are not tested as they are only used for debugging purposes:

    • RSocketServ::__DbgCheckHeap()

    • RSocketServ::__DbgCheckMbuf()

    • RSocketServ::__DbgFailNext()

    • RSocketServ::__DbgFailNextMbuf()

    • RSocketServ::__DbgMarkEnd()

    • RSocketServ::__DbgMarkHeap()

    • RSocketServ::__DbgMbufFreeSpace()

    • RSocketServ::__DbgMbufTotalSpace()

    • RSocketServ::__DbgSetMbufPoolLimit()

  3. All the APIs are tested over IP protocols, TCP and UDP. These protocols do not support Connect/Disconnect with datam, so the following RSocket API's are not tested:

    • RSocket::Accept(RSocket &aBlankSocket, TDes8 &aConnectData, TRequestStatus &aStatus)

    • RSocket::Listen(TUint qSize, const TDesC8 &aConnectData)

    • RSocket::Shutdown(TShutdown aHow, const TDesC8 &aDisconnectDataOut, TDes8 &aDisconnectDataIn, TRequestStatus &aStatus)

  4. The following RSubConnection functions are omitted as they are not currently implemented:

    • RSubConnection::Start(TRequestStatus& aStatus)

    • RSubConnection::Start()

    • RSubConnection::Stop()

Test Suite Details

Test Script Source Tree Location

Descriptions of the test cases can be found at the following location:

  • ...\os\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rconnection\scripts\COMINF-ESOCK-RConnection-PublicAPI-Other.script

  • ...\os\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rconnection\scripts\COMINF-ESOCK-RConnection-PublicAPI-TCP.script

  • ...\os\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rconnection\scripts\COMINF-ESOCK-RConnection-PublicAPI-UDP.script

  • ...\os\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rsocket\scripts\COMINF-ESOCK-RSocket-PublicAPI-Other.script

  • ...\os\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rsocket\scripts\COMINF-ESOCK-RSocket-PublicAPI-TCP.script

  • ...\os\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rsocket\scripts\COMINF-ESOCK-RSocket-PublicAPI-UDP.script

  • …\os\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rsocketserv\scripts\COMINF-ESOCK-RSocketServ-PublicAPI-Other.script

  • …\os\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rsocketserv\scripts\COMINF-ESOCK-RSocketServ-PublicAPI-TCP.script

  • …\os\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rsocketserv\scripts\COMINF-ESOCK-RSocketServ-PublicAPI-UDP.script

  • ...\os\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rsubconnetion\scripts\COMINF-ESOCK-RSubConnection-PublicAPI-Other.script

  • ...\os\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rsubconnetion\scripts\COMINF-ESOCK-RSubConnection-PublicAPI-TCP.script

  • ...\os\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rsubconnetion\scripts\COMINF-ESOCK-RSubConnection-PublicAPI-UDP.script

Test Script EPOC tree location

When the tests are built for emulator or hardware (WINSCW or ARMV5), the scripts are exported into the following location in the epoc tree.

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\COMINF-ESOCK-RConnection-PublicAPI-Other.script

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\COMINF-ESOCK-RConnection-PublicAPI-TCP.script

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\COMINF-ESOCK-RConnection-PublicAPI-UDP.script

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\COMINF-ESOCK-RSocket-PublicAPI-Other.script

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\COMINF-ESOCK-RSocket-PublicAPI-TCP.script

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\COMINF-ESOCK-RSocket-PublicAPI-UDP.script

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\COMINF-ESOCK-RSocketServ-PublicAPI-Other.script

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\COMINF-ESOCK-RSocketServ-PublicAPI-TCP.script

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\COMINF-ESOCK-RSocketServ-PublicAPI-UDP.script

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\COMINF-ESOCK-RSubConnection-PublicAPI-Other.script

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\COMINF-ESOCK-RSubConnection-PublicAPI-TCP.script

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\COMINF-ESOCK-RSubConnection-PublicAPI-UDP.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\comms-infras\esock.

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

Following list indicates the location of the test data files for each sub-component:

  • ...\os\commsfw\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rconnection\testdata\COMINF-ESOCK-RConnection-PublicAPI.ini

  • ...\os\commsfw\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rconnection\testdata\data.txt

  • ...\os\commsfw\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rsocket\testdata\COMINF-ESOCK-RSocket-PublicAPI-other.ini

  • ...\os\commsfw\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rsocket\testdata\COMINF-ESOCK-RSocket-PublicAPI-TCP.ini

  • ...\os\commsfw\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rsocket\testdata\COMINF-ESOCK-RSocket-PublicAPI-UDP.ini

  • ...\os\commsfw\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rsocket\testdata\data.txt

  • ...\os\commsfw\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rsocketserv\testdata\COMINF-ESOCK-RSocketServ-PublicAPI.ini

  • ...\os\commsfw\commsinfrastructureapitest\commsinfrastructuresvs\suite\esock\t_rsubconnection\testdata\COMINF-ESOCK-RSubConnection-PublicAPI.ini

This is the global environment file:

...\os\commsfw\v<Symbian platform baseline>\testproduct\testdata\t_comms-infras.ini

Note: The t_comms-infras.ini is generated by InsertIpAddr.bat based on t_comms-infras.env file. For more information, refer to Comms-infras Test Technology.

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\comms-infras\esock\T_RConnection\COMINF-ESOCK-RConnection-PublicAPI.ini

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\T_RConnection\data.txt

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\T_RSocket\COMINF-ESOCK-RSocket-PublicAPI-other.ini

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\T_RSocket\COMINF-ESOCK-RSocket-PublicAPI-TCP.ini

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\T_RSocket\COMINF-ESOCK-RSocket-PublicAPI-UDP.ini

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\T_RSocket\data.txt

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\T_RSocketServ\COMINF-ESOCK-RSocketServ-PublicAPI.ini

  • %EPOCROOT%\epoc32\data\Z\comms-infras\esock\T_RSubConnection\COMINF-ESOCK-RSubConnection-PublicAPI.ini

  • %EPOCROOT%\epoc32\data\Z\comms-infras\t_comms-infras.ini

Test Data Files Emulator Location

The build process builds the data files to the following location: %EPOCROOT%\epoc32\release\<winscw|armv5>\<udeb|urel>\Z\comms-infras\esock\t_<class name>.

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 found in …\os\commsfw\commsinfrastructureapitest\commsinfrastructuresvs\suite\testsuites\comms-infras 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\commsfw\commsinfrastructureapitest\commsinfrastructuresvs\suite\config\t_comms-infras.tcs

TCS File Build Location

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

%EPOCROOT%\epoc32\release\<winscw|armv5>\<udeb|urel>\Z\comms-infras\

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

Test Environment and Execution

Refer to the Comms-infras Test Technology Document for details regarding the test environment and execution procedure.

Remote side test environment setup

The standard PC environment setup does not support some RConnection tests. This is because these tests change the properties of the PC to device connection. These tests are in the Extracted-COMINF-ESOCK-RConnection-PublicApi.script file, and can be run with a special environmental set up. The Extracted-COMINF-ESOCK-RConnection-PublicAPI.script describes the environment required to run each test. This script must be run manually.

The following RConnection tests retrieve settings from the Comms DB and verify that their values are correct:

COMINF-ESOCK-RConnection-PublicAPI-0027
COMINF-ESOCK-RConnection-PublicAPI-0028
COMINF-ESOCK-RConnection-PublicAPI-0029
COMINF-ESOCK-RConnection-PublicAPI-0030
COMINF-ESOCK-RConnection-PublicAPI-0031
COMINF-ESOCK-RConnection-PublicAPI-0032
COMINF-ESOCK-RConnection-PublicAPI-0033
COMINF-ESOCK-RConnection-PublicAPI-0034
COMINF-ESOCK-RConnection-PublicAPI-0035
COMINF-ESOCK-RConnection-PublicAPI-0036
COMINF-ESOCK-RConnection-PublicAPI-0037
COMINF-ESOCK-RConnection-PublicAPI-0038
COMINF-ESOCK-RConnection-PublicAPI-0039
COMINF-ESOCK-RConnection-PublicAPI-0040
COMINF-ESOCK-RConnection-PublicAPI-0041
COMINF-ESOCK-RConnection-PublicAPI-0042
COMINF-ESOCK-RConnection-PublicAPI-0043
COMINF-ESOCK-RConnection-PublicAPI-0046
COMINF-ESOCK-RConnection-PublicAPI-0047
COMINF-ESOCK-RConnection-PublicAPI-0048
COMINF-ESOCK-RConnection-PublicAPI-0049
COMINF-ESOCK-RConnection-PublicAPI-0092
COMINF-ESOCK-RConnection-PublicAPI-0093
COMINF-ESOCK-RConnection-PublicAPI-0094
COMINF-ESOCK-RConnection-PublicAPI-0095
COMINF-ESOCK-RConnection-PublicAPI-0096
COMINF-ESOCK-RConnection-PublicAPI-0097

Therefore, certain fields must exist in the Comms DB and their values must be as expected. This can be ensured by using the supplied CommDbCommsInfras.xml file to create the Comms DB (see Comms-infras Test Technology) for instructions on how to do this. Alternatively, it needs to be ensured that the following fields (and their values) exist in the Comms DB:


Location\PauseAfterDialout = 0
Location\Mobile = false
Location\Name = Office
LANService\IfNetworks = ip
IAP\id = 6

Exclusion of Packet Switched Data (PSD) Tests

The default connection in the test environment is NTRAS, which is based on Circuit Switch Data (CSD). However, RSubConnection tests and COMINF-ESOCK-RSocket-PublicAPI-0024 test case are based on Packet Switched Data (PSD). Therefore, these tests are valid only on PSD.

These tests are automatically excluded from execution by using the following .tcs files:

  • COMINF-ESOCK-RSocket-PublicAPI-TCP.tcs

  • COMINF-ESOCK-RSubConnection-PublicAPI-Other.tcs

  • COMINF-ESOCK-RSubConnection-PublicAPI-TCP.tcs

  • COMINF-ESOCK-RSubConnection-PublicAPI-UDP.tcs

See Comms-infras Test Technology for execution details when executing the tests manually.

Note: If the PSD environment is available, then the excluded tests can be included by deleting the test case IDs from the .tcs files.

Support

For support issues relating to this Test Suite description and issues surrounding the running of the tests, test pass rates, and potential defects, contact Symbian or your SDK provider. In most instances, this will be either through the SDK provider forums, or the developer area of the Symbian Web site.