installationservices/swi/test/tuiscriptadaptors/scripts/testuninstallation.script
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:22:02 +0100
branchRCL_3
changeset 66 8b7f4e561641
parent 0 ba25891c3a9e
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

//
// 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