datasourcemodules/gpspositioningmodule/lbsgpspsy/test/scripts/te_lbsgpspsysuite.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 Autonomous GPS PSY Test Suite
// 
//

//! @File
//! @SYMTestSuiteName         LBS-GpsPsySuite
//! @SYMScriptTestEnvironment TestExecute using te_lbsgpspsysuite.script

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


PRINT RUN ALL te_lbsgpspsysuite TESTS


START_TESTCASE                	LBS-GpsPsySuite-NotifyPositionUpdate-Section0
//! @SYMTestCaseID              LBS-GpsPsySuite-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 11647, REQ 11649, REQ 11654, REQ 11655, REQ 11655, REQ 11657, REQ 11658, REQ 8827, REQ 8828, REQ 8831
//! @SYMCreationDate            20/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 100 te_lbsgpspsysuite NotifyPositionUpdate c:\testdata\configs\te_lbsgpspsy.ini Section0
END_TESTCASE                  	LBS-GpsPsySuite-NotifyPositionUpdate-Section0


START_TESTCASE                	LBS-GpsPsySuite-NotifyPositionUpdateTiming-Section0
//! @SYMTestCaseID              LBS-GpsPsySuite-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 11649, REQ 11650, REQ 11653, REQ 11657, REQ 11658, REQ 8827, REQ 8828, REQ 8829 
//! @SYMCreationDate            20/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 100 te_lbsgpspsysuite NotifyPositionUpdateTiming c:\testdata\configs\te_lbsgpspsy.ini Section0
END_TESTCASE                  	LBS-GpsPsySuite-NotifyPositionUpdateTiming-Section0


START_TESTCASE                	LBS-GpsPsySuite-NotifyPositionUpdateErr-Section0
//! @SYMTestCaseID              LBS-GpsPsySuite-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 11649, REQ 11658, REQ 8827, REQ 8828
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 300 te_lbsgpspsysuite NotifyPositionUpdateErr c:\testdata\configs\te_lbsgpspsy.ini Section0
END_TESTCASE                  	LBS-GpsPsySuite-NotifyPositionUpdateErr-Section0

START_TESTCASE                	LBS-GpsPsySuite-ModuleInfo-Section0
//! @SYMTestCaseID              LBS-GpsPsySuite-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 11662, REQ 11661, REQ 11270, REQ 11649, REQ 11658, REQ 8827, REQ 8832, REQ 8833
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 100 te_lbsgpspsysuite ModuleInfo c:\testdata\configs\te_lbsgpspsy.ini Section0
END_TESTCASE                  	LBS-GpsPsySuite-ModuleInfo-Section0


START_TESTCASE                	LBS-GpsPsySuite-NotifyPositionUpdate-Section1
//! @SYMTestCaseID              LBS-GpsPsySuite-NotifyPositionUpdate-Section1
//! @SYMTestCaseDesc            Runs several pos update scenarios, which completes normally.
//! @SYMTestActions             See LBS-GpsPsySuite-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 11647, REQ 11649, REQ 11654, REQ 11655, REQ 11656, REQ 11657, REQ 11658, REQ 8827, REQ 8828, REQ 8831
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 100 te_lbsgpspsysuite NotifyPositionUpdate c:\testdata\configs\te_lbsgpspsy.ini Section1
END_TESTCASE                  	LBS-GpsPsySuite-NotifyPositionUpdate-Section1



START_TESTCASE                	LBS-GpsPsySuite-NotifyPositionUpdateTiming-Section1
//! @SYMTestCaseID              LBS-GpsPsySuite-NotifyPositionUpdateTiming-Section1
//! @SYMTestCaseDesc            Runs several pos update scenarios with the accent on the timing issues.
//! @SYMTestActions             See LBS-GpsPsySuite-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 11649, REQ 11650, REQ 11653, REQ 11658, REQ 8827, REQ 8828, REQ 8829 
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 100 te_lbsgpspsysuite NotifyPositionUpdateTiming c:\testdata\configs\te_lbsgpspsy.ini Section1
END_TESTCASE                  	LBS-GpsPsySuite-NotifyPositionUpdateTiming-Section1


START_TESTCASE                	LBS-GpsPsySuite-NotifyPositionUpdateErr-Section1
//! @SYMTestCaseID              LBS-GpsPsySuite-NotifyPositionUpdateErr-Section1
//! @SYMTestCaseDesc            Runs several pos update scenarios with errors.
//! @SYMTestActions             See LBS-GpsPsySuite-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 11649, REQ 11658, REQ 8827, REQ 8828
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 300 te_lbsgpspsysuite NotifyPositionUpdateErr c:\testdata\configs\te_lbsgpspsy.ini Section1
END_TESTCASE                  	LBS-GpsPsySuite-NotifyPositionUpdateErr-Section1



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


START_TESTCASE                	LBS-GpsPsySuite-NotifyPositionUpdate-Section2
//! @SYMTestCaseID              LBS-GpsPsySuite-NotifyPositionUpdate-Section2
//! @SYMTestCaseDesc            Runs several pos update scenarios, which completes normally.
//! @SYMTestActions             See LBS-GpsPsySuite-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 11647, REQ 11649, REQ 11654, REQ 11655, REQ 11656, REQ 11657, REQ 11658, REQ 8827, REQ 8828, REQ 8831
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 100 te_lbsgpspsysuite NotifyPositionUpdate c:\testdata\configs\te_lbsgpspsy.ini Section2
END_TESTCASE                  	LBS-GpsPsySuite-NotifyPositionUpdate-Section2



START_TESTCASE                	LBS-GpsPsySuite-NotifyPositionUpdateTiming-Section2
//! @SYMTestCaseID              LBS-GpsPsySuite-NotifyPositionUpdateTiming-Section2
//! @SYMTestCaseDesc            Runs several pos update scenarios with the accent on the timing issues.
//! @SYMTestActions             See LBS-GpsPsySuite-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 11649, REQ 11650, REQ 11653, REQ 11658, REQ 8827, REQ 8828, REQ 8829 
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 100 te_lbsgpspsysuite NotifyPositionUpdateTiming c:\testdata\configs\te_lbsgpspsy.ini Section2
END_TESTCASE                  	LBS-GpsPsySuite-NotifyPositionUpdateTiming-Section2


START_TESTCASE                	LBS-GpsPsySuite-NotifyPositionUpdateErr-Section2
//! @SYMTestCaseID              LBS-GpsPsySuite-NotifyPositionUpdateErr-Section2
//! @SYMTestCaseDesc            Runs several pos update scenarios with errors.
//! @SYMTestActions             See LBS-GpsPsySuite-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 11649, REQ 11658, REQ 8827, REQ 8828
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  NicolayB
RUN_TEST_STEP 300 te_lbsgpspsysuite NotifyPositionUpdateErr c:\testdata\configs\te_lbsgpspsy.ini Section2
END_TESTCASE                  	LBS-GpsPsySuite-NotifyPositionUpdateErr-Section2


START_TESTCASE                	LBS-GpsPsySuite-PowerAdvice-Section0
//! @SYMTestCaseID              LBS-GpsPsySuite-PowerAdvice-Section0
//! @SYMTestCaseDesc            Simple NPUD and verify that power advice 'standby' received after inactivity period.
//! @SYMTestActions             See LBS-GpsPsySuite-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 11649, REQ 11658, REQ 8827, REQ 8828
//! @SYMCreationDate            21/10/2008
//! @SYMAuthor                  LornaM
RUN_TEST_STEP 300 te_lbsgpspsysuite PowerAdvice c:\testdata\configs\te_lbsgpspsy.ini Section0
END_TESTCASE                  	LBS-GpsPsySuite-PowerAdvice-Section0


PRINT COMPLETE ALL te_lbsgpspsysuite TESTS