sensorservices/sensorserver/tsrc/sensorsrvtest/conf/SensorTestModule_OOM.cfg
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 19 Mar 2010 09:58:42 +0200
changeset 12 e978f818f9bd
permissions -rw-r--r--
Revision: 201007 Kit: 201011

/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "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:
*
* Description:  ?Description
*
*/


// Publish&Subscribe definitions
// From SensrvInternalPSKeys.h
[Define]
KSensrvLeaveFirstStubConstruction 1
KSensrvLeaveSecondStubConstruction 2
KSensrvStubConstructionDelay 3
KSensrvFirstStubChannelCount 4
KSensrvSecondStubChannelCount 5
KSensrvLatestOpenedChannel 6
KSensrvLatestClosedChannel 7
KSensrvLatestStartListeningChannel 8
KSensrvLatestStopListeningChannel 9
KSensrvSamplingInterval 10
KSensrvStubConstructionJam 11
KSensrvStartListeningJam 12
KSensrvStopListeningJam 13
KSensrvOpenChannelAsyncJam 14
KSensrvCloseChannelAsyncJam 15
KSensrvChannelOpenedError 16
KSensrvChannelClosedError 17
KSensrvStartListeningLeave 18
KSensrvStopListeningLeave 19
KSensrvDataListeningJam 20
KSensrvDataListeningBufferFilledError 21
KSensrvForceBufferFilledJam 22
KSensrvForceBufferFilledLeave 23
KSensrvOpenChannelMethodJam 24
KSensrvCloseChannelMethodJam 25
KSensrvOpenChannelError 26
KSensrvCloseChannelError 27
KSensrvChannelOpenedWithError 28
KSensrvPropertyChanged 29
KSensrvOpenChannelMethodPanic 30
KSensrvOpenChannelAsyncPanic 31
KSensrvCloseChannelMethodPanic 32
KSensrvCloseChannelAsyncPanic 33
KSensrvStartListeningMethodPanic 34
KSensrvDataListeningPanic 35
KSensrvStopListeningMethodPanic 36
KSensrvStopListeningAsyncPanic 37
KSensrvForceBufferFilledPanic 38
KSensrvSSYUnloadingCount 39
KSensrvBufferFilledNegativeCount 40
KSensrvGetAllPropertyCount 41
KSensrvGetPropertyLeave 42
KSensrvGetPropertyJam 43
KSensrvSetPropertyLeave 44
KSensrvSetPropertyJam 45
KSensrvGetAllPropertiesLeave 46
KSensrvGetAllPropertiesJam 47
KSensrvGetPropertyPanic 48;
KSensrvSetPropertyPanic 49;
KSensrvGetAllPropertiesPanic 50;
KSensrvCheckPropertyDependenciesLeave 51
KSensrvCheckPropertyDependenciesJam 52
KSensrvCheckPropertyDependenciesPanic 53
KSensrvGetDataOverflowTest 54
KSensrvGetDataNotFoundTest 55
KSensorTestModuleProcessCommand 56
KSensrvSingleBufferFilledNegativeCount 57
KSensrvCreateNewChannelsFirst 58
KSensrvCreateNewChannelsSecond 59
KSensrvRemoveNewChannelsFirst 60
KSensrvRemoveNewChannelsSecond 61
KSensrvRegisterZeroChannels 62
KSensrvRegisterInvalidChannels 63
KSensrvFirstStubDoubleTappingChannelCount 64
KSensrvSetPropertyArray 65
KSensrvCheckPluginLoaded 66

KSensrvSignalAftedDataReseived 100
KSensrvWaitTestCompletion 101

KSensorTestModuleComplete1 200
KSensorTestModuleComplete2 201
KSensorTestModuleComplete3 202
KSensorTestModuleComplete4 203
KSensorTestModuleComplete5 204
KSensorTestModuleComplete6 205
KSensorTestModuleComplete7 206
KSensorTestModuleComplete8 207
KSensorTestModuleComplete9 208
KSensorTestModuleComplete10 209 
KSensorTestModuleComplete11 210 
KSensorTestModuleComplete12 211 
KSensorTestModuleComplete13 212 
KSensorTestModuleComplete14 213 
KSensorTestModuleComplete15 214

// Errors
KErrNotFound -1
KErrGeneral -2
KErrCancel -3
KErrNoMemory -4
KErrNotSupported -5
KErrArgument -6
KErrOverflow -9
KErrAlreadyExists -11
KErrPermissionDenied -46
KErrAccessDenied -21

ESensrvMinor 1
ESensrvFatal 2

// Property from sensrvgeneralproperties.h
KSensrvPropIdDataRate 2
KSensrvPropIdAvailability 4
KSensrvPropIdMeasureRange 5
KSensrvPropIdChannelScale 9
KSensrvSensorDescription 19

// Commands for test process (SensorTestModuleTypes.h)
KProcessCommandSetProperty  1
KProcessCommandOpenChannel  2
KProcessCommandCloseChannel 3
KProcessCommandFindChannel  4

// Condition enumerations
ESensrvOrConditionSet 0
ESensrvAndConditionSet 1

ESensrvSingleLimitCondition 0
ESensrvRangeConditionLowerLimit 1
ESensrvRangeConditionUpperLimit 2
ESensrvBinaryCondition 3

ESensrvOperatorEquals 0
ESensrvOperatorGreaterThan 1
ESensrvOperatorGreaterThanOrEquals 2
ESensrvOperatorLessThan 3
ESensrvOperatorLessThanOrEquals 4
ESensrvOperatorBinaryAnd 5
ESensrvOperatorBinaryAll 6

KSensorTestModuleEventChannelType 519761901
KSensrvChannelIdAccelerometerXYZAxisData 270553214
KSensrvChannelTypeIdAccelerometerDoubleTappingData 270553217

KSensrvAccelerometerDataItemSize 20
KSensrvEventChannelDataItemSize 16
KSensrvDoubleTappingDataItemSize 12

iAxisX 1
iAxisY 2
iAxisZ 3

iTimeStampFromEventPlugin 0
iTimeStampFromAccelerometerPlugin 1

iDirection 1

KSensrvUncertainExpectedValue 99999999

// Change types
ESensrvChannelRemoved 1
ESensrvChannelAdded 2

// SetPropertyIndication types
ESetPropertyIndicationUnknown 0
ESetPropertyIndicationAvailable 1
ESetPropertyIndicationPossible 2
ESetPropertyIndicationUnavailable 3

//OOM Testing
KNumberToRepeatOOMTest 5
[Enddefine]


[StifSettings]
// Add stif settings here
CheckHeapBalance= on
[EndStifSettings]

[Test]
title Check plugin loaded just once channel opened
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5


testClass ShutdownServer
pause 2000
testClass StartServer
pause 2000
testClass GetPSValue KSensrvCheckPluginLoaded 0
testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass GetPSValue KSensrvCheckPluginLoaded 1
testClass ShutdownServer

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
[Endtest] 

[Test]
title Open and Close two channels
create SensorTestModule testClass
create SensorTestModule testClass1

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 OpenChannel 0 0 0 0 0 First2 VendorFirst
testClass1 CloseChannel
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]



[Test]
title Start server without Ssystubs
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass ShutdownServer
testClass SetPSValue KSensrvLeaveFirstStubConstruction KErrNoMemory
testClass SetPSValue KSensrvLeaveSecondStubConstruction KErrNoMemory
testClass StartServer
pause 3000
testClass ShutdownServer

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
[Endtest] 

[Test]
title Start server with one Ssystub
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass ShutdownServer
testClass SetPSValue KSensrvLeaveFirstStubConstruction KErrNoMemory
testClass StartServer
pause 3000
testClass ShutdownServer

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
[Endtest] 

[Test]
title Start server with two Ssystub
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass ShutdownServer
testClass StartServer
pause 3000
testClass ShutdownServer

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
[Endtest] 


// Invalid because of new static channel registration
/*
[Test]
title Start server with zero and one channel
create SensorTestModule testClass
testClass ShutdownServer
testClass SetPSValue KSensrvFirstStubChannelCount 0
testClass SetPSValue KSensrvSecondStubChannelCount 1
testClass StartServer
pause 3000
testClass ShutdownServer
delete testClass
[Endtest] 
*/


[Test]
title Create and destroy channel finder
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass CreateAndDestroyChannelFinder
testClass ShutdownServer

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
[Endtest] 

[Test]
title Create two channel finders
create SensorTestModule testClass
create SensorTestModule testClass1

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass CreateAndDestroyChannelFinder
testClass1 CreateAndDestroyChannelFinder
testClass ShutdownServer

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
[Endtest] 

[Test]
title Find channel: Find all channels
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass FindChannels 0 0 0 0 0

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest] 

[Test]
title Find channel: Find one channel "First1 VendorFirst"
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass FindChannels 0 0 0 0 0 First1 VendorFirst

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest] 

[Test]
title Find channels: Channel not found "Second1 VendorFirst"
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass FindChannels 0 0 0 0 0 Second1 VendorFirst

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest] 

[Test]
title Find channels: Requery
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvFirstStubChannelCount 10
testClass SetPSValue KSensrvSecondStubChannelCount 3
testClass FindChannels 0 0 0 0 0

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest] 

[Test]
title Find channels: Ssystubs construction jam
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvStubConstructionJam 1
testClass FindChannels 0 0 0 0 0

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest] 

[Test]
title Find channels: Ssystubs construction delay
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvStubConstructionDelay 5
testClass FindChannels 0 0 0 0 0

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest] 

[Test]
title Find channels: Ssystubs construction delay(two client)
create SensorTestModule testClass
testClass SetCompletedKey KSensorTestModuleComplete1
create SensorTestModule testClass1
testClass1 SetCompletedKey KSensorTestModuleComplete2

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetPSValue KSensrvStubConstructionDelay 5
testClass SetPSValue KSensrvWaitTestCompletion 0
testClass FindChannels 0 0 0 0 0
testClass1 SetPSValue KSensrvWaitTestCompletion 1
testClass1 FindChannels 0 0 0 0 0
testClass WaitCompletedKey

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest] 

[Test]
title Find channels: Ssystubs construction delay(three client)
create SensorTestModule testClass
create SensorTestModule testClass1
create SensorTestModule testClass2

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass2 SetCompletedKey KSensorTestModuleComplete3
testClass SetPSValue KSensrvStubConstructionDelay 5
testClass SetPSValue KSensrvWaitTestCompletion 0
testClass FindChannels 0 0 0 0 0
testClass1 FindChannels 0 0 0 0 0
testClass2 SetPSValue KSensrvWaitTestCompletion 1
testClass2 FindChannels 0 0 0 0 0
testClass WaitCompletedKey
testClass1 WaitCompletedKey

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
delete testClass2
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Find channel: Find all channels(CAP_SERVER capabilities)
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass CreateNewProcess 1
testClass SetProcessPSValue 1 KProcessCommandFindChannel 0 0 0 0
testClass WaitCompletedKey
testClass KillProcess

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Find channel: Find all channels(WriteDeviceData capabilities)
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass CreateNewProcess 3
testClass SetProcessPSValue 3 KProcessCommandFindChannel 0 0 0 0
testClass WaitCompletedKey
testClass KillProcess

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Find channel: Find all channels(ReadDeviceData capabilities)
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass CreateNewProcess 4
testClass SetProcessPSValue 4 KProcessCommandFindChannel 0 0 0 0
testClass WaitCompletedKey
testClass KillProcess

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Open and Close channel
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Open channel twice
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
allownextresult KErrAlreadyExists
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Open and Close two channels
create SensorTestModule testClass
create SensorTestModule testClass1

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 OpenChannel 0 0 0 0 0 First2 VendorFirst
testClass1 CloseChannel
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Open channel asynchronous error
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvChannelOpenedWithError KErrGeneral
allownextresult KErrGeneral
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetPSValue KSensrvChannelOpenedWithError 0
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Open channel return error
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvOpenChannelError KErrGeneral
allownextresult KErrGeneral
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetPSValue KSensrvOpenChannelError 0
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Close channel return error
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetPSValue KSensrvCloseChannelError KErrGeneral
testClass CloseChannel
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetPSValue KSensrvCloseChannelError 0
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title SSY do not call ChannelOpened
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvChannelOpenedError 1
allownextresult KErrCancel
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetPSValue KSensrvChannelOpenedError 0
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title SSY do not call ChannelClosed
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvChannelClosedError 1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass CloseChannel
testClass SetPSValue KSensrvChannelClosedError 0
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Listening: Start listening twice
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvSamplingInterval 100
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 15 10000 3
allownextresult KErrAlreadyExists
testClass StartDataListening 15 10000 3
testClass WaitCompletedKey
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Listening: two channels
create SensorTestModule testClass
create SensorTestModule testClass1

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 22 1000 5
testClass1 OpenChannel 0 0 0 0 0 Second0 VendorSecond
testClass1 StartDataListening 22 1000 10
testClass WaitCompletedKey
testClass CloseChannel
delete testClass
testClass1 WaitCompletedKey
testClass1 CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest] 

[Test]
title Listening: two same channels:
create SensorTestModule testClass
create SensorTestModule testClass1

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 22 1000 5
testClass1 OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 StartDataListening 22 1000 10
testClass WaitCompletedKey
testClass CloseChannel
testClass1 WaitCompletedKey
testClass1 CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest] 

[Test]
title Listening: Start listening Leave
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvStartListeningLeave KErrGeneral
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
allownextresult KErrGeneral
testClass StartDataListening 15 10000 3
testClass SetPSValue KSensrvStartListeningLeave 0
testClass StartDataListening 15 10000 3
testClass WaitCompletedKey
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Listening: Stop listening Leave
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvStopListeningLeave KErrGeneral
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 15 10000 3
testClass WaitCompletedKey
testClass SetPSValue KSensrvStopListeningLeave 0
testClass StartDataListening 15 10000 3
testClass WaitCompletedKey

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Listening: Start listening when channel is not open
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass FindChannels 0 0 0 0 0 First1 VendorFirst
allownextresult KErrNotFound
testClass StartListeningWhenChannelIsNotOpen 15 10000 3

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Listening: ForceBufferFilled Leave
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvForceBufferFilledLeave KErrGeneral
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetPSValue KSensrvSamplingInterval 200
testClass StartDataListening 22 1000 10
testClass WaitCompletedKey
testClass SetPSValue KSensrvForceBufferFilledLeave 0
testClass StartDataListening 22 1000 10
testClass WaitCompletedKey
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Listening: GetData overflow test
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetPSValue KSensrvGetDataOverflowTest 1
testClass StartDataListening 10 1000 5
allownextresult KErrOverflow
testClass WaitCompletedKey
testClass SetPSValue KSensrvGetDataOverflowTest 0
testClass StartDataListening 10 1000 5
testClass WaitCompletedKey
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Listening: GetData 'data not found' test
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetPSValue KSensrvGetDataNotFoundTest 1
testClass StartDataListening 10 1000 5
allownextresult KErrNotFound
testClass WaitCompletedKey
testClass SetPSValue KSensrvGetDataNotFoundTest 0
testClass StartDataListening 10 1000 5
testClass WaitCompletedKey
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Listening: Sample size 1
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvSamplingInterval 200
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 1 10000 10
testClass WaitCompletedKey
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Listening: One per channel, six channels
create SensorTestModule testClass
create SensorTestModule testClass1
create SensorTestModule testClass2
create SensorTestModule testClass3
create SensorTestModule testClass4
create SensorTestModule testClass5

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass2 SetCompletedKey KSensorTestModuleComplete3
testClass3 SetCompletedKey KSensorTestModuleComplete4
testClass4 SetCompletedKey KSensorTestModuleComplete5
testClass5 SetCompletedKey KSensorTestModuleComplete6
testClass SetPSValue KSensrvSamplingInterval 10
testClass SetPSValue KSensrvFirstStubChannelCount 10
testClass OpenChannel 0 0 0 0 0 First0 VendorFirst
testClass StartDataListening 10 0 200
testClass1 OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 StartDataListening 3 0 600
testClass2 OpenChannel 0 0 0 0 0 First2 VendorFirst
testClass2 StartDataListening 1 0 2000
testClass3 OpenChannel 0 0 0 0 0 First3 VendorFirst
testClass3 StartDataListening 1 10 2000
testClass4 OpenChannel 0 0 0 0 0 First4 VendorFirst
testClass4 StartDataListening 3 30 600
testClass5 OpenChannel 0 0 0 0 0 First5 VendorFirst
testClass5 StartDataListening 10 100 200
testClass WaitCompletedKey
testClass CloseChannel
testClass1 WaitCompletedKey
testClass1 CloseChannel
testClass2 WaitCompletedKey
testClass2 CloseChannel
testClass3 WaitCompletedKey
testClass3 CloseChannel
testClass4 WaitCompletedKey
testClass4 CloseChannel
testClass5 WaitCompletedKey
testClass5 CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
delete testClass2
delete testClass3
delete testClass4
delete testClass5
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest] 

[Test]
title Listening: Restarting listening
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetPSValue KSensrvSamplingInterval 10
testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 3 10000 40
testClass WaitCompletedKey
testClass CloseChannel
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 5 10000 30
testClass WaitCompletedKey
testClass StartDataListening 4 10000 20
testClass WaitCompletedKey
testClass StartDataListening 3 10000 10
testClass WaitCompletedKey
testClass StartDataListening 2 10000 5
testClass WaitCompletedKey
testClass StartDataListening 1 10000 1
testClass WaitCompletedKey
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Listening: Extreme values
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetPSValue KSensrvSamplingInterval 10
testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 2000000000 2000000000 10
testClass WaitCompletedKey
//testClass StartDataListening 0 0 10
//testClass WaitCompletedKey
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Listening: Buffer write error (negative count on buffer filled)
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetPSValue KSensrvBufferFilledNegativeCount 1
testClass StartDataListening 15 10000 2
allownextresult ESensrvMinor
testClass WaitCompletedKey
allownextresult ESensrvFatal
testClass WaitCompletedKey
testClass SetPSValue KSensrvBufferFilledNegativeCount 0
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 15 10000 2
testClass WaitCompletedKey
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title SSY Unloading: Unloading after normal close
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 15 10000 1
testClass WaitCompletedKey
testClass CloseChannel
testClass WaitSSYUnloading 1

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title SSY Unloading: Unloading after open error
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvOpenChannelError KErrGeneral
allownextresult KErrGeneral
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass WaitSSYUnloading 1

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title SSY Unloading: Unloading after close error
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 15 10000 1
testClass WaitCompletedKey
testClass SetPSValue KSensrvCloseChannelError KErrGeneral
testClass CloseChannel
testClass WaitSSYUnloading 1

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title SSY Unloading: Unloading after server start
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass FindChannels 0 0 0 0 0 First1 VendorFirst
testClass WaitSSYUnloading 2 // 2 dynamic channel SSYs are loaded when FindChannels queries all channels to verify result

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: Set and Get a property. Property type TInt
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetProperty KSensrvPropIdDataRate 1 200
testClass GetProperty KSensrvPropIdDataRate 1 200
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: Set and Get a property. Property type TReal
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetProperty KSensrvPropIdMeasureRange 1 200
testClass GetProperty KSensrvPropIdMeasureRange 1 200
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: Set and Get a property. Property type TDes
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetProperty KSensrvSensorDescription 1 test
testClass GetProperty KSensrvSensorDescription 1 test
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: Get all properties
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvGetAllPropertyCount 10
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass GetAllProperties
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: Get all properties ( Requery )
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvGetAllPropertyCount 50
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass GetAllProperties
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: Get array property
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvSetPropertyArray 3
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass GetAllPropertiesWithPropertyId
testClass GetAllPropertiesWithArrayIndex
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property Listening: Start and stop property listening
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvPropertyChanged 500 ms
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartPropertyListening
pause 2000 // pause for 2 seconds
testClass StopPropertyListening
testClass CheckPropertyChangedCount
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property Listening: Start property listening twice
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvPropertyChanged 500 ms
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartPropertyListening
allownextresult KErrAlreadyExists
testClass StartPropertyListening
pause 2000 // pause for 2 seconds
testClass StopPropertyListening
testClass CheckPropertyChangedCount
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property Listening: Start and stop property and data listening 
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvPropertyChanged 500 ms
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 20 10000 30
testClass StartPropertyListening
pause 2000 // pause for 2 seconds
testClass StopPropertyListening
testClass WaitCompletedKey
testClass CheckPropertyChangedCount
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property Listening: Restart property listening 
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvPropertyChanged 200 ms
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 20 10000 30
testClass StartPropertyListening
pause 1000 // pause for 1 seconds
testClass StopPropertyListening
testClass CheckPropertyChangedCount
pause 1000 // pause for 1 seconds
testClass CheckPropertyChangedCount 0
testClass StartPropertyListening
pause 1000 // pause for 1 seconds
testClass StopPropertyListening
testClass CheckPropertyChangedCount
testClass WaitCompletedKey
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property Listening: Three clients listening
create SensorTestModule testClass1
testClass1 SetCompletedKey KSensorTestModuleComplete1
create SensorTestModule testClass2
testClass2 SetCompletedKey KSensorTestModuleComplete2
create SensorTestModule testClass3

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass3 SetCompletedKey KSensorTestModuleComplete3
testClass1 OpenChannel 0 0 0 0 0 First0 VendorFirst
testClass2 OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass3 OpenChannel 0 0 0 0 0 First2 VendorFirst
testClass1 StartDataListening 10 10000 30
testClass2 StartDataListening 10 10000 30
testClass3 StartDataListening 10 10000 30
testClass1 StartPropertyListening
testClass2 StartPropertyListening
testClass3 StartPropertyListening
testClass1 SetProperty KSensrvPropIdDataRate 1 200
testClass1 SetProperty KSensrvPropIdMeasureRange 1 200
testClass1 SetProperty KSensrvSensorDescription 1 test
testClass2 SetProperty KSensrvPropIdDataRate 1 200
testClass2 SetProperty KSensrvPropIdMeasureRange 1 200
testClass2 SetProperty KSensrvSensorDescription 1 test
testClass3 SetProperty KSensrvPropIdDataRate 1 200
testClass3 SetProperty KSensrvPropIdMeasureRange 1 200
testClass3 SetProperty KSensrvSensorDescription 1 test
pause 1000 // pause for 1 seconds
testClass1 CheckPropertyChangedCount 6
testClass2 CheckPropertyChangedCount 6
testClass3 CheckPropertyChangedCount 6
testClass1 StopPropertyListening
testClass2 StopPropertyListening
testClass3 StopPropertyListening
testClass1 WaitCompletedKey
testClass2 WaitCompletedKey
testClass3 WaitCompletedKey
testClass1 CloseChannel
testClass2 CloseChannel
testClass3 CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass1
delete testClass2
delete testClass3
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: SetProperty Leave
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetPSValue KSensrvSetPropertyLeave KErrPermissionDenied
allownextresult KErrPermissionDenied
testClass SetProperty KSensrvPropIdDataRate 1 200
testClass SetPSValue KSensrvSetPropertyLeave 0
testClass SetProperty KSensrvPropIdDataRate 1 200
testClass GetProperty KSensrvPropIdDataRate 1 200
testClass StartDataListening 10 10000 5
testClass WaitCompletedKey
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: SetProperty Leave when data listening and property listening
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 20 10000 30
testClass StartPropertyListening
testClass SetPSValue KSensrvSetPropertyLeave KErrPermissionDenied
allownextresult KErrPermissionDenied
testClass SetProperty KSensrvPropIdDataRate 1 200
testClass SetPSValue KSensrvSetPropertyLeave 0
create SensorTestModule testClass1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass1 OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 StartPropertyListening
testClass SetProperty KSensrvPropIdDataRate 1 200
testClass GetProperty KSensrvPropIdDataRate 1 200
testClass CheckPropertyChangedCount 0
testClass1 CheckPropertyChangedCount 1
testClass StopPropertyListening
testClass1 StopPropertyListening
testClass WaitCompletedKey
testClass CloseChannel
testClass1 CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: GetProperty Leave
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetPSValue KSensrvGetPropertyLeave KErrPermissionDenied
allownextresult KErrPermissionDenied
testClass GetProperty KSensrvPropIdDataRate 1 200
testClass SetPSValue KSensrvGetPropertyLeave 0
testClass SetProperty KSensrvPropIdDataRate 1 200
testClass GetProperty KSensrvPropIdDataRate 1 200
testClass StartDataListening 10 10000 5
testClass WaitCompletedKey
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: GetProperty Leave when data listening and property listening
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 30 10000 30
testClass StartPropertyListening
testClass SetPSValue KSensrvGetPropertyLeave KErrPermissionDenied
allownextresult KErrPermissionDenied
testClass GetProperty KSensrvPropIdDataRate 1 200
testClass SetPSValue KSensrvGetPropertyLeave 0
create SensorTestModule testClass1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass1 OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 StartPropertyListening
testClass SetProperty KSensrvPropIdDataRate 1 200
testClass GetProperty KSensrvPropIdDataRate 1 200
testClass CheckPropertyChangedCount 0
testClass1 CheckPropertyChangedCount 1
testClass StopPropertyListening
testClass1 StopPropertyListening
testClass WaitCompletedKey
testClass CloseChannel
testClass1 CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: GetAllProperties Leave
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvGetAllPropertyCount 10
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetPSValue KSensrvGetAllPropertiesLeave KErrPermissionDenied
allownextresult KErrPermissionDenied
testClass GetAllProperties
testClass SetPSValue KSensrvGetAllPropertiesLeave 0
testClass StartDataListening 10 10000 10
testClass GetAllProperties
testClass WaitCompletedKey
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: GetAllProperties Leave when data listening and property listening
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvGetAllPropertyCount 10
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 20 10000 30
testClass StartPropertyListening
testClass SetPSValue KSensrvGetAllPropertiesLeave KErrPermissionDenied
allownextresult KErrPermissionDenied
testClass GetAllProperties
testClass SetPSValue KSensrvGetAllPropertiesLeave 0
create SensorTestModule testClass1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass1 OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 StartPropertyListening
testClass GetAllProperties
testClass SetProperty KSensrvPropIdDataRate 1 200
pause 2000
testClass CheckPropertyChangedCount 0
testClass1 CheckPropertyChangedCount 1
testClass StopPropertyListening
testClass1 StopPropertyListening
testClass WaitCompletedKey
testClass CloseChannel
testClass1 CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: CheckPropertyDependenciesL Leave
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass SetPSValue KSensrvCheckPropertyDependenciesLeave KErrArgument
allownextresult KErrArgument
testClass SetProperty KSensrvPropIdDataRate 1 200
testClass SetPSValue KSensrvCheckPropertyDependenciesLeave 0
testClass SetProperty KSensrvPropIdDataRate 1 200
testClass GetProperty KSensrvPropIdDataRate 1 200
testClass StartDataListening 10 10000 5
testClass WaitCompletedKey
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: CheckPropertyDependenciesL Leave when data listening and property listening
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartDataListening 20 10000 30
testClass StartPropertyListening
testClass SetPSValue KSensrvCheckPropertyDependenciesLeave KErrArgument
allownextresult KErrArgument
testClass SetProperty KSensrvPropIdDataRate 1 200
testClass SetPSValue KSensrvCheckPropertyDependenciesLeave 0
create SensorTestModule testClass1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass1 OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 StartPropertyListening
testClass SetProperty KSensrvPropIdDataRate 1 200
testClass GetProperty KSensrvPropIdDataRate 1 200
testClass CheckPropertyChangedCount 0
testClass1 CheckPropertyChangedCount 1
testClass StopPropertyListening
testClass1 StopPropertyListening
testClass WaitCompletedKey
testClass CloseChannel
testClass1 CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: SetProperty - Capability test
create SensorTestModule testClass
create SensorTestModule testClass1

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartPropertyListening
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass1 OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 StartPropertyListening
allownextresult KErrPermissionDenied
testClass SetProperty KSensrvPropIdChannelScale 1 200
testClass SetProperty KSensrvPropIdDataRate 1 200
testClass GetProperty KSensrvPropIdDataRate 1 200
testClass StartDataListening 10 10000 5
testClass WaitCompletedKey
testClass CheckPropertyChangedCount 0
testClass1 CheckPropertyChangedCount 1
testClass CloseChannel
testClass1 CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: Set a property from multiple processes, set is denyed for process 2.
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass CreateNewProcess 2
testClass SetProcessPSValue 1 KProcessCommandOpenChannel 0 0 0 0
testClass WaitCompletedKey
testClass SetProcessPSValue 2 KProcessCommandOpenChannel 0 0 0 0
testClass WaitCompletedKey
testClass SetProcessPSValue 1 KProcessCommandSetProperty 0 KSensrvPropIdDataRate 1 200
testClass WaitCompletedKey
testClass SetProcessPSValue 2 KProcessCommandSetProperty -21 KSensrvPropIdDataRate 1 200
testClass WaitCompletedKey
testClass SetProcessPSValue 1 KProcessCommandCloseChannel 0 0 0 0
testClass WaitCompletedKey
testClass SetProcessPSValue 2 KProcessCommandCloseChannel 0 0 0 0
testClass WaitCompletedKey
testClass KillProcess
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]  
title Reg: SSY registers and removes new channels
create SensorTestModule testClass
create SensorTestModule testClass1

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 OpenChannel 0 0 0 0 0 First2 VendorFirst
testClass CloseChannel
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 0
testClass StartChannelChangeListening 0 0 0 0 0 NULL VendorNew
testClass AdjustChannels 4 VendorNew KSensrvCreateNewChannelsFirst  
testClass WaitCompletedKey
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 4
testClass OpenChannel 0 0 0 0 0 NULL VendorNew
testClass StartDataListening 15 10000 3
testClass WaitCompletedKey
testClass CloseChannel
testClass AdjustChannels 2 VendorNew KSensrvRemoveNewChannelsFirst
testClass SetPSValue KSensrvWaitTestCompletion 1
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 2
testClass StopChannelChangeListening 0 0 0 0 0 NULL VendorNew
testClass1 CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]  
title Reg: Restart listening after stopping it.
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass CloseChannel
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 0
testClass StartChannelChangeListening 0 0 0 0 0 NULL VendorNew
testClass AdjustChannels 4 VendorNew KSensrvCreateNewChannelsFirst  
testClass WaitCompletedKey
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 4
testClass AdjustChannels 2 VendorNew KSensrvRemoveNewChannelsFirst  
testClass WaitCompletedKey
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 2
testClass StopChannelChangeListening 0 0 0 0 0 NULL VendorNew
testClass AdjustChannels 5 VendorNew KSensrvCreateNewChannelsFirst 
pause 100 //0.1s
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 7
testClass StartChannelChangeListening 0 0 0 0 0 NULL VendorNew
testClass AdjustChannels 4 VendorNew KSensrvRemoveNewChannelsFirst  
testClass WaitCompletedKey
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 3
testClass StopChannelChangeListening 0 0 0 0 0 NULL VendorNew

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest] 

[Test]  
title Reg: Two SSYs register and remove new channels, with two listeners
create SensorTestModule testClass
create SensorTestModule testClass1

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass CloseChannel
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass1 OpenChannel 0 0 0 0 0 Second1 VendorSecond
testClass1 CloseChannel
testClass StartChannelChangeListening 0 0 0 0 0 NULL VendorNew
testClass1 StartChannelChangeListening 0 0 0 0 0 NULL VendorNew
pause 500
testClass AdjustChannels 7 VendorNew KSensrvCreateNewChannelsFirst 4
testClass1 AdjustChannels 7 VendorNew KSensrvCreateNewChannelsSecond 3
testClass WaitCompletedKey
testClass1 WaitCompletedKey
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 7
testClass AdjustChannels 4 VendorNew KSensrvRemoveNewChannelsFirst 2
testClass1 AdjustChannels 4 VendorNew KSensrvRemoveNewChannelsSecond 2
testClass WaitCompletedKey
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 3
testClass StopChannelChangeListening 0 0 0 0 0 NULL VendorNew
testClass1 StopChannelChangeListening 0 0 0 0 0 NULL VendorNew

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest] 

[Test]  
title Reg: SSY unregisters an active channel
create SensorTestModule testClass
create SensorTestModule testClass1

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetPSValue KSensrvSamplingInterval 100
testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass CloseChannel
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass1 OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 CloseChannel
testClass1 FindChannels 0 0 0 0 0 NULL VendorNew
testClass1 CheckFoundChannelCount 0
testClass1 AdjustChannels 1 VendorNew KSensrvCreateNewChannelsFirst  
pause 500
testClass1 StartChannelChangeListening 0 0 0 0 0 NULL VendorNew
testClass OpenChannel 0 0 0 0 0 NULL VendorNew
testClass StartDataListening 3 10000 30
pause 500
testClass1 AdjustChannels 1 VendorNew KSensrvRemoveNewChannelsFirst  
// Since the failure to open proxy completes quite fast, 
// it might be that minor error completion is not yet handled,
// when fatal comes, so allow both results for the wait
allownextresult ESensrvMinor
allownextresult ESensrvFatal
testClass WaitCompletedKey
testClass1 WaitCompletedKey
testClass1 FindChannels 0 0 0 0 0 NULL VendorNew
testClass1 CheckFoundChannelCount 0
testClass1 StopChannelChangeListening 0 0 0 0 0 NULL VendorNew
allownextresult KErrNotFound
testClass OpenChannel 0 0 0 0 0 NULL VendorNew

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest] 

[Test]  
title Reg: Previously registered and removed channels get correct id upon re-registration
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass CloseChannel
testClass StartChannelChangeListening 0 0 0 0 0 NULL VendorNew
pause 500
testClass AdjustChannels 20 VendorNew KSensrvCreateNewChannelsFirst  
testClass WaitCompletedKey
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 20
testClass StoreFoundChannels 1
testClass AdjustChannels 6 VendorNew KSensrvRemoveNewChannelsFirst  
testClass WaitCompletedKey
testClass AdjustChannels 10 VendorNew KSensrvCreateNewChannelsFirst  
testClass WaitCompletedKey
testClass AdjustChannels 21 VendorNew KSensrvRemoveNewChannelsFirst  
testClass WaitCompletedKey
testClass AdjustChannels 3 VendorNew KSensrvRemoveNewChannelsFirst  
testClass WaitCompletedKey
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 0
testClass AdjustChannels 11 VendorNew KSensrvCreateNewChannelsFirst 
testClass WaitCompletedKey
testClass AdjustChannels 2 VendorNew KSensrvRemoveNewChannelsFirst  
testClass WaitCompletedKey
testClass AdjustChannels 11 VendorNew KSensrvCreateNewChannelsFirst 
testClass WaitCompletedKey
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 20
testClass StoreFoundChannels 0
testClass AdjustChannels 20 VendorNew KSensrvRemoveNewChannelsFirst  
testClass WaitCompletedKey
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 0
testClass StopChannelChangeListening 0 0 0 0 0 NULL VendorNew

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: Start listening set success indicator, listener with same priority appears
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartPropertyListening
testClass CreateNewProcess 1
testClass SetProcessPSValue 1 KProcessCommandOpenChannel 0 0 0 0
testClass WaitCompletedKey
testClass CheckListenedSetPropertySuccessIndicator ESetPropertyIndicationPossible 1
testClass SetProcessPSValue 1 KProcessCommandSetProperty 0 KSensrvPropIdDataRate 1 200
testClass WaitCompletedKey
testClass CheckListenedSetPropertySuccessIndicator ESetPropertyIndicationUnavailable 1
//testClass WaitCompletedKey
testClass StopPropertyListening
testClass SetProcessPSValue 1 KProcessCommandCloseChannel 0 0 0 0
testClass WaitCompletedKey
testClass KillProcess
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: Start listening set success indicator, listener with same priority disappears
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartPropertyListening
testClass CreateNewProcess 1
testClass SetProcessPSValue 1 KProcessCommandOpenChannel 0 0 0 0
pause 2000
testClass SetProcessPSValue 1 KProcessCommandCloseChannel 0 0 0 0
pause 2000
testClass CheckListenedSetPropertySuccessIndicator ESetPropertyIndicationAvailable 2
testClass StopPropertyListening
testClass KillProcess
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: Start listening set success indicator, listener with lower priority appears
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartPropertyListening
testClass CreateNewProcess 2
testClass SetProcessPSValue 2 KProcessCommandOpenChannel 0 0 0 0
testClass WaitCompletedKey
testClass SetProcessPSValue 2 KProcessCommandSetProperty -21 KSensrvPropIdDataRate 1 200
testClass WaitCompletedKey
testClass CheckListenedSetPropertySuccessIndicator -1 0
testClass StopPropertyListening
testClass SetProcessPSValue 2 KProcessCommandCloseChannel 0 0 0 0
testClass WaitCompletedKey
testClass KillProcess
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: Start listening set success indicator, listener with lower priority disappears
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartPropertyListening
testClass CreateNewProcess 2
testClass SetProcessPSValue 2 KProcessCommandOpenChannel 0 0 0 0
pause 2000
testClass SetProcessPSValue 2 KProcessCommandCloseChannel 0 0 0 0
pause 2000
testClass CheckListenedSetPropertySuccessIndicator -1 0
testClass StopPropertyListening
testClass KillProcess
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: Start listening set success indicator, listener with higher priority appears
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartPropertyListening
testClass CreateNewProcess 3
testClass SetProcessPSValue 3 KProcessCommandOpenChannel 0 0 0 0
testClass SetProcessPSValue 3 KProcessCommandSetProperty 0 KSensrvPropIdDataRate 1 200
testClass WaitCompletedKey
testClass CheckListenedSetPropertySuccessIndicator ESetPropertyIndicationUnavailable 1
testClass StopPropertyListening
testClass SetProcessPSValue 3 KProcessCommandCloseChannel 0 0 0 0
testClass WaitCompletedKey
testClass KillProcess
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: Start listening set success indicator, listener with higher priority disappears
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartPropertyListening
testClass CreateNewProcess 3
testClass SetProcessPSValue 3 KProcessCommandOpenChannel 0 0 0 0
pause 2000
testClass SetProcessPSValue 3 KProcessCommandCloseChannel 0 0 0 0
pause 2000
testClass CheckListenedSetPropertySuccessIndicator ESetPropertyIndicationAvailable 2
testClass StopPropertyListening
testClass KillProcess
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Property: Start listening set success indicator, listener with higher priority disappears but same remains
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass StartPropertyListening
testClass CreateNewProcess 3
testClass SetProcessPSValue 3 KProcessCommandOpenChannel 0 0 0 0
pause 2000
testClass CreateNewProcess 1
testClass SetProcessPSValue 1 KProcessCommandOpenChannel 0 0 0 0
pause 2000
testClass SetProcessPSValue 3 KProcessCommandCloseChannel 0 0 0 0
pause 2000
testClass CheckListenedSetPropertySuccessIndicator ESetPropertyIndicationPossible 2
testClass SetProcessPSValue 1 KProcessCommandCloseChannel 0 0 0 0
testClass StopPropertyListening
testClass KillProcess
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Auto-shutdown: start first client
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
pause 2000
testClass CheckServerAlive 1
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Auto-shutdown: start second client
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
allownextresult KErrAlreadyExists
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass CheckServerAlive 1
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Auto-shutdown: shutdown first client
create SensorTestModule testClass
create SensorTestModule testClass1

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 OpenChannel 0 0 0 0 0 First2 VendorFirst
testClass1 CloseChannel
delete testClass1
pause 5000
testClass CheckServerAlive 1
testClass CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Auto-shutdown: shutdown second client
create SensorTestModule testClass
create SensorTestModule testClass1

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 OpenChannel 0 0 0 0 0 First2 VendorFirst
testClass1 CloseChannel
testClass CloseChannel
pause 10000
testClass CheckServerAlive 0

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass1
delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title DynChannels: SSY loaded for query channels, channel is available
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvFirstStubChannelCount 11
pause 100
testClass SetPSValue KSensrvWaitTestCompletion 0
testClass FindChannels 0 0 0 0 0 First10 VendorFirst
testClass WaitCompletedKey
testClass CheckFoundChannelCount 1

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title DynChannels: SSY loaded for query channels, channel is unavailable
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvFirstStubChannelCount 10
pause 100
testClass SetPSValue KSensrvWaitTestCompletion 0
testClass FindChannels 0 0 0 0 0 First10 VendorFirst
testClass WaitCompletedKey
testClass CheckFoundChannelCount 0

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title DynChannels: SSY loaded for change listening
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass GetPSValue KSensrvCheckPluginLoaded 0
testClass StartChannelChangeListening 0 0 0 0 0 First10 VendorFirst
pause 100
testClass StopChannelChangeListening 0 0 0 0 0 NULL VendorFirst
testClass GetPSValue KSensrvCheckPluginLoaded 1

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title DynChannels: Change listening, SSY unload is denied
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass GetPSValue KSensrvCheckPluginLoaded 0
testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass GetPSValue KSensrvCheckPluginLoaded 1
testClass CloseChannel
testClass StartChannelChangeListening 0 0 0 0 0 First10 VendorFirst
testClass WaitSSYUnloading 0
testClass StopChannelChangeListening 0 0 0 0 0 NULL VendorFirst

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title DynChannels: Change listening, SSY unload is allowed
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass GetPSValue KSensrvCheckPluginLoaded 0
testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass GetPSValue KSensrvCheckPluginLoaded 1
testClass CloseChannel
testClass StartChannelChangeListening 0 0 0 0 0 First10 VendorFirst
testClass StopChannelChangeListening 0 0 0 0 0 NULL VendorFirst
testClass WaitSSYUnloading 1

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title DynChannels: Two clients change listening, SSY unload is denied
create SensorTestModule testClass
create SensorTestModule testClass1

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass GetPSValue KSensrvCheckPluginLoaded 0
testClass SetCompletedKey KSensorTestModuleComplete1
testClass1 SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass GetPSValue KSensrvCheckPluginLoaded 1
testClass CloseChannel
testClass1 OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 CloseChannel
testClass StartChannelChangeListening 0 0 0 0 0 First10 VendorFirst
testClass1 StartChannelChangeListening 0 0 0 0 0 First10 VendorFirst
testClass WaitSSYUnloading 0
testClass StopChannelChangeListening 0 0 0 0 0 NULL VendorFirst
testClass1 StopChannelChangeListening 0 0 0 0 0 NULL VendorFirst

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title DynChannels: Two clients change listening, SSY unload is allowed
create SensorTestModule testClass
create SensorTestModule testClass1

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass GetPSValue KSensrvCheckPluginLoaded 0
testClass SetCompletedKey KSensorTestModuleComplete1

testClass1 SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass GetPSValue KSensrvCheckPluginLoaded 1
testClass CloseChannel
testClass1 OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 CloseChannel
testClass StartChannelChangeListening 0 0 0 0 0 First10 VendorFirst
testClass1 StartChannelChangeListening 0 0 0 0 0 First10 VendorFirst
testClass StopChannelChangeListening 0 0 0 0 0 NULL VendorFirst
testClass1 StopChannelChangeListening 0 0 0 0 0 NULL VendorFirst
testClass WaitSSYUnloading 1

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Dependent Channels: Open and Close two channels
create SensorTestModule testClass
create SensorTestModule testClass1

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass1 SetPSValue KSensrvChannelOpenedError KErrNotSupported
testClass1 OpenChannel 0 0 0 0 0 First2 VendorFirst
testClass GetProperty KSensrvPropIdAvailability 1 1
testClass1 GetProperty KSensrvPropIdAvailability 1 0
testClass CloseChannel
testClass1 GetProperty KSensrvPropIdAvailability 1 1
testClass1 CloseChannel

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

[Test]
title Dependent Channels: Three dependent channels, listener with higher priority appears for the unavailable channel
create SensorTestModule testClass
create SensorTestModule testClass1
create SensorTestModule testClass2

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass2 SetCompletedKey KSensorTestModuleComplete3
testClass2 OpenChannel 0 0 0 0 0 First2 VendorFirst 1
testClass1 SetCompletedKey KSensorTestModuleComplete2
testClass1 OpenChannel 0 0 0 0 0 First0 VendorFirst 1
testClass SetCompletedKey KSensorTestModuleComplete1
testClass SetPSValue KSensrvChannelOpenedError KErrNotSupported
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst 0
testClass GetProperty KSensrvPropIdAvailability 1 0
testClass1 GetProperty KSensrvPropIdAvailability 1 1
testClass2 GetProperty KSensrvPropIdAvailability 1 1
testClass CreateNewProcess 3
testClass SetProcessPSValue 3 KProcessCommandOpenChannel 0 0 0 0
testClass GetProperty KSensrvPropIdAvailability 1 0
testClass1 GetProperty KSensrvPropIdAvailability 1 1
testClass SetProcessPSValue 3 KProcessCommandCloseChannel 0 0 0 0
testClass WaitCompletedKey
testClass GetProperty KSensrvPropIdAvailability 1 1
testClass1 GetProperty KSensrvPropIdAvailability 1 1
testClass CloseChannel
testClass1 GetProperty KSensrvPropIdAvailability 1 1
testClass1 CloseChannel
testClass KillProcess

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass
delete testClass1
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]

// This case panics intensionally in debug builds
[Test]
title Reg: SSY registers zero channels (UDEB panics!)
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass CloseChannel
testClass SetPSValue KSensrvRegisterZeroChannels 0
pause 500
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 0
allownextresult KErrArgument
testClass GetPsResult KSensrvRegisterZeroChannels
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 0

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass 
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest] 

// This case panics intensionally in debug builds
[Test]
title Reg: SSY registers invalid channels (UDEB panics!)
create SensorTestModule testClass

oomignorefailure ON
loop KNumberToRepeatOOMTest
oomheapfailnext 5

testClass SetCompletedKey KSensorTestModuleComplete1
testClass OpenChannel 0 0 0 0 0 First1 VendorFirst
testClass CloseChannel
testClass SetPSValue KSensrvRegisterInvalidChannels 0
pause 500
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 0
allownextresult KErrArgument
testClass GetPsResult KSensrvRegisterInvalidChannels
testClass FindChannels 0 0 0 0 0 NULL VendorNew
testClass CheckFoundChannelCount 0

endloop
oomignorefailure OFF
oomheaptonormal

delete testClass 
create SensorTestModule sd
sd ShutdownServer
delete sd
[Endtest]