installationservices/swi/test/tuiscriptadaptors/scripts/testpreinstalled.script
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 15:21:33 +0300
branchRCL_3
changeset 25 7333d7932ef7
parent 0 ba25891c3a9e
child 26 8b7f4e561641
permissions -rw-r--r--
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 unit (integration) tests for upgrades
PRINT Run all SWIS tests
LOAD_SUITE tuiscriptadaptors
LOAD_SUITE tdaemon

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

//Commenting the testcase because tdaemon is removed from code base. To be restored later.

//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
//RUN_TEST_STEP 100 tdaemon AddDriveStep z:\tswi\tdaemon\scripts\tdaemon.ini AddDriveX

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