datasourcemodules/gpspositioningmodule/lbsgpspsy/test/scripts/te_lbsgpspsysuite.script
// 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