installationservices/swi/test/tuiscriptadaptors/scripts/testlocations.script
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 11 May 2010 16:20:28 +0300
branchRCL_3
changeset 17 741e5bba2bd1
parent 0 ba25891c3a9e
permissions -rw-r--r--
Revision: 201016 Kit: 201019

//
// 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 unit (integration) tests
PRINT Run all SWIS tests
LOAD_SUITE tuiscriptadaptors

// Tests for file location checking in swis

//! @file
//! @SYMTestCaseID 		API-SEC-FILELOCATION-0001
//! @SYMTestCaseDesc 		Install an executable to sys/hash directory, and the installation rejected
//! @SYMTestPriority 		Medium
//! @SYMTestActions 		Install an executable to sys/hash directory
//! @SYMTestExpectedResults 	The test completes with KAcessDenied completion code.
//! @SYMDEF 			DEF058272
//! @SYMTestType 		UT

START_TESTCASE API-SEC-FILELOCATION-0001

RUN_TEST_STEP_RESULT -21 200 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini defect058272a
RUN_TEST_STEP_RESULT -1 200 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_defect058272a

END_TESTCASE API-SEC-FILELOCATION-0001


//! @file
//! @SYMTestCaseID 		API-SEC-FILELOCATION-0002
//! @SYMTestCaseDesc 		Install an executable to non-exist sys/policy directory, and the installation rejected
//! @SYMTestPriority 		Medium
//! @SYMTestActions 		Install an executable to sys/policy directory
//! @SYMTestExpectedResults 	The test completes with KAcessDenied completion code.
//! @SYMDEF 			DEF058272
//! @SYMTestType 		UT

START_TESTCASE API-SEC-FILELOCATION-0002

RUN_TEST_STEP_RESULT -21 200 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini defect058272b
RUN_TEST_STEP_RESULT -1 200 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_defect058272b

END_TESTCASE API-SEC-FILELOCATION-0002


//! @file
//! @SYMTestCaseID 		API-SEC-FILELOCATION-0003
//! @SYMTestCaseDesc 		Install an executable to sys directory, and the installation rejected
//! @SYMTestPriority 		Medium
//! @SYMTestActions 		Install an executable to sys directory
//! @SYMTestExpectedResults 	The test completes with KAcessDenied completion code.
//! @SYMDEF 			DEF058272
//! @SYMTestType 		UT

START_TESTCASE API-SEC-FILELOCATION-0003

RUN_TEST_STEP_RESULT -21 200 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini defect058272c
RUN_TEST_STEP_RESULT -1 200 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_defect058272c

; sucessful installs to import directories
RUN_TEST_STEP 200 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini importdir
RUN_TEST_STEP 200 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_importdir

RUN_TEST_STEP 200 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini importdir_e
RUN_TEST_STEP 200 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_importdir_e

; fails as attempts to copy to a private dir with no matching executable
RUN_TEST_STEP_RESULT -21 200 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini privatedir3
RUN_TEST_STEP_RESULT -1 200 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_privatedir3

; fails as attempts to copy to a private dir with no matching executable
RUN_TEST_STEP_RESULT -21 200 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini privatedir4
RUN_TEST_STEP_RESULT -1 200 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_privatedir4

; successful installs to private directory
RUN_TEST_STEP 200 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini privatedir_e
RUN_TEST_STEP 200 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_privatedir

RUN_TEST_STEP 200 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini privatedir
RUN_TEST_STEP 200 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_privatedir

RUN_TEST_STEP 200 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini privatedir2
RUN_TEST_STEP 200 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_privatedir2

END_TESTCASE API-SEC-FILELOCATION-0003


//! @SYMTestCaseID 		API-SEC-FileNullInstall-0001
//! @SYMTestCaseDesc 		Tests install checks which ensure that FN cannot be used to delete protected files.
//! @SYMDEF 			INC074618
//! @SYMTestPriority 		Critical
//! @SYMTestType 		CIT
//! @SYMTestStatus 		3. Released
//! @SYMTestActions 		Attempts to install various SIS files where a FN directive that will attempt to delete files
//! 				in protected directories upon uninstall.
//! @SYMTestExpectedResults 	The install will fail if an FN line targets files in \sys, \resource. 
//! 				FN files can only target a private directory if the package owns the application with the corresponding
//! 				secure id or the file is in the import. An FN targeting a root directory or an invalid drive will not
//! 				block install but will uninstall successfully with no deletion.
//! @SYMDevelopedForRelease 	Mike

START_TESTCASE API-SEC-FileNullInstall-0001

RUN_TEST_STEP_RESULT -21 10 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini filenullsysbin
RUN_TEST_STEP_RESULT -21 10 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini filenullresource
RUN_TEST_STEP_RESULT -21 10 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini filenullprivatebad
RUN_TEST_STEP_RESULT -21 10 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini filenullsysbin_e
RUN_TEST_STEP_RESULT -21 10 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini filenullresource_e
RUN_TEST_STEP_RESULT -21 10 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini filenullprivatebad_e

RUN_TEST_STEP 10 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini filenullprivategood
RUN_TEST_STEP 10 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini filenullprivategood_sp
RUN_TEST_STEP 10 tuiscriptadaptors UninstallAugStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_filenullprivategood_sp
RUN_TEST_STEP 10 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_filenullprivategood
RUN_TEST_STEP 10 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini filenullimport
RUN_TEST_STEP 10 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_filenullimport

RUN_TEST_STEP 10 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini filenullinvaliddrive
RUN_TEST_STEP 10 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_filenullinvaliddrive

RUN_UTILS CopyFile c:\auto.cfg e:\auto.cfg
RUN_TEST_STEP 10 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini filenullrootdir
RUN_TEST_STEP 10 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_filenullrootdir
RUN_UTILS DeleteFile e:\auto.cfg

END_TESTCASE API-SEC-FileNullInstall-0001


//! @SYMTestCaseID 		API-SEC-FileNullUninstall-0002
//! @SYMTestCaseDesc 		Tests that FN cannot be used to block unuinstall by targetting files which cannot be deleted.
//! @SYMDEF 			DEF079264
//! @SYMTestPriority 		Critical
//! @SYMTestType 		CIT
//! @SYMTestStatus 		3. Released
//! @SYMTestActions 		Install and uninstall a package which references a file on ROM.
//! @SYMTestExpectedResults 	Uninstall will succeed where the FN references a rom file.
//! @SYMDevelopedForRelease 	Mike

START_TESTCASE API-SEC-FileNullUninstall-0002

// Make sure we can install and uninstall a package which refers to a file in ROM for FN.
RUN_TEST_STEP 10 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini filenullonrom
RUN_TEST_STEP 10 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini u_filenullonrom

END_TESTCASE API-SEC-FileNullUninstall-0002


//! @SYMTestCaseID 		API-SEC-sysbinsubdir-0001
//! @SYMTestCaseDesc 		Verify that a SIS file with a target file in a subdirectory of sys\bin will not install
//! @SYMDEF 			DEF074723
//! @SYMTestPriority 		High
//! @SYMTestType 		CIT
//! @SYMTestStatus 		3. Released
//! @SYMTestActions  		Attempt to install a SIS file with a target file in a subdirectory of sysbin
//! @SYMTestExpectedResults  	Install fails with KErrAccessDenied
//! @SYMDevelopedForRelease 	Mike

START_TESTCASE API-SEC-sysbinsubdir-0001

RUN_TEST_STEP_RESULT -21 10 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testlocations.ini sysbinsubdir

END_TESTCASE API-SEC-sysbinsubdir-0001


// Ensure that SWIS shuts down after the above tests to make sure heap checks run
RUN_TEST_STEP 5 tuiscriptadaptors SwisNotRunning