T_BTSdpAPI Test Suite

This topic describes the Bluetooth SDP (T_BTSdpAPI) Test Suite. 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.

The aim of the T_BTSdpAPI Test Suite is to provide and deliver a product quality set of test suites that can be used internally within Symbian, and by external groups who have access to the Symbian test source code.

T_BTSdpAPI Test suite

Test Suite overview

The T_BTSdpAPI Test Suite consists of several regression test suites that provide tests for the following classes:

  • CElementParser

  • CSdpAgent

  • CSdpAttrIdMatchList

  • CSdpAttrValue

  • CSdpAttrValueBoolean

  • CSdpAttrValueDEA

  • CSdpAttrValueDES

  • CSdpAttrValueInt

  • CSdpAttrValueList

  • CSdpAttrValueNil

  • CSdpAttrValueString

  • CSdpAttrValueURL

  • CSdpAttrValueUUID

  • CSdpAttrValueUint

  • CSdpSearchPattern

  • MSdpAgentNotifier

  • MSdpAttributeValueVisitor

  • MSdpElementBuilder

  • RSdp

  • RSdpDatabase

  • RSdpSubSession

  • SdpUtil

  • TSdpIntBuf

  • TSdpIntBuf<TUint16>

  • TSdpIntBuf<TUint32>

  • TSdpIntBuf<TUint64>

  • TSdpIntBuf<TUint8>

All APIs that Symbian classify as PublisedAll are tested within each class.

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

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

None.

Test suite details

Test script source tree location

Descriptions of the test cases in this test suite can be found at the following locations:

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-Agent-PublicApi-Unconnected.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-Agent-PublicApi-Active-Master.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-Agent-PublicApi-Passive-Master.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-Agent-PublicApi-Active-Slave.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-Agent-PublicApi-Passive-Slave.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-Database-PublicApi-Active-Master.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-Database-PublicApi-Passive-Master.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-Database-PublicApi-Active-Slave.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-Database-PublicApi-Passive-Slave.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-Lists-PublicApi-Unconnected.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-Lists-PublicApi-Active-Master.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-Lists-PublicApi-Passive-Master.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-Lists-PublicApi-Active-Slave.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-Lists-PublicApi-Passive-Slave.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-SearchPattern-PublicApi-Unconnected.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-SearchPattern-PublicApi-Active-Master.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-SearchPattern-PublicApi-Passive-Master.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-SearchPattern-PublicApi-Active-Slave.script

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\scripts\BT-SDP-SearchPattern-PublicApi-Passive-Slave.script

Test script EPOC tree location

When the tests are built, the scripts are first exported into the following location in the EPOC tree:

…%EPOCROOT%\epoc32\data\Z\bluetooth\sdp

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\bluetooth\sdp

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

The test data files can be found at the following locations:

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-Agent-PublicApi-Unconnected.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-Agent-PublicApi-Active-Master.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-Agent-PublicApi-Passive-Master.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-Agent-PublicApi-Active-Slave.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-Agent-PublicApi-Passive-Slave.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-Database-PublicApi-Active-Master.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-Database-PublicApi-Passive-Master.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-Database-PublicApi-Active-Slave.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-Database-PublicApi-Passive-Slave.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-Lists-PublicApi-Unconnected.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-Lists-PublicApi-Active-Master.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-Lists-PublicApi-Passive-Master.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-Lists-PublicApi-Active-Slave.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-Lists-PublicApi-Passive-Slave.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-SearchPattern-PublicApi-Unconnected.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-SearchPattern-PublicApi-Active-Master.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-SearchPattern-PublicApi-Passive-Master.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-SearchPattern-PublicApi-Active-Slave.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\BT-SDP-SearchPattern-PublicApi-Passive-Slave.ini

  • ...\bluetoothapitest\bluetoothsvs\T_BTSdpAPI\testdata\UccControlChannelConfig.ini

Test data EPOC tree location

When the tests are built, the test data files are first exported into the following location in the EPOC tree:

…%EPOCROOT%\epoc32\data\Z\bluetooth\sdp

Test data build location

When the tests are built, the test data files are built into the following location:

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

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 bluetooth.driver file is found in the following location:

…\bluetoothapitest\bluetoothsvs\testsuites\bluetooth

This 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 is built into the following location:

%EPOCROOT%\epoc32\testdriver\testproduct

TCS file source location

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

...\bluetoothapitest\bluetoothsvs\config\t_bluetooth.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\bluetooth\

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

UCCControlChannelConfig.ini file

The UccControlChannelConfig.ini file is used by the Master tests to configure the UCC commands to communicate with the Slave tests. This file contains the following sections:

Section Description
[UCCControl]
RemoteHost=10.29.0.136:1234

This section is used by the standard UCC service running on the Master PC. It only contains only an IP address, which must be set to the ip address of the Master PC. The port number is left as 1234, which is the default port number used by UCC.

[StartSyncService]
svcname=SyncService
methodid=1

This section is used to start the SyncService running on the Slave PC. It contains the name of the service and a method ID. These fields should not be changed.

[StopSyncService]
svcname=SyncService
methodid=2

This section is used to stop the SyncService running on the Slave PC. It contains the name of the service and a method ID. These fields should not be changed.

[StartSyncTestCase]
svcname=SyncService
call=StartSyncTestCase
num_params=0

This section is used to start a test case on the Slave device. It contains the name of the SyncService service, a call name and the number of parameters passed in. These fields should not be changed.

[RetrieveSyncTestCaseResult]
svcname=SyncService
call=RetrieveSyncTestCaseResult
num_params=0

This section is used to retrieve the result of a test case run on the Slave device. It contains the name of the SyncService service, a call name and the number of parameters passed in. These fields should not be changed.

[StartTDService]
svcname=TestDriverService
methodid=1

This section is used to start the TestDriverService running on the Slave PC. It contains the name of the service and a method ID. These fields should not be changed.

[StopTDService]
svcname=TestDriverService
methodid=2

This section is used to stop the TestDriverService running on the Slave PC. It contains the name of the service and a method ID. These fields should not be changed.

[BuildRunPassiveSlave]
svcname=TestDriverService
call=BuildRun
num_params=3
param_name_1=PLATFORM
param_value_1=WINSCW
param_name_2=BUILD
param_value_2=UREL
param_name_3=SUITE
param_value_3=bluetooth.slave.
        BT-SDP-PublicApi-
        Slave-suite.BTSDP-
        Agent-PublicApi-
        Passive-Slave-suite

This section is used to start a script running on the Slave device. It contains the name of the TestDriverService service, a call name and the number of parameters passed in. These fields should not be changed. It also contains the parameters passed into the service. These are platform, build and suite name. The platform used is always winscw (as the Slave device is always the emulator), the build type is usually urel and the suite name is the TestDriver suite that is to run on the Slave device

[RetrieveExecutionResultPassiveSlave]
svcname=TestDriverService
call=RetrieveExecutionResult
num_params=3
param_name_1=PLATFORM
param_value_1=WINSCW
param_name_2=BUILD
param_value_2=UREL
param_name_3=SUITE
param_value_3=bluetooth.slave.
        BT-SDP-PublicApi-
        Slave-suite.BTSDP-
        Agent-PublicApi-Passive-Slave-suite

This section is used to retrieve the results of a script running on the Slave device. It contains the name of the TestDriverService service, a call name and the number of parameters passed in. These fields should not be changed. It also contains the parameters passed into the service. These are platform, build and suite name. The platform used is always winscw (as the Slave device is always the emulator), the build type is usually urel and the suite name is the TestDriver suite that has been run on the Slave device.

Test environment and execution

Device setup

SeeBluetooth Test Technology for further information regarding test environment and build and execution procedure.

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 through the developer area of Symbian website.