installationservices/swi/test/tuiscriptadaptors/scripts/testpreinstalled.script
changeset 0 ba25891c3a9e
child 25 7333d7932ef7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/installationservices/swi/test/tuiscriptadaptors/scripts/testpreinstalled.script	Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,552 @@
+//
+// 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 for upgrades
+PRINT Run all SWIS tests
+LOAD_SUITE tuiscriptadaptors
+
+//! @SYMTestCaseID 		API-SEC-UISA-PreInstalledTest-I-0001
+//! @SYMTestCaseDesc 		Test pre-installed media
+//! @SYMTestPriority 		High
+//! @SYMTestActions 		Perform various tests on pre-installed media applications
+//! @SYMTestExpectedResults 	Files installed/uninstalled.
+//! @SYMDevelopedForRelease 	Yankee
+
+START_TESTCASE API-SEC-UISA-PreInstalledTest-I-0001
+
+// Copy files into place on the pre-installed drives
+RUN_UTILS MKDIR e:\tswi\
+RUN_UTILS MKDIR e:\tswi\preinstalled\
+RUN_UTILS COPYFILE z:\tswi\tuiscriptadaptors\data\preinstalledinstall.txt e:\tswi\preinstalled\preinstalledinstall.txt
+RUN_UTILS MAKEREADWRITE e:\tswi\preinstalled\preinstalledinstall.txt
+RUN_UTILS COPYFILE z:\tswi\tuiscriptadaptors\data\preinstalledinstall.txt e:\tswi\preinstalled\preinstalledpatch.txt
+RUN_UTILS MAKEREADWRITE e:\tswi\preinstalled\preinstalledpatch.txt
+RUN_UTILS COPYFILE z:\tswi\tuiscriptadaptors\data\preinstalledinstall.txt e:\tswi\preinstalled\preinstalledpatch2.txt
+RUN_UTILS MAKEREADWRITE e:\tswi\preinstalled\preinstalledpatch2.txt
+RUN_UTILS COPYFILE z:\tswi\tsis\data\Root5CA\dsa_len1\testpreinstalled_install_dsa_l1.sis e:\testpreinstalled_install_dsa_l1.sis
+RUN_UTILS MAKEREADWRITE e:\testpreinstalled_install_dsa_l1.sis
+RUN_UTILS COPYFILE z:\tswi\tsis\data\Root5CA\dsa_len1\testpreinstalled_patch2_dsa_l1.sis e:\testpreinstalled_patch2_dsa_l1.sis
+RUN_UTILS MAKEREADWRITE e:\testpreinstalled_patch2_dsa_l1.sis
+RUN_UTILS COPYFILE z:\tswi\tsis\data\Root5CA\dsa_len1\testpreinstalled_patch_dsa_l1.sis e:\testpreinstalled_patch_dsa_l1.sis
+RUN_UTILS MAKEREADWRITE e:\testpreinstalled_patch_dsa_l1.sis
+
+
+// pre-installed normal application
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_install
+// pre-installed patch
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_patch2
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_preinstalled_install
+
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini base
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_patch
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallAugStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_preinstalled_patch
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_base
+
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini base
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_patch
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_base
+
+
+// test a normal install with a preinstalled patch
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini base2
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_patch2
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_base2
+
+
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini base2
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_patch2
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallAugStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_preinstalled_patch2
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_base2
+
+RUN_UTILS DeleteFile e:\testpreinstalled_install.sis
+RUN_UTILS DeleteFile e:\testpreinstalled_patch.sis
+RUN_UTILS DeleteFile e:\testpreinstalled_patch2.sis
+
+// Install Helloworld application suite; this includes an exe which can be used to launch the preinstalled exe
+// and leave it running while proceeding to the next step.
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testappinuse.ini helloworld
+
+// Test correct install and uninstall of a pre-installed package with an exe.
+// First copy exes into sys\bin on the e: drive.
+RUN_TEST_STEP 10 tuiscriptadaptors MmcCopyFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini setup_preinstalled_exe
+
+// Install the preinstalled package; this will add the exe's hash to c:\sys\hash
+RUN_TEST_STEP 10 tuiscriptadaptors InstallFHStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_exe
+
+// Run pre-installed exe. Note that runtestexe runs the command provided as an argument and exits, leaving the child
+// process running. The other exe, preinstalled_console_app, will keep running for the specified number of microseconds
+// unless killed.
+RUN_PROGRAM -1 runtestexe preinstalled_console_app -s 4000000 
+RUN_TEST_STEP 5 tuiscriptadaptors FindRunningExe z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini consoleapp_running
+
+// Let the run complete.
+DELAY 4000
+
+RUN_TEST_STEP 10 tuiscriptadaptors MmcCopyFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini setup_preinstalled_exe_patch
+
+// Install a pre-installed patch with an additional exe (a duplicate of runtestexe with a different UID3.)
+RUN_TEST_STEP 10 tuiscriptadaptors InstallFHStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_exe_patch
+
+// Run base executable using the launcher supplied in the patch.
+RUN_PROGRAM -1 preinstalled_runtestexe2 preinstalled_console_app -s 4000000 
+RUN_TEST_STEP 5 tuiscriptadaptors FindRunningExe z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini consoleapp_running
+
+// Uninstall the patch; this won't kill the base exe.
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallAugStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_preinstalled_exe_patch
+
+// Let the run complete.
+DELAY 4000
+
+// Check that the base exe can still be run.
+RUN_PROGRAM -1 runtestexe preinstalled_console_app -s 4000000 
+RUN_TEST_STEP 5 tuiscriptadaptors FindRunningExe z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini consoleapp_running
+
+// Uninstall.  This should kill the console app if it's still running, and remove only the hash.
+RUN_TEST_STEP 5 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_preinstalled_exe
+
+// The console app shouldn't be running now.
+RUN_TEST_STEP_RESULT 106 tuiscriptadaptors FindRunningExe z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini consoleapp_running
+
+// Check that we can successfully install and uninstall the preinstalled package and patch again
+RUN_TEST_STEP 10 tuiscriptadaptors InstallFHStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_exe
+RUN_TEST_STEP 10 tuiscriptadaptors InstallFHStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_exe_patch
+RUN_TEST_STEP 10 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_preinstalled_exe
+
+// Delete pre-installed files
+RUN_TEST_STEP 10 tuiscriptadaptors MmcDeleteFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini delete_preinstalled_exe
+RUN_TEST_STEP 10 tuiscriptadaptors MmcDeleteFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini delete_preinstalled_exe_patch
+
+// Uninstall the helloworld package.
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testappinuse.ini u_helloworld
+
+END_TESTCASE API-SEC-UISA-PreInstalledTest-I-0001
+
+
+//! @SYMTestCaseID 		API-SEC-UISA-PreInstalledTest-I-0002
+//! @SYMTestCaseDesc 		Checks that sis registry correctly indicates preinstalled apps are present based on
+//! 				presence of installed drives.
+//! @SYMDEF 			INC080064
+//! @SYMTestPriority 		High
+//! @SYMTestActions  		Installs app, checks sisregistry indicated presence of app through unmounts and remounts of MMC card, and
+//! 				after uninstall.
+//! @SYMTestExpectedResults 	Registry does not indicate app is present unless drive it is installed on is present.
+//! @SYMDevelopedForRelease 	Mike
+
+START_TESTCASE API-SEC-UISA-PreInstalledTest-I-0002
+
+RUN_UTILS CopyFile z:\tswi\tsis\data\testpreinstalled_install_x.sis x:\testpreinstalled_install_x.sis
+RUN_UTILS CopyFile z:\tswi\tsis\data\testpreinstalled_patch_x.sis x:\testpreinstalled_patch_x.sis
+RUN_UTILS MakeReadWrite x:\testpreinstalled_install_x.sis
+RUN_UTILS MakeReadWrite x:\testpreinstalled_patch_x.sis
+
+// Copy preinstalled file to X drive.
+RUN_TEST_STEP 10 tuiscriptadaptors MmcCopyFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini setup_preinstalled_install_x
+
+// Install preinstalled app on MMC.
+RUN_TEST_STEP 100 tuiscriptadaptors InstallFHStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_install_x
+
+RUN_TEST_STEP 100 tuiscriptadaptors MmcAskRegistry z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_install_present_x
+
+// Check that sisregistry indicates the app is not present when the drive is removed
+RUN_TEST_STEP 100 tuiscriptadaptors MmcUnMountStep z:\tswi\tuiscriptadaptors\scripts\drives.ini X
+RUN_TEST_STEP 100 tuiscriptadaptors MmcAskRegistry z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_install_absent_x
+
+// Check that sisregistry indicates the app is present when the drive is re-inserted.
+RUN_TEST_STEP 100 tuiscriptadaptors MmcMountStep z:\tswi\tuiscriptadaptors\scripts\drives.ini X
+RUN_TEST_STEP 100 tuiscriptadaptors MmcAskRegistry z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_install_present_x
+RUN_TEST_STEP 100 tuiscriptadaptors MmcCheckFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_install_x
+
+// Uninstall
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_preinstalled_install_x
+
+RUN_TEST_STEP 10 tuiscriptadaptors MmcDeleteFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini delete_preinstalled_install_x
+
+END_TESTCASE API-SEC-UISA-PreInstalledTest-I-0002
+
+
+//! @SYMTestCaseID 		API-SEC-UISA-PreInstalledTest-I-0003
+//! @SYMTestCaseDesc 		Checks that sis registry correctly indicates preinstalled patches are present based on
+//! 				presence of installed drives.
+//! @SYMDEF 			INC080064
+//! @SYMTestPriority 		High
+//! @SYMTestActions  		Installs app, checks sisregistry indicated presence of app through unmounts and remounts of MMC card, and
+//! 				after uninstall.
+//! @SYMTestExpectedResults 	Registry does not indicate app is present unless drive it is installed on is present.
+//! @SYMDevelopedForRelease 	Mike
+
+START_TESTCASE API-SEC-UISA-PreInstalledTest-I-0003
+
+// Install base app
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini selfsigned_base
+
+// Copy preinstalled patch to X drive.
+RUN_TEST_STEP 10 tuiscriptadaptors MmcCopyFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini setup_preinstalled_patch_x
+// Install preinstalled patch on MMC.
+RUN_TEST_STEP 100 tuiscriptadaptors InstallFHStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_patch_x
+
+RUN_TEST_STEP 100 tuiscriptadaptors MmcAskRegistry z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_patch_present
+
+// Check that sisregistry indicates the app is not present when the drive is removed
+RUN_TEST_STEP 100 tuiscriptadaptors MmcUnMountStep z:\tswi\tuiscriptadaptors\scripts\drives.ini X
+RUN_TEST_STEP 100 tuiscriptadaptors MmcAskRegistry z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_patch_absent
+
+// Check that sisregistry indicates the app is present when the drive is re-inserted.
+RUN_TEST_STEP 100 tuiscriptadaptors MmcMountStep z:\tswi\tuiscriptadaptors\scripts\drives.ini X
+RUN_TEST_STEP 100 tuiscriptadaptors MmcAskRegistry z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_patch_present
+
+// Remove patch
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallAugStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_preinstalled_patch_x
+
+RUN_TEST_STEP 10 tuiscriptadaptors MmcDeleteFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini delete_preinstalled_patch_x
+
+// Remove base app
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_base
+
+RUN_UTILS DeleteFile x:\testpreinstalled_install_x.sis
+RUN_UTILS DeleteFile x:\testpreinstalled_patch_x.sis
+
+RUN_UTILS DELETEFILE e:\tswi\preinstalled\preinstalledinstall.txt
+RUN_UTILS DELETEFILE e:\tswi\preinstalled\preinstalledpatch.txt
+RUN_UTILS DELETEFILE e:\tswi\preinstalled\preinstalledpatch2.txt
+RUN_UTILS DELETEFILE e:\testpreinstalled_install_dsa_l1.sis
+RUN_UTILS DELETEFILE e:\testpreinstalled_patch2_dsa_l1.sis
+RUN_UTILS DELETEFILE e:\testpreinstalled_patch_dsa_l1.sis
+
+END_TESTCASE API-SEC-UISA-PreInstalledTest-I-0003
+
+
+//! @SYMTestCaseID 		API-SEC-testPA-drive-rewrite-0001
+//! @SYMTestCaseDesc 		Test that PA SIS files can be installed on any drive.
+//! @SYMDevelopedForRelease 	Naiad
+
+// Check that all stub references (e.g. e:\foo) are re-written
+// to the drive letter where the SIS file resides. In this test
+// case use a SIS which references e:\tswi\preinstalled\preinstalledinstall.txt
+// Copy this file from the ROM to x:, and check that this SIS
+// file installs on x: instead of e: successfully
+
+START_TESTCASE API-SEC-testPA-drive-rewrite-0001
+
+RUN_UTILS CopyFile z:\tswi\tsis\data\testpreinstalled_install.sis x:\testPA.sis
+RUN_UTILS MakeReadWrite x:\testPA.sis
+RUN_UTILS MKDIR x:\tswi\
+RUN_UTILS MKDIR x:\tswi\preinstalled\
+RUN_UTILS CopyFile z:\tswi\tuiscriptadaptors\data\preinstalledinstall.txt x:\tswi\preinstalled\preinstalledinstall.txt
+
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini testPA_driverewrite
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_testPA_driverewrite
+
+RUN_UTILS DELETEFILE x:\tswi\preinstalled\preinstalledinstall.txt
+RUN_UTILS DELETEFILE x:\testPA.sis
+
+END_TESTCASE API-SEC-testPA-drive-rewrite-0001
+
+
+//! @SYMTestCaseID 		API-SEC-testPP-drive-rewrite-0001
+//! @SYMTestCaseDesc 		Test that PP SIS files can be installed on any drive.
+//! @SYMDevelopedForRelease 	Naiad
+
+// Check that all stub references (e.g. e:\foo) are re-written
+// to the drive letter where the SIS file resides. In this test
+// case use a SIS which references e:\tswi\preinstalled\preinstalledinstall.txt
+// Copy this file from the ROM to x:, and check that this SIS
+// file installs on x: instead of e: successfully
+
+START_TESTCASE API-SEC-testPP-drive-rewrite-0001
+
+RUN_UTILS CopyFile z:\tswi\tsis\data\testpreinstalled_patch.sis x:\testPP.sis
+RUN_UTILS CopyFile z:\tswi\tsis\data\testpreinstalled_base.sis  x:\testPPbase.sis
+RUN_UTILS MakeReadWrite x:\testPP.sis
+RUN_UTILS MakeReadWrite x:\testPPbase.sis
+RUN_UTILS COPYFILE z:\tswi\tuiscriptadaptors\data\preinstalledinstall.txt x:\tswi\preinstalled\preinstalledpatch.txt
+
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini testPPbase_driverewrite
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini testPP_driverewrite
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_testPP_driverewrite
+
+RUN_UTILS DELETEFILE x:\tswi\preinstalled\preinstalledpatch.txt
+RUN_UTILS DELETEFILE x:\Documents\InstTest\preinstalledbase.txt
+RUN_UTILS DELETEFILE x:\testPPbase.sis
+RUN_UTILS DELETEFILE x:\testPP.sis
+
+END_TESTCASE API-SEC-testPP-drive-rewrite-0001
+
+
+//! @SYMTestCaseID 		API-SEC-testPA-multiple-drive-0001
+//! @SYMTestCaseDesc 		Test that PA SIS file referencing more than one drive cannot be installed
+//! @SYMDevelopedForRelease 	Naiad
+
+// Check that a PA SIS file referencing files in e: and c:
+// doesn't install, and fails with KErrSISInvalidTargetFile.
+// See INC109356 for more information.
+
+START_TESTCASE API-SEC-testPA-multiple-drive-0001
+
+RUN_UTILS CopyFile z:\tswi\tsis\data\testpreinstalled_multiple.sis e:\testpreinstalled_multiple.sis
+RUN_UTILS MakeReadWrite e:\testpreinstalled_multiple.sis
+RUN_UTILS CopyFile z:\tswi\tuiscriptadaptors\data\preinstalledinstall.txt e:\tswi\preinstalled\preinstalledinstall.txt
+RUN_UTILS CopyFile z:\tswi\tuiscriptadaptors\data\preinstalledinstall.txt c:\tswi\preinstalled\preinstalledinstall.txt
+
+RUN_TEST_STEP_RESULT -10146 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini testPA_multiple
+
+RUN_UTILS DELETEFILE e:\testpreinstalled_multiple.sis
+RUN_UTILS DELETEFILE e:\tswi\preinstalled\preinstalledinstall.txt
+RUN_UTILS DELETEFILE c:\tswi\preinstalled\preinstalledinstall.txt
+
+END_TESTCASE API-SEC-testPA-multiple-drive-0001
+
+
+//! @SYMTestCaseID 		API-SEC-propagatedStub-0001
+//! @SYMTestCaseDesc 		Test that propagated SIS stub files cannot reference files on a different drive letter to where the SIS stub file is located
+//! @SYMTestPriority 		High
+//! @SYMTestExpectedResults 	No installation
+//! @SYMDevelopedForRelease 	Mike
+
+// Test SIS stub files for propagations; check that propagated
+// stub SIS files cannot reference files on other drive letters
+// from the drive they're being installed from.
+
+// This script requires the SWIPolicy AllowPackagePropagate to be true in order to pass
+
+PRINT Run Removable media SIS stub installation test
+PRINT SWIPolicy AllowPackagePropagate must be set to true for these tests to pass
+
+START_TESTCASE API-SEC-propagatedStub-0001
+
+// make sure any previous installation of simple.sis is removed
+// X: is the default removable drive on Symbian OS
+RUN_UTILS DeleteFile x:\Documents\InstTest\file1.txt
+RUN_UTILS DeleteFile x:\private\10202dce\80000001_0.sis
+RUN_UTILS DeleteFile x:\80000001_0.sis
+RUN_UTILS DeleteFile x:\file1.txt
+
+/// Simple file installation from a compressed SIS file
+// Install the full SIMPLE.SIS file
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini simple
+
+// Copy the stub that was created and the file1.txt installed by SIMPLE.SIS
+RUN_UTILS CopyFile x:\private\10202dce\80000001_0.sis x:\80000001_0.sis
+RUN_UTILS CopyFile x:\Documents\InstTest\file1.txt x:\file1.txt
+
+// Uninstall SIMPLE.SIS
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_simple
+
+// Now put the file1.txt back in place and install the copy of the stub that was created earlier
+// Need to install the copy of the stub from x:\ because tuiscriptadaptors cant access the \private\10202dce\ directroy
+RUN_UTILS MkDir x:\Documents\
+RUN_UTILS MkDir x:\Documents\InstTest\
+RUN_UTILS CopyFile x:\file1.txt x:\Documents\InstTest\file1.txt
+RUN_UTILS DeleteFile x:\file1.txt
+
+// Copy the stub back into position on the C: drive
+// This should now fail to install, as has been moved
+// from the x: drive, where the files are located
+
+RUN_UTILS MkDir c:\private\
+RUN_UTILS MkDir c:\private\10202dce\
+RUN_UTILS CopyFile x:\80000001_0.sis c:\private\10202dce\80000001_0.sis
+
+// Install propagated stub and check this now fails to install
+// This actually fails with KErrInvalidEclipsing, as for a propagated stub
+// the drive references are converted to ! at installation time, and then
+// an eclipse of the data file on x: is detected as we're installing
+// the propagated SIS stub file from c:
+RUN_TEST_STEP_RESULT -10257 100 tuiscriptadaptors InstallFHStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini simplestub
+
+// Remove the copies of files that we created
+RUN_UTILS DeleteFile x:\80000001_0.sis
+RUN_UTILS DeleteFile x:\Documents\InstTest\file1.txt
+RUN_UTILS DeleteFile c:\private\10202dce\80000001_0.sis
+
+END_TESTCASE API-SEC-propagatedStub-0001
+
+
+//! @SYMTestCaseID 		API-SEC-PuForPaNotAllowed-0001
+//! @SYMTestCaseDesc 		Test that a Partial Upgrade of a Preinstalled Application is not allowed.
+//! @SYMDEF 			PDEF082521
+//! @SYMTestPriority 		High
+//! @SYMTestExpectedResults 	No installation
+//! @SYMDevelopedForRelease 	Mike
+
+START_TESTCASE API-SEC-PuForPaNotAllowed-0001
+
+// Copy files into place on the pre-installed drives
+RUN_UTILS MKDIR e:\tswi\
+RUN_UTILS MKDIR e:\tswi\preinstalled\
+RUN_UTILS COPYFILE z:\tswi\tuiscriptadaptors\data\preinstalledinstall.txt e:\tswi\preinstalled\preinstalledinstall.txt
+RUN_UTILS MAKEREADWRITE e:\tswi\preinstalled\preinstalledinstall.txt
+RUN_UTILS COPYFILE z:\tswi\tsis\data\Root5CA\dsa_len1\testpreinstalled_install_dsa_l1.sis e:\testpreinstalled_install_dsa_l1.sis
+RUN_UTILS MAKEREADWRITE e:\testpreinstalled_install_dsa_l1.sis
+
+// pre-installed normal application
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini preinstalled_install
+
+// Try to install a partial upgrade (PU) to a preinstalled app (PA)
+// This should fail with a KErrInvalidUpgrade -10256
+RUN_TEST_STEP_RESULT -10256 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\tuiscriptadaptors.ini testpuforpanotallowed
+
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_preinstalled_install
+
+RUN_UTILS DELETEFILE e:\tswi\preinstalled\preinstalledinstall.txt
+RUN_UTILS DELETEFILE e:\testpreinstalled_install_dsa_l1.sis
+
+END_TESTCASE API-SEC-PuForPaNotAllowed-0001
+
+
+//! @SYMTestCaseID 		API-SEC-MissingSisRegistry-0001
+//! @SYMTestCaseDesc 		Test that installation is successful when a preinstalled sis registry file or folder is missing
+//! @SYMDEF 			DEF099689
+//! @SYMTestPriority 		Medium
+//! @SYMTestExpectedResults 	Successful installation/uninstallation
+//! @SYMDevelopedForRelease 	Nile
+
+START_TESTCASE API-SEC-MissingSisRegistry-0001
+
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini missing_registry
+RUN_TEST_STEP 100 tuiscriptadaptors MmcDeleteFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini delete_regfile
+RUN_UTILS DeleteFile c:\Documents\InstTest\def099689.txt
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini missing_registry
+RUN_TEST_STEP 100 tuiscriptadaptors MmcDeleteFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini delete_ctlfile
+RUN_UTILS DeleteFile c:\Documents\InstTest\def099689.txt
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini missing_registry
+RUN_UTILS DeleteDir c:\sys\install\sisregistry\80099689\
+RUN_UTILS DeleteFile c:\Documents\InstTest\def099689.txt
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini missing_registry
+
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini missing_registry_1
+RUN_TEST_STEP 100 tuiscriptadaptors MmcDeleteFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini delete_regfile
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_missing_registry_1
+RUN_UTILS DeleteFile c:\Documents\InstTest\def099689.txt
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini missing_registry
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini missing_registry_1
+RUN_TEST_STEP 100 tuiscriptadaptors MmcDeleteFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini delete_ctlfile
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_missing_registry_1
+RUN_UTILS DeleteFile c:\Documents\InstTest\def099689.txt
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini missing_registry
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini missing_registry_1
+RUN_UTILS DeleteDir c:\sys\install\sisregistry\80099689\
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_missing_registry_1
+RUN_UTILS DeleteFile c:\Documents\InstTest\def099689.txt
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini missing_registry
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_missing_registry
+
+END_TESTCASE API-SEC-MissingSisRegistry-0001
+
+
+//! @SYMTestCaseID 		API-SEC-Controller-0001
+//! @SYMTestCaseDesc 		Test that when a MMC card is mount, if the .ctl file does not have the same hash as in the sisregistry
+//				the sisregistry would not be present
+//! @SYMDEF 			PDEF114615
+//! @SYMTestPriority 		High
+//! @SYMTestExpectedResults 	No installation
+//! @SYMDevelopedForRelease 	Sphinx
+
+START_TESTCASE API-SEC-Controller-0001
+
+// Install the full TEXTFILE.SIS file
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini textfile
+
+// Check that the registry is present
+RUN_TEST_STEP 100 tuiscriptadaptors MmcAskRegistry z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini textfile_present
+
+// Save the .ctl file
+RUN_UTILS CopyFile x:\sys\install\sisregistry\80000001\00000000_0000.ctl x:\00000000_0000.ctl
+
+// Delete the x:\sys\install\sisregistry\80000001\00000000_0000.ctl file
+RUN_TEST_STEP 10 tuiscriptadaptors MmcDeleteFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini delete_textfile_ctlfile
+
+// Copy another package .ctl file to x:\sys\install\sisregistry\80000001\00000000_0000.ctl
+RUN_TEST_STEP 10 tuiscriptadaptors MmcCopyFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini copy_textfile_ctlfile
+
+RUN_TEST_STEP 100 tuiscriptadaptors MmcUnMountStep z:\tswi\tuiscriptadaptors\scripts\drives.ini X
+
+RUN_TEST_STEP 100 tuiscriptadaptors MmcMountStep z:\tswi\tuiscriptadaptors\scripts\drives.ini X
+
+// Check that the registry is not present
+RUN_TEST_STEP 100 tuiscriptadaptors MmcAskRegistry z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini textfile_absent
+
+// Restore the original .ctl file to x:\sys\install\sisregistry\80000001\00000000_0000.ctl
+RUN_TEST_STEP 10 tuiscriptadaptors MmcDeleteFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini delete_textfile_ctlfile
+RUN_TEST_STEP 10 tuiscriptadaptors MmcCopyFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini copy_textfile_ctlfile2
+
+RUN_TEST_STEP 100 tuiscriptadaptors MmcUnMountStep z:\tswi\tuiscriptadaptors\scripts\drives.ini X
+
+RUN_TEST_STEP 100 tuiscriptadaptors MmcMountStep z:\tswi\tuiscriptadaptors\scripts\drives.ini X
+
+// Check that the registry is okay now.
+RUN_TEST_STEP 100 tuiscriptadaptors MmcAskRegistry z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini textfile_present
+
+// Uninstall TEXTFILE.SIS
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_textfile
+
+RUN_UTILS DeleteFile x:\00000000_0000.ctl
+
+END_TESTCASE API-SEC-Controller-0001
+
+
+//! @SYMTestCaseID 		API-SEC-Controller-0002
+//! @SYMTestCaseDesc 		Test that when a MMC card is mount, as long as the .ctl file comes from the same sisfile,
+//				the trust status of the .ctl does not matter
+//! @SYMDEF 			PDEF114615
+//! @SYMTestPriority 		High
+//! @SYMTestExpectedResults 	No installation
+//! @SYMDevelopedForRelease 	Sphinx
+
+START_TESTCASE API-SEC-Controller-0002
+
+/// Simple file installation from a compressed SIS file
+// Install the full TEXTFILE_ROOT5CA.SIS file
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini textfile_root5ca
+
+RUN_TEST_STEP 100 tuiscriptadaptors MmcAskRegistry z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini textfile_present
+
+// Save the .ctl file
+RUN_UTILS CopyFile x:\sys\install\sisregistry\80000001\00000000_0000.ctl x:\00000000_0000.ctl
+
+// Uninstall TEXTFILE_ROOT5CA.SIS
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_textfile
+
+// Install the TEXTFILE.SIS file
+RUN_TEST_STEP 100 tuiscriptadaptors InstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini textfile
+
+// Check that the registry is present
+RUN_TEST_STEP 100 tuiscriptadaptors MmcAskRegistry z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini textfile_present
+
+// Delete the x:\sys\install\sisregistry\80000001\00000000_0000.ctl file
+RUN_TEST_STEP 10 tuiscriptadaptors MmcDeleteFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini delete_textfile_ctlfile
+
+// Copy the .ctl file from the previous root5ca version to x:\sys\install\sisregistry\80000001\00000000_0000.ctl
+RUN_TEST_STEP 10 tuiscriptadaptors MmcCopyFilesStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini copy_textfile_ctlfile2
+
+RUN_TEST_STEP 100 tuiscriptadaptors MmcUnMountStep z:\tswi\tuiscriptadaptors\scripts\drives.ini X
+
+RUN_TEST_STEP 100 tuiscriptadaptors MmcMountStep z:\tswi\tuiscriptadaptors\scripts\drives.ini X
+
+// Check that the registry is okay
+RUN_TEST_STEP 100 tuiscriptadaptors MmcAskRegistry z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini textfile_present
+
+// Uninstall TEXTFILE.SIS
+RUN_TEST_STEP 100 tuiscriptadaptors UninstallStep z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini u_textfile
+
+RUN_UTILS DeleteFile x:\00000000_0000.ctl
+
+END_TESTCASE API-SEC-Controller-0002
+
+
+RUN_TEST_STEP 100 tuiscriptadaptors ForceRemove z:\tswi\tuiscriptadaptors\scripts\testpreinstalled.ini removedummyswiplugin
+
+// Ensure that SWIS shuts down after the above tests to make sure heap checks run
+RUN_TEST_STEP 5 tuiscriptadaptors SwisNotRunning