diff -r 000000000000 -r ba25891c3a9e installationservices/swi/test/tuiscriptadaptors/scripts/testuninstallation.script --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/installationservices/swi/test/tuiscriptadaptors/scripts/testuninstallation.script Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,142 @@ +// +// 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 the License "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: +// +//! @file +// SWIS integration dependency tests +PRINT Run SWI dependency tests +LOAD_SUITE tuiscriptadaptors + +//! @SYMTestCaseID API-SEC-UISA-Uninstallation-I-0001 +//! @SYMTestCaseDesc Tests new uninstalling policy considering dependencies +//! @SYMTestPriority High +//! @SYMTestActions Tests whether an embedded package which has dependency is uninstalled only when the last dependent package has been uninstalled +//! @SYMTestExpectedResults An embedded package which has dependency is uninstalled only when the last dependent package +//! @SYMDevelopedForRelease Argus + +START_TESTCASE API-SEC-UISA-Uninstallation-I-0001 + +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini embedC +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini embeddependE +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini embeddependF + +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_embedC +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_embeddependD +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_embeddependE +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_embeddependF + +END_TESTCASE API-SEC-UISA-Uninstallation-I-0001 + + +//! @SYMTestCaseID API-SEC-UISA-Uninstallation-I-0002 +//! @SYMTestCaseDesc Tests for extended uninstallation scenarios +//! @SYMTestPriority High +//! @SYMTestActions Tests whether an embedded package which has dependency is uninstalled only when the last dependent package has been uninstalled +//! @SYMTestExpectedResults An embedded package which has dependency is uninstalled only when the last dependent package +//! @SYMDevelopedForRelease Argus + +START_TESTCASE API-SEC-UISA-Uninstallation-I-0002 + +//Scenario 1 +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini scenario1a +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini scenario1c +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_scenario1c +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_scenario1a + +//Scenario 2 +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini scenario2a +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini scenario1c +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_scenario1c +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_scenario1a + +//Scenario 3 +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini scenario3a +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini scenario1c +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_scenario3c +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_scenario3a + +//Scenario 4 +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini scenario3a +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini scenario4c +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_scenario4c +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_scenario4a + +//Scenario 5 +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini scenario5a +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini scenario5c +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_scenario5a +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_scenario5c + +//Scenario 6 +RUN_TEST_STEP_RESULT -10255 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini scenario6a + +//Scenario 7 +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini scenario7a +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini scenario6c +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_scenario7a +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_scenario7c + +//Scenario 8 +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini scenario8a +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini scenario6c +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_scenario8a +RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_scenario7c + +END_TESTCASE API-SEC-UISA-Uninstallation-I-0002 + + +//! @SYMTestCaseID API-SEC-UISA-Uninstallation-I-0003 +//! @SYMTestCaseDesc Tests correct rollback on un-installation failure. +//! @SYMDEF PDEF118284 +//! @SYMTestPriority High +//! @SYMTestActions Start an un-installation which removes one file then fails on removal of the second file due to it being in use. +//! @SYMTestExpectedResults All files present before the failed un-installation started should still exist or have been restored. +//! @SYMDevelopedForRelease Oghma + +START_TESTCASE API-SEC-UISA-Uninstallation-I-0003 + +// Install the PDEF118284 sis file. +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini testuninstall_PDEF118284 + +// Install Helloworld application suite +RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini helloworld + +// Run Helloworld app as well as console exe which will keep running for 30 seconds +DELAY 500 +RUN_PROGRAM -1 helloworld.exe + +// This app will hold open one of the files (textfile2_pdef118284.txt) owned by PDEF118284.sis +RUN_PROGRAM -1 runtestexe console_app -s 30000000 -h \textfile2_pdef118284.txt +DELAY 500 + +// Verify that both exes are installed and running +RUN_TEST_STEP 5 tuiscriptadaptors FindRunningExe z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini consoleapp_running +RUN_TEST_STEP 5 tuiscriptadaptors FindRunningExe z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini helloworld_running + +// Try to un-install the PDEF118284 sis file. This should fail with KErrInUse (-14) as one of its files is being held by the console app. +DELAY 500 +RUN_TEST_STEP_RESULT -14 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_error_testuninstall_PDEF118284 +DELAY 500 + +// Un-install helloworld. (This will release the held file) +RUN_TEST_STEP_RESULT 0 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_helloworld + +// Un-install the PDEF118284 sis file. This should pass this time as none of the files it owns are in use. +RUN_TEST_STEP_RESULT 0 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testuninstallation.ini u_testuninstall_PDEF118284 + +END_TESTCASE API-SEC-UISA-Uninstallation-I-0003 + + +// Ensure that SWIS shuts down after the above tests to make sure heap checks run +RUN_TEST_STEP 5 tuiscriptadaptors SwisNotRunning