datasourcemodules/networkpositioningmodule/test/scripts/te_lbsnetpsysuite.script
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 13 Oct 2010 16:07:50 +0300
branchRCL_3
changeset 65 a796fdeeb33c
parent 52 29dbbeac905d
permissions -rw-r--r--
Revision: 201035 Kit: 201041

// Copyright (c) 2008-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:
// The script for the Lbs Net PSY Test Suite
// 
//

//! @File
//! @SYMTestSuiteName         LBS-NetPsySuite
//! @SYMScriptTestEnvironment TestExecute using te_lbsnetpsysuite.script

//While loading the suite, we shutdown the whole LBS leaving the root process only.
LOAD_SUITE te_lbsnetpsysuite


PRINT RUN ALL te_lbsnetpsysuite TESTS


START_TESTCASE                	LBS-NetPsySuite-NotifyPositionUpdate-Section0
//! @SYMTestCaseID              LBS-NetPsySuite-NotifyPositionUpdate-Section0
//! @SYMTestCaseDesc            Runs several pos update scenarios, which completes normally.
//! @SYMTestActions             SIMPLE POSITION UPDATE
//!				1. Create the positioner and update request listener.
//!                             2. The update request listener starts listening. 
//!				3. The positioner issues NPUD.
//!				4. Start the active scheduler for some time.
//!				5. Check that default update request is received with newClient flag set to ETrue.
//!				6. Create and issue the simple pos update.
//!				7. Start the active scheduler for some time.
//!				8. Check the pos update	is received and equal to the sent one.
//!
//!				TWO SIMPLE POSITION UPDATES
//!				9. Create the second positioner.
//!				10. The update request listener starts listening. 
//!				11. The first positioner issues NPUD.
//!				12. Start the active scheduler for some time.
//!				13. Check that default update request is received.
//!				14. The second positioner issues NPUD.
//!				15. Start the active scheduler for some time.
//!				16. Check that no new update request is received.
//!				17. Create and issue the simple pos update.
//!				18. Start the active scheduler for some time.
//!				19. Check the pos update is received and equal to the sent one for both positioners.
//!				20. Delete the second positioner.
//!				
//!				CANCEL A POSITION UPDATE
//!				21. The update request listener starts listening.
//!				22. The positioner issues NPUD.
//!				23. Start the active scheduler for some time.
//!				24. Check that default update request is received.
//!				25. The positioner cancels the NPUD.
//!				26. Start the active scheduler for some time.
//!				27. Check that a cancel update request is received.
//!				28. Check that the positioner NPUD is completed with KErrCancel.
//!				29. Create and issue the simple pos update.
//!			
//!				PARTIAL UPDATE
//!				30. Set the positioner to accept partial updates.
//!				31. Set the update timeout to KWarmDownInterval.
//!				32. The update request listener starts listening.
//!				33. The positioner issues NPUD.
//!				34. Start the active scheduler for some time.
//!				35. Check that the update request is received with the timeout set to KWarmDownInterval.
//!				36. Create and issue the partial pos update.
//!				37. Start the active scheduler for some time.
//!				38. Check the pos update is received and equal to the sent one.
//!				39. Start the active scheduler wait forKWarmDownInterval to make warm down timer working.
//!				
//!				TEST METHODS WHICH ARE NEVER CALLED IN THE PRODUCTION CODE
//!				40. Simulate the timer errors.  
//!
//!				CLEANUP
//!				41. Delete the positioner and update request listener.
//!
//!
//! @SYMTestExpectedResults     The expected pos update requests and pos updates are received.
//! @SYMTestPriority            High
//! @SYMTestType                UT
//! @SYMTestStatus              Released
//! @SYMPREQ                    PREQ 1662
//! @SYMREQ                     REQ 11248, REQ 11250, REQ 11253, REQ 11255, REQ 11256, REQ 11257, REQ 11485, REQ 11487, REQ 11490, REQ 11491, REQ 11492, REQ 8827, REQ 8828, REQ 8831
//! @SYMCreationDate            20/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 100 te_lbsnetpsysuite NotifyPositionUpdate c:\testdata\configs\te_lbsnetpsy.ini Section0
END_TESTCASE                  	LBS-NetPsySuite-NotifyPositionUpdate-Section0


START_TESTCASE                	LBS-NetPsySuite-NotifyPositionUpdateTiming-Section0
//! @SYMTestCaseID              LBS-NetPsySuite-NotifyPositionUpdateTiming-Section0
//! @SYMTestCaseDesc            Runs several pos update scenarios with the accent on the timing issues.
//! @SYMTestActions             HANDLING THE OLD POSITION UPDATE
//!				1. Create the positioner and update request listener. 
//!				2. The update request listener starts listening. 
//!				3. The positioner issues NPUD.
//!				4. Start the active scheduler for some time.
//!				5. Check that default update request is received with newClient flag set to ETrue.
//!				6. Create and issue the pos update with the actual time < target time.
//!				7. Check that no position update is received by the positioner.
//!				8. The update request listener starts listening. 
//!				9. The positioner cancels the request.
//!				10. Start the active scheduler for some time.
//!				11. Check that a cancel request is received.
//!
//!				SETTING MAXAGE AND USING CACHED UPDATE
//!				12. Set the MaxAge for the positioner to some time ago.				
//!				13. The update request listener starts listening.
//!				14. The positioner issues NPUD.
//!				15. Start the active scheduler for some time.
//!				16. Check the cached FNP update is received and equal to the sent one.
//!				17. Check that an update request is not received.
//!				18. Cancel listening for the update requests.
//!				19. Restore the MaxAge to 0.
//!
//!				SETTING MAXAGE, NO CACHED UPDATE
//!				20. Set the MaxAge for the positioner to now.				
//!				21. The update request listener starts listening.
//!				22. The positioner issues NPUD.
//!				23. Start the active scheduler for some time.
//!				24. Check that default update request is received.
//!				25. Create and issue the simple pos update.
//!				26. Start the active scheduler for some time.
//!				27. Check the pos update is received and equal to the sent one.
//!				28. Restore the MaxAge to 0.
//!
//!				SIMPLE TRACKING SCENARIO
//!				29. Check that the tracking flag overriden.
//!				30. The positioner starts tracking.
//!				31. Start the active scheduler for some time.
//!				32. The positioner issues NPUD.
//!				33. Start the active scheduler for some time.
//!				34. Create and issue the simple pos update.
//!				35. Start the active scheduler for some time.
//!				36. Check the pos update is received and equal to the sent one.
//!				37. The positioner stops tracking.
//!
//!				TRACKING SCENARIO WITH LATE REQUEST
//!				38. The positioner starts tracking.
//!				39. Start the active scheduler for some time.
//!				40. The positioner issues NPUD.
//!				41. Start the active scheduler for some time.
//!				42. Create and issue the simple pos update.
//!				43. Start the active scheduler for some time.
//!				44. Check the pos update is received and equal to the sent one.
//!				45. Start the active scheduler for some time.
//!				46. The positioner issues NPUD.
//!				47. Start the active scheduler for some time.
//!				48. Create and issue the simple pos update.
//!				49. Start the active scheduler for some time.
//!				50. Check the pos update is received and equal to the sent one.
//!				51. The positioner stops tracking.
//!
//!				CLEANUP
//!				52. Delete the positioner and update request listener.				
//!
//!
//! @SYMTestExpectedResults     The expected pos update requests and pos updates are received.
//! @SYMTestPriority            High
//! @SYMTestType                UT
//! @SYMTestStatus              Released
//! @SYMPREQ                    PREQ 1662
//! @SYMREQ                     REQ 11248, REQ 11249, REQ 11253, REQ 11254, REQ 11255, REQ 11487, REQ 11488, REQ 11489, REQ 11492, REQ 8827, REQ 8828, REQ 8829 
//! @SYMCreationDate            20/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 100 te_lbsnetpsysuite NotifyPositionUpdateTiming c:\testdata\configs\te_lbsnetpsy.ini Section0
END_TESTCASE                  	LBS-NetPsySuite-NotifyPositionUpdateTiming-Section0


START_TESTCASE                	LBS-NetPsySuite-NotifyPositionUpdateErr-Section0
//! @SYMTestCaseID              LBS-NetPsySuite-NotifyPositionUpdateErr-Section0
//! @SYMTestCaseDesc            Runs several pos update scenarios with errors.
//! @SYMTestActions             SIMPLE POSITION UPDATE ERROR
//!				1. Create the positioner and update request listener. 
//!                             2. The update request listener starts listening. 
//!				3. The positioner issues NPUD.
//!				4. Start the active scheduler for some time.
//!				5. Check that default update request is received with newClient flag set to ETrue.
//!				6. Create and issue the error pos update.
//!				7. Start the active scheduler for some time.
//!				8. Check the pos update	error is received and equal to the sent one.
//!
//!
//!				CPOSITIONER CREATION/DESTRUCTION WITH MEMORY LEAKS
//!				9. Inject the heap error for the Nth(N==0 first) memory allocation.
//!				10. Try to create the positioner and then delete it.
//!				11. Check wheter a memory allocation fails during the positioner creation.
//!				12. If alloc failure occured outside the factory method, stop the test.
//!				13. If alloc failure occured inside the factory method and no leave occured, the positioner must be created.
//!				14. Increment N and go to step 16.
//!
//!				SIMPLE POSITION UPDATE WITH OOM WHILE CALLING NotifyPositionUpdate
//!				15. The update request listener starts listening.
//!				16. Inject the heap error for the Nth(N==0 first) memory allocation.
//!				17. The positioner issues NPUD.
//!				18. Check wheter a memory allocation fails during the positioner creation.
//!				19. Start the active scheduler for some time.
//!				20. If alloc failure occured outside the NPUD, stop the test.
//!				21. If the pos update request is received, check that the pos update is received.
//!				22. If the pos update request is not received, check that the pos update is not received.
//!
//!				CLEANUP
//!				23. Delete the positioner and update request listener.		
//!
//! @SYMTestExpectedResults     The errors are handled correctly and the methods fail with the appropriate err codes.
//! @SYMTestPriority            High
//! @SYMTestType                UT
//! @SYMTestStatus              Released
//! @SYMPREQ                    PREQ 1662
//! @SYMREQ                     REQ 11248, REQ 11487, REQ 11492, REQ 8827, REQ 8828
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 300 te_lbsnetpsysuite NotifyPositionUpdateErr c:\testdata\configs\te_lbsnetpsy.ini Section0
END_TESTCASE                  	LBS-NetPsySuite-NotifyPositionUpdateErr-Section0

START_TESTCASE                	LBS-NetPsySuite-ModuleInfo-Section0
//! @SYMTestCaseID              LBS-NetPsySuite-ModuleInfo-Section0
//! @SYMTestCaseDesc            Runs the scenarios where the module info is get.
//! @SYMTestActions             1. Create the positioner and assign the positioner, which will receive the notifications.
//!				2. Issue the module status updates.
//!				3. Check that the information is received by the positioner.
//!				4. Repeat 2-3 with various sets of parameters.
//!
//!
//! @SYMTestExpectedResults     The expected module info updates are received.
//! @SYMTestPriority            High
//! @SYMTestType                UT
//! @SYMTestStatus              Released
//! @SYMPREQ                    PREQ 1662
//! @SYMREQ                     REQ 11260, REQ 11261, REQ 11270, REQ 11487, REQ 11492, REQ 8827, REQ 8832, REQ 8833
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 100 te_lbsnetpsysuite ModuleInfo c:\testdata\configs\te_lbsnetpsy.ini Section0
END_TESTCASE                  	LBS-NetPsySuite-ModuleInfo-Section0


START_TESTCASE                	LBS-NetPsySuite-NotifyPositionUpdate-Section1
//! @SYMTestCaseID              LBS-NetPsySuite-NotifyPositionUpdate-Section1
//! @SYMTestCaseDesc            Runs several pos update scenarios, which completes normally.
//! @SYMTestActions             See LBS-NetPsySuite-NotifyPositionUpdate-Section0 actions.
//! @SYMTestExpectedResults     The expected pos update requests and pos updates are received.
//! @SYMTestPriority            High
//! @SYMTestType                UT
//! @SYMTestStatus              Released
//! @SYMPREQ                    PREQ 1662
//! @SYMREQ                     REQ 11248, REQ 11250, REQ 11253, REQ 11255, REQ 11256, REQ 11257, REQ 11485, REQ 11487, REQ 11490, REQ 11491, REQ 11492, REQ 8827, REQ 8828, REQ 8831
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 100 te_lbsnetpsysuite NotifyPositionUpdate c:\testdata\configs\te_lbsnetpsy.ini Section1
END_TESTCASE                  	LBS-NetPsySuite-NotifyPositionUpdate-Section1



START_TESTCASE                	LBS-NetPsySuite-NotifyPositionUpdateTiming-Section1
//! @SYMTestCaseID              LBS-NetPsySuite-NotifyPositionUpdateTiming-Section1
//! @SYMTestCaseDesc            Runs several pos update scenarios with the accent on the timing issues.
//! @SYMTestActions             See LBS-NetPsySuite-NotifyPositionUpdateTiming-Section0 actions.
//! @SYMTestExpectedResults     The expected pos update requests and pos updates are received.
//! @SYMTestPriority            High
//! @SYMTestType                UT
//! @SYMTestStatus              Released
//! @SYMPREQ                    PREQ 1662
//! @SYMREQ                     REQ 11248, REQ 11249, REQ 11253, REQ 11254, REQ 11255, REQ 11487, REQ 11488, REQ 11489, REQ 11492, REQ 8827, REQ 8828, REQ 8829 
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 100 te_lbsnetpsysuite NotifyPositionUpdateTiming c:\testdata\configs\te_lbsnetpsy.ini Section1
END_TESTCASE                  	LBS-NetPsySuite-NotifyPositionUpdateTiming-Section1


START_TESTCASE                	LBS-NetPsySuite-NotifyPositionUpdateErr-Section1
//! @SYMTestCaseID              LBS-NetPsySuite-NotifyPositionUpdateErr-Section1
//! @SYMTestCaseDesc            Runs several pos update scenarios with errors.
//! @SYMTestActions             See LBS-NetPsySuite-NotifyPositionUpdateErr-Section0 actions.
//! @SYMTestExpectedResults     The errors are handled correctly and the methods fail with the appropriate err codes.
//! @SYMTestPriority            High
//! @SYMTestType                UT
//! @SYMTestStatus              Released
//! @SYMPREQ                    PREQ 1662
//! @SYMREQ                     REQ 11248, REQ 11487, REQ 11492, REQ 8827, REQ 8828
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 300 te_lbsnetpsysuite NotifyPositionUpdateErr c:\testdata\configs\te_lbsnetpsy.ini Section1
END_TESTCASE                  	LBS-NetPsySuite-NotifyPositionUpdateErr-Section1



START_TESTCASE                	LBS-NetPsySuite-ModuleInfo-Section1
//! @SYMTestCaseID              LBS-NetPsySuite-ModuleInfo-Section1
//! @SYMTestCaseDesc            Runs the scenarios where the module info is get.
//! @SYMTestActions             See the LBS-NetPsySuite-ModuleInfo-Section0 actions.
//! @SYMTestExpectedResults     The expected module info updates are received.
//! @SYMTestPriority            High
//! @SYMTestType                UT
//! @SYMTestStatus              Released
//! @SYMPREQ                    PREQ 1662
//! @SYMREQ                     REQ 11260, REQ 11261, REQ 11270, REQ 11487, REQ 11492, REQ 8827, REQ 8832, REQ 8833
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 100 te_lbsnetpsysuite ModuleInfo c:\testdata\configs\te_lbsnetpsy.ini Section1
END_TESTCASE                  	LBS-NetPsySuite-ModuleInfo-Section1


START_TESTCASE                	LBS-NetPsySuite-NotifyPositionUpdate-Section2
//! @SYMTestCaseID              LBS-NetPsySuite-NotifyPositionUpdate-Section2
//! @SYMTestCaseDesc            Runs several pos update scenarios, which completes normally.
//! @SYMTestActions             See LBS-NetPsySuite-NotifyPositionUpdate-Section0 actions.
//! @SYMTestExpectedResults     The expected pos update requests and pos updates are received.
//! @SYMTestPriority            High
//! @SYMTestType                UT
//! @SYMTestStatus              Released
//! @SYMPREQ                    PREQ 1662
//! @SYMREQ                     REQ 11248, REQ 11250, REQ 11253, REQ 11255, REQ 11256, REQ 11257, REQ 11485, REQ 11487, REQ 11490, REQ 11491, REQ 11492, REQ 8827, REQ 8828, REQ 8831
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 100 te_lbsnetpsysuite NotifyPositionUpdate c:\testdata\configs\te_lbsnetpsy.ini Section2
END_TESTCASE                  	LBS-NetPsySuite-NotifyPositionUpdate-Section2



START_TESTCASE                	LBS-NetPsySuite-NotifyPositionUpdateTiming-Section2
//! @SYMTestCaseID              LBS-NetPsySuite-NotifyPositionUpdateTiming-Section2
//! @SYMTestCaseDesc            Runs several pos update scenarios with the accent on the timing issues.
//! @SYMTestActions             See LBS-NetPsySuite-NotifyPositionUpdateTiming-Section0 actions.
//! @SYMTestExpectedResults     The expected pos update requests and pos updates are received.
//! @SYMTestPriority            High
//! @SYMTestType                UT
//! @SYMTestStatus              Released
//! @SYMPREQ                    PREQ 1662
//! @SYMREQ                     REQ 11248, REQ 11249, REQ 11253, REQ 11254, REQ 11255, REQ 11487, REQ 11488, REQ 11489, REQ 11492, REQ 8827, REQ 8828, REQ 8829 
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 100 te_lbsnetpsysuite NotifyPositionUpdateTiming c:\testdata\configs\te_lbsnetpsy.ini Section2
END_TESTCASE                  	LBS-NetPsySuite-NotifyPositionUpdateTiming-Section2


START_TESTCASE                	LBS-NetPsySuite-NotifyPositionUpdateErr-Section2
//! @SYMTestCaseID              LBS-NetPsySuite-NotifyPositionUpdateErr-Section2
//! @SYMTestCaseDesc            Runs several pos update scenarios with errors.
//! @SYMTestActions             See LBS-NetPsySuite-NotifyPositionUpdateErr-Section0 actions.
//! @SYMTestExpectedResults     The errors are handled correctly and the methods fail with the appropriate err codes.
//! @SYMTestPriority            High
//! @SYMTestType                UT
//! @SYMTestStatus              Released
//! @SYMPREQ                    PREQ 1662
//! @SYMREQ                     REQ 11248, REQ 11487, REQ 11492, REQ 8827, REQ 8828
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 300 te_lbsnetpsysuite NotifyPositionUpdateErr c:\testdata\configs\te_lbsnetpsy.ini Section2
END_TESTCASE                  	LBS-NetPsySuite-NotifyPositionUpdateErr-Section2



PRINT COMPLETE ALL te_lbsnetpsysuite TESTS