Test: Tweaked Profile tests and added AppInstall
authorbrendand
Thu, 05 Nov 2009 12:29:50 +0000
changeset 739 552776214487
parent 738 53abda826a9f
child 740 cd5265e3bfd7
Test: Tweaked Profile tests and added AppInstall
common/tools/ats/smoketest/appinstall/Bmarm/AppInstallSmokeTestModuleU.DEF
common/tools/ats/smoketest/appinstall/Bwins/AppInstallSmokeTestModuleU.DEF
common/tools/ats/smoketest/appinstall/EABI/AppInstallSmokeTestModuleU.def
common/tools/ats/smoketest/appinstall/conf/AppInstallSmokeTestModule.cfg
common/tools/ats/smoketest/appinstall/group/AppInstallSmokeTestModule.mmp
common/tools/ats/smoketest/appinstall/group/Bld.inf
common/tools/ats/smoketest/appinstall/inc/AppInstallSmokeTestModule.h
common/tools/ats/smoketest/appinstall/src/AppInstallSmokeTestModule.cpp
common/tools/ats/smoketest/appinstall/src/AppInstallSmokeTestModuleBlocks.cpp
common/tools/ats/smoketest/profiles/conf/ProfileSmokeTestModule.cfg
common/tools/ats/smoketest/profiles/inc/ProfileSmokeTestModule.h
common/tools/ats/smoketest/profiles/src/ProfileSmokeTestModuleBlocks.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/smoketest/appinstall/Bmarm/AppInstallSmokeTestModuleU.DEF	Thu Nov 05 12:29:50 2009 +0000
@@ -0,0 +1,3 @@
+EXPORTS
+	LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/smoketest/appinstall/Bwins/AppInstallSmokeTestModuleU.DEF	Thu Nov 05 12:29:50 2009 +0000
@@ -0,0 +1,3 @@
+EXPORTS
+	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/smoketest/appinstall/EABI/AppInstallSmokeTestModuleU.def	Thu Nov 05 12:29:50 2009 +0000
@@ -0,0 +1,3 @@
+EXPORTS
+	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/smoketest/appinstall/conf/AppInstallSmokeTestModule.cfg	Thu Nov 05 12:29:50 2009 +0000
@@ -0,0 +1,15 @@
+[Test]
+title Install Application
+create AppInstallSmokeTestModule installer
+installer InstallApp c:\testing\data\sistest_winscw.sisx
+delete installer
+[Endtest]
+
+[Test]
+title Uninstall Application
+create AppInstallSmokeTestModule uninstaller
+uninstaller UninstallApp 1A
+delete uninstaller
+[Endtest]
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/smoketest/appinstall/group/AppInstallSmokeTestModule.mmp	Thu Nov 05 12:29:50 2009 +0000
@@ -0,0 +1,77 @@
+/*TYPE TESTCLASS*/
+/*
+* 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 "Symbian Foundation License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: MMP file for STIF Test Framework's TestScripter 
+* testclass test module.
+*
+*/
+
+#include <platform_paths.hrh>
+
+TARGET          AppInstallSmokeTestModule.dll
+TARGETTYPE      dll
+UID             0x1000008D 0x101FB3E3
+
+CAPABILITY      ALL -TCB
+/* Remove comments and replace 0x00000000 with correct vendor id */
+// VENDORID     0x00000000
+/* Remove comments and replace 0x00000000 with correct secure id */
+// SECUREID     0x00000000
+
+//TARGETPATH      ?target_path
+DEFFILE         AppInstallSmokeTestModule.def
+
+USERINCLUDE     ../inc 
+
+MW_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE	/epoc32/include/ecom
+
+SOURCEPATH      ../src
+
+SOURCE          AppInstallSmokeTestModule.cpp
+SOURCE          AppInstallSmokeTestModuleBlocks.cpp
+
+//RESOURCE        resource_file
+//RESOURCE        resource_file2
+
+LIBRARY         euser.lib
+LIBRARY         stiftestinterface.lib
+LIBRARY         stiftestengine.lib
+LIBRARY			swinstcli.lib
+
+LANG            SC
+
+/*
+START WINS      
+?wins_specific_information
+END
+
+START MARM
+?marm_specific_information
+END
+*/
+// Other possible keywords:
+ 
+// DOCUMENT     ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
+/*
+START BITMAP ?target
+TARGETPATH   ?emulated_path_on_target_machine
+HEADER
+SOURCE       ?color_depth ?source_bitmap
+END
+*/
+// DEFFILE ?filename
+// AIF ?filename
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/smoketest/appinstall/group/Bld.inf	Thu Nov 05 12:29:50 2009 +0000
@@ -0,0 +1,60 @@
+/*
+* 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 "Symbian Foundation License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description:
+*
+*/
+
+PRJ_PLATFORMS
+// specify the platforms your component needs to be built for here
+// defaults to WINS MARM so you can ignore this if you just build these
+	
+	DEFAULT
+
+PRJ_TESTEXPORTS
+// NOTE: If using ARS requirements all export operations should be done under this.
+// 'abld test export'
+../conf/AppInstallSmokeTestModule.cfg	c:/smoketest/AppInstallSmokeTest.cfg
+
+PRJ_EXPORTS
+// Specify the source file followed by its destination here
+// copy will be used to copy the source file to its destination
+// If there's no destination then the source file will be copied
+// to the same name in \epoc32\include
+// Example: 
+/*
+\agnmodel\inc\AGMCOMON.H
+*/
+
+PRJ_TESTMMPFILES
+
+	AppInstallSmokeTestModule.mmp
+
+PRJ_MMPFILES
+
+
+// Specify the .mmp files required for building the important component
+// releasables.
+//
+// Specify "tidy" if the component you need to build doesn't need to be
+// released. Specify "ignore" if the MMP file exists but should be
+// ignored.
+// Example:
+/*
+\agnmodel\group\agnmodel.mmp
+#if defined(MARM)
+\agnmodel\group\agsvexe.mmp
+#endif
+*/
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/smoketest/appinstall/inc/AppInstallSmokeTestModule.h	Thu Nov 05 12:29:50 2009 +0000
@@ -0,0 +1,186 @@
+/*
+* 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 "Symbian Foundation License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: STIF testclass declaration
+*
+*/
+
+#ifndef APPINSTALLSMOKETESTMODULE_H
+#define APPINSTALLSMOKETESTMODULE_H
+
+//  INCLUDES
+#include <StifLogger.h>
+#include <TestScripterInternal.h>
+#include <StifTestModule.h>
+#include <TestclassAssert.h>
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+
+// MACROS
+//#define ?macro ?macro_def
+#define TEST_CLASS_VERSION_MAJOR 0
+#define TEST_CLASS_VERSION_MINOR 0
+#define TEST_CLASS_VERSION_BUILD 0
+
+// Logging path
+_LIT( KAppInstallSmokeTestModuleLogPath, "\\logs\\testframework\\AppInstallSmokeTestModule\\" ); 
+// Log file
+_LIT( KAppInstallSmokeTestModuleLogFile, "AppInstallSmokeTestModule.txt" ); 
+_LIT( KAppInstallSmokeTestModuleLogFileWithTitle, "AppInstallSmokeTestModule_[%S].txt" );
+
+// FUNCTION PROTOTYPES
+//?type ?function_name(?arg_list);
+
+// FORWARD DECLARATIONS
+//class ?FORWARD_CLASSNAME;
+class CAppMngr2Runtime;
+class CAppInstallSmokeTestModule;
+
+// DATA TYPES
+//enum ?declaration
+//typedef ?declaration
+//extern ?data_type;
+
+// CLASS DECLARATION
+
+/**
+*  CAppInstallSmokeTestModule test class for STIF Test Framework TestScripter.
+*  ?other_description_lines
+*
+*  @lib ?library
+*  @since ?Series60_version
+*/
+NONSHARABLE_CLASS(CAppInstallSmokeTestModule) : public CScriptBase
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static CAppInstallSmokeTestModule* NewL( CTestModuleIf& aTestModuleIf );
+
+        /**
+        * Destructor.
+        */
+        virtual ~CAppInstallSmokeTestModule();
+
+    public: // New functions
+
+        /**
+        * ?member_description.
+        * @since ?Series60_version
+        * @param ?arg1 ?description
+        * @return ?description
+        */
+        //?type ?member_function( ?type ?arg1 );
+
+    public: // Functions from base classes
+
+        /**
+        * From CScriptBase Runs a script line.
+        * @since ?Series60_version
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code
+        */
+        virtual TInt RunMethodL( CStifItemParser& aItem );
+
+    protected:  // New functions
+
+        /**
+        * ?member_description.
+        * @since ?Series60_version
+        * @param ?arg1 ?description
+        * @return ?description
+        */
+        //?type ?member_function( ?type ?arg1 );
+
+    protected:  // Functions from base classes
+
+        /**
+        * From ?base_class ?member_description
+        */
+        //?type ?member_function();
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CAppInstallSmokeTestModule( CTestModuleIf& aTestModuleIf );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+        // Prohibit copy constructor if not deriving from CBase.
+        // ?classname( const ?classname& );
+        // Prohibit assigment operator if not deriving from CBase.
+        // ?classname& operator=( const ?classname& );
+
+        /**
+        * Frees all resources allocated from test methods.
+        * @since ?Series60_version
+        */
+        void Delete();
+
+        /**
+        * Test methods are listed below. 
+        */
+
+        /**
+        * Example test method.
+        * @since ?Series60_version
+        * @param aItem Script line containing parameters.
+        * @return Symbian OS error code.
+        */
+        virtual TInt InstallAppL( CStifItemParser& aItem );
+        virtual TInt UninstallAppL( CStifItemParser& aItem );
+        
+        /**
+         * Method used to log version of test class
+         */
+        void SendTestClassVersion();
+
+        //ADD NEW METHOD DEC HERE
+        //[TestMethods] - Do not remove
+
+    public:     // Data
+        // ?one_line_short_description_of_data
+        //?data_declaration;
+
+    protected:  // Data
+        // ?one_line_short_description_of_data
+        //?data_declaration;
+
+    private:    // Data
+    	RPointerArray<CAppMngr2Runtime> iPlugins;
+        // ?one_line_short_description_of_data
+        //?data_declaration;
+
+        // Reserved pointer for future extension
+        //TAny* iReserved;
+
+    public:     // Friend classes
+        //?friend_class_declaration;
+    protected:  // Friend classes
+        //?friend_class_declaration;
+    private:    // Friend classes
+        //?friend_class_declaration;
+
+    };
+
+#endif      // APPINSTALLSMOKETESTMODULE_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/smoketest/appinstall/src/AppInstallSmokeTestModule.cpp	Thu Nov 05 12:29:50 2009 +0000
@@ -0,0 +1,199 @@
+/*
+* 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 "Symbian Foundation License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: This file contains testclass implementation.
+*
+*/
+
+// INCLUDE FILES
+#include <Stiftestinterface.h>
+#include "AppInstallSmokeTestModule.h"
+#include <SettingServerClient.h>
+
+// EXTERNAL DATA STRUCTURES
+//extern  ?external_data;
+
+// EXTERNAL FUNCTION PROTOTYPES  
+//extern ?external_function( ?arg_type,?arg_type );
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+
+// MACROS
+//#define ?macro ?macro_def
+
+// LOCAL CONSTANTS AND MACROS
+//const ?type ?constant_var = ?constant;
+//#define ?macro_name ?macro_def
+
+// MODULE DATA STRUCTURES
+//enum ?declaration
+//typedef ?declaration
+
+// LOCAL FUNCTION PROTOTYPES
+//?type ?function_name( ?arg_type, ?arg_type );
+
+// FORWARD DECLARATIONS
+//class ?FORWARD_CLASSNAME;
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// ?function_name ?description.
+// ?description
+// Returns: ?value_1: ?description
+//          ?value_n: ?description_line1
+//                    ?description_line2
+// -----------------------------------------------------------------------------
+//
+/*
+?type ?function_name(
+    ?arg_type arg,  // ?description
+    ?arg_type arg)  // ?description
+    {
+
+    ?code  // ?comment
+
+    // ?comment
+    ?code
+    }
+*/
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CAppInstallSmokeTestModule::CAppInstallSmokeTestModule
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CAppInstallSmokeTestModule::CAppInstallSmokeTestModule( 
+    CTestModuleIf& aTestModuleIf ):
+        CScriptBase( aTestModuleIf )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CAppInstallSmokeTestModule::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CAppInstallSmokeTestModule::ConstructL()
+    {
+    //Read logger settings to check whether test case name is to be
+    //appended to log file name.
+    RSettingServer settingServer;
+    TInt ret = settingServer.Connect();
+    if(ret != KErrNone)
+        {
+        User::Leave(ret);
+        }
+    // Struct to StifLogger settigs.
+    TLoggerSettings loggerSettings; 
+    // Parse StifLogger defaults from STIF initialization file.
+    ret = settingServer.GetLoggerSettings(loggerSettings);
+    if(ret != KErrNone)
+        {
+        User::Leave(ret);
+        } 
+    // Close Setting server session
+    settingServer.Close();
+
+    TFileName logFileName;
+    
+    if(loggerSettings.iAddTestCaseTitle)
+        {
+        TName title;
+        TestModuleIf().GetTestCaseTitleL(title);
+        logFileName.Format(KAppInstallSmokeTestModuleLogFileWithTitle, &title);
+        }
+    else
+        {
+        logFileName.Copy(KAppInstallSmokeTestModuleLogFile);
+        }
+
+    iLog = CStifLogger::NewL( KAppInstallSmokeTestModuleLogPath, 
+                          logFileName,
+                          CStifLogger::ETxt,
+                          CStifLogger::EFile,
+                          EFalse );
+    
+    SendTestClassVersion();
+    }
+
+// -----------------------------------------------------------------------------
+// CAppInstallSmokeTestModule::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CAppInstallSmokeTestModule* CAppInstallSmokeTestModule::NewL( 
+    CTestModuleIf& aTestModuleIf )
+    {
+    CAppInstallSmokeTestModule* self = new (ELeave) CAppInstallSmokeTestModule( aTestModuleIf );
+
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+
+    return self;
+
+    }
+
+// Destructor
+CAppInstallSmokeTestModule::~CAppInstallSmokeTestModule()
+    { 
+
+    // Delete resources allocated from test methods
+    Delete();
+
+    // Delete logger
+    delete iLog; 
+
+    }
+
+//-----------------------------------------------------------------------------
+// CAppInstallSmokeTestModule::SendTestClassVersion
+// Method used to send version of test class
+//-----------------------------------------------------------------------------
+//
+void CAppInstallSmokeTestModule::SendTestClassVersion()
+	{
+	TVersion moduleVersion;
+	moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
+	moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
+	moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
+	
+	TFileName moduleName;
+	moduleName = _L("AppInstallSmokeTestModule.dll");
+
+	TBool newVersionOfMethod = ETrue;
+	TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
+	}
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+// -----------------------------------------------------------------------------
+// LibEntryL is a polymorphic Dll entry point.
+// Returns: CScriptBase: New CScriptBase derived object
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CScriptBase* LibEntryL( 
+    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
+    {
+
+    return ( CScriptBase* ) CAppInstallSmokeTestModule::NewL( aTestModuleIf );
+
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/smoketest/appinstall/src/AppInstallSmokeTestModuleBlocks.cpp	Thu Nov 05 12:29:50 2009 +0000
@@ -0,0 +1,211 @@
+/*
+* 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 "Symbian Foundation License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: This file contains testclass implementation.
+*
+*/
+
+// [INCLUDE FILES] - do not remove
+#include <e32svr.h>
+#include <StifParser.h>
+#include <Stiftestinterface.h>
+#include <ImplementationInformation.h>
+#include <SwInstApi.h>
+#include "AppInstallSmokeTestModule.h"
+
+// EXTERNAL DATA STRUCTURES
+//extern  ?external_data;
+
+// EXTERNAL FUNCTION PROTOTYPES  
+//extern ?external_function( ?arg_type,?arg_type );
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+
+// MACROS
+//#define ?macro ?macro_def
+
+// LOCAL CONSTANTS AND MACROS
+//const ?type ?constant_var = ?constant;
+//#define ?macro_name ?macro_def
+
+// MODULE DATA STRUCTURES
+//enum ?declaration
+//typedef ?declaration
+
+// LOCAL FUNCTION PROTOTYPES
+//?type ?function_name( ?arg_type, ?arg_type );
+
+// FORWARD DECLARATIONS
+//class ?FORWARD_CLASSNAME;
+using namespace SwiUI;
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// ?function_name ?description.
+// ?description
+// Returns: ?value_1: ?description
+//          ?value_n: ?description_line1
+//                    ?description_line2
+// -----------------------------------------------------------------------------
+//
+/*
+?type ?function_name(
+    ?arg_type arg,  // ?description
+    ?arg_type arg)  // ?description
+    {
+
+    ?code  // ?comment
+
+    // ?comment
+    ?code
+    }
+*/
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CAppInstallSmokeTestModule::Delete
+// Delete here all resources allocated and opened from test methods. 
+// Called from destructor. 
+// -----------------------------------------------------------------------------
+//
+void CAppInstallSmokeTestModule::Delete() 
+    {
+
+    }
+
+// -----------------------------------------------------------------------------
+// CAppInstallSmokeTestModule::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt CAppInstallSmokeTestModule::RunMethodL( 
+    CStifItemParser& aItem ) 
+    {
+
+    static TStifFunctionInfo const KFunctions[] =
+        {  
+        // Copy this line for every implemented function.
+        // First string is the function name used in TestScripter script file.
+        // Second is the actual implementation member function.
+        ENTRY( "InstallApp", CAppInstallSmokeTestModule::InstallAppL ),
+        ENTRY( "UninstallApp", CAppInstallSmokeTestModule::UninstallAppL ),
+        //ADD NEW ENTRY HERE
+        // [test cases entries] - Do not remove
+
+        };
+
+    const TInt count = sizeof( KFunctions ) / 
+                        sizeof( TStifFunctionInfo );
+
+    return RunInternalL( KFunctions, count, aItem );
+
+    }
+
+// -----------------------------------------------------------------------------
+// CAppInstallSmokeTestModule::ExampleL
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CAppInstallSmokeTestModule::InstallAppL( CStifItemParser& aItem )
+    {
+    // Print to UI
+    _LIT( KAppInstallSmokeTestModule, "AppInstallSmokeTestModule" );
+    _LIT( KInstallApp, "In InstallApp" );
+    TestModuleIf().Printf( 0, KAppInstallSmokeTestModule, KInstallApp );
+    // Print to log file
+    iLog->Log( KInstallApp );
+
+    TInt i = 0;
+    TPtrC sisPath;
+    if ( aItem.GetNextString ( sisPath ) == KErrNone )
+        {
+        RSWInstSilentLauncher installer;
+        CleanupClosePushL(installer);
+        User::LeaveIfError(installer.Connect());
+        
+        TInstallOptionsPckg options;
+        options().iUpgrade = SwiUI::EPolicyAllowed;
+        options().iPackageInfo = SwiUI::EPolicyAllowed;
+        options().iOverwrite = SwiUI::EPolicyAllowed;
+        options().iKillApp = SwiUI::EPolicyAllowed;
+
+        
+        User::LeaveIfError(installer.SilentInstall(sisPath, options));
+        
+        CleanupStack::PopAndDestroy(&installer);
+        }
+
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CAppInstallSmokeTestModule::ExampleL
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CAppInstallSmokeTestModule::UninstallAppL( CStifItemParser& aItem )
+    {
+
+    // Print to UI
+    _LIT( KAppInstallSmokeTestModule, "AppInstallSmokeTestModule" );
+    _LIT( KUninstallApp, "In UninstallApp" );
+    TestModuleIf().Printf( 0, KAppInstallSmokeTestModule, KUninstallApp );
+    // Print to log file
+    iLog->Log( KUninstallApp );
+
+    TUint pkgUid;
+    if ( aItem.GetNextInt(pkgUid, EHex) == KErrNone )
+        {
+        RSWInstSilentLauncher uninstaller;
+        CleanupClosePushL(uninstaller);
+        User::LeaveIfError(uninstaller.Connect());
+        
+        TInstallOptionsPckg options;
+        options().iUpgrade = SwiUI::EPolicyAllowed;
+        options().iPackageInfo = SwiUI::EPolicyAllowed;
+        options().iOverwrite = SwiUI::EPolicyAllowed;
+        options().iKillApp = SwiUI::EPolicyAllowed;
+        
+        User::LeaveIfError(uninstaller.SilentUninstall( TUid::Uid(pkgUid), options, SwiUI::KSisxMimeType ));
+        
+        CleanupStack::PopAndDestroy(&uninstaller);
+        }
+
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CAppInstallSmokeTestModule::?member_function
+// ?implementation_description
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+/*
+TInt CAppInstallSmokeTestModule::?member_function(
+   CItemParser& aItem )
+   {
+
+   ?code
+
+   }
+*/
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+// None
+
+//  [End of File] - Do not remove
--- a/common/tools/ats/smoketest/profiles/conf/ProfileSmokeTestModule.cfg	Thu Nov 05 15:33:29 2009 +0000
+++ b/common/tools/ats/smoketest/profiles/conf/ProfileSmokeTestModule.cfg	Thu Nov 05 12:29:50 2009 +0000
@@ -1,21 +1,25 @@
 [Test]
-title SetProfileSilent
+title CheckActiveProfile
 create ProfileSmokeTestModule profile
-profile SetProfile Silent
+profile CheckActiveProfile General 7 0
 delete profile
 [Endtest]
 
 [Test]
-title SetProfileMeeting
+title SetActiveProfileSilent
 create ProfileSmokeTestModule profile
-profile SetProfile Meeting
+profile SetActiveProfile Silent
+profile CheckActiveProfile Silent 1 4
+profile SetActiveProfile General
 delete profile
 [Endtest]
 
 [Test]
-title SetProfileGeneral
+title SetActiveProfileOutdoor
 create ProfileSmokeTestModule profile
-profile SetProfile General
+profile SetActiveProfile Outdoor
+profile CheckActiveProfile Outdoor 10 0
+profile SetActiveProfile General
 delete profile
 [Endtest]
 
--- a/common/tools/ats/smoketest/profiles/inc/ProfileSmokeTestModule.h	Thu Nov 05 15:33:29 2009 +0000
+++ b/common/tools/ats/smoketest/profiles/inc/ProfileSmokeTestModule.h	Thu Nov 05 12:29:50 2009 +0000
@@ -145,7 +145,8 @@
         * @param aItem Script line containing parameters.
         * @return Symbian OS error code.
         */
-        virtual TInt SetProfileL( CStifItemParser& aItem );
+        virtual TInt CheckActiveProfileL( CStifItemParser& aItem);
+        virtual TInt SetActiveProfileL( CStifItemParser& aItem );
 
         /**
          * Method used to log version of test class
--- a/common/tools/ats/smoketest/profiles/src/ProfileSmokeTestModuleBlocks.cpp	Thu Nov 05 15:33:29 2009 +0000
+++ b/common/tools/ats/smoketest/profiles/src/ProfileSmokeTestModuleBlocks.cpp	Thu Nov 05 12:29:50 2009 +0000
@@ -21,6 +21,8 @@
 #include <Stiftestinterface.h>
 #include <MProEngEngine.h>
 #include <MProEngProfile.h>
+#include <MProEngProfileName.h>
+#include <MProEngToneSettings.h>
 #include <ProEngFactory.h>
 #include <Profile.hrh>
 #include "ProfileSmokeTestModule.h"
@@ -35,10 +37,12 @@
 //const ?type ?constant_var = ?constant;
 _LIT( KProfileSmokeTestModule, "ProfileSmokeTestModule" );
 _LIT( KProfile, "Profile: %S" );
+_LIT( KRingingVolume, "Ringing Volume: %d");
 
-_LIT(KGeneral, "General");
-_LIT(KSilent,  "Silent");
-_LIT(KMeeting, "Meeting");
+_LIT(KGeneral, 	"General");
+_LIT(KSilent,  	"Silent");
+_LIT(KMeeting, 	"Meeting");
+_LIT(KOutdoor,	"Outdoor");
 
 // MACROS
 //#define ?macro ?macro_def
@@ -106,7 +110,8 @@
         // Copy this line for every implemented function.
         // First string is the function name used in TestScripter script file.
         // Second is the actual implementation member function. 
-        ENTRY( "SetProfile", CProfileSmokeTestModule::SetProfileL ),
+        ENTRY( "CheckActiveProfile", CProfileSmokeTestModule::CheckActiveProfileL),
+        ENTRY( "SetActiveProfile", CProfileSmokeTestModule::SetActiveProfileL ),
         //ADD NEW ENTRY HERE
         // [test cases entries] - Do not remove
         };
@@ -119,14 +124,73 @@
     }
 
 // -----------------------------------------------------------------------------
+// CProfileSmokeTestModule::CheckActiveProfileL
+// Changes the current active profile according to the parameter
+// -----------------------------------------------------------------------------
+//
+TInt CProfileSmokeTestModule::CheckActiveProfileL( CStifItemParser& aItem )
+    {
+    // Print to UI
+    _LIT( KSetProfile, "In CheckActiveProfile" );
+    TestModuleIf().Printf( 0, KProfileSmokeTestModule, KSetProfile );
+    // Print to log file
+    iLog->Log( KSetProfile );
+
+	MProEngEngine* engine = ProEngFactory::NewEngineLC( iFs );
+	MProEngProfile* active = engine->ActiveProfileLC();
+    
+    TPtrC expectedName;
+    if ( aItem.GetNextString( expectedName ) == KErrNone )
+    	{
+    	TL( active->ProfileName().Name() == expectedName)
+    	}
+    
+    TInt expectedRingVol;
+    if ( aItem.GetNextInt( expectedRingVol ) == KErrNone )
+    	{
+    	TL(active->ToneSettings().RingingVolume() == expectedRingVol);
+    	}
+    
+    TInt expectedRingType;
+    if ( aItem.GetNextInt( expectedRingType ) == KErrNone )
+    	{
+    	TL(active->ToneSettings().RingingType() == expectedRingType);
+    	}
+    
+    TPtrC vibrate;
+    if ( aItem.GetNextString(vibrate) == KErrNone )
+    	{
+    	TBool expectedVibrate;
+    	if ( vibrate == _L("true"))
+    		{
+    		expectedVibrate = ETrue;
+    		}
+    	else if ( vibrate == _L("false"))
+    		{
+    		expectedVibrate = EFalse;
+    		}
+    	else
+    		{
+    		User::Leave(KErrArgument);
+    		}
+    	
+    	TL(expectedVibrate == active->ToneSettings().VibratingAlert());
+    	}
+    
+    CleanupStack::PopAndDestroy(2);
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
 // CProfileSmokeTestModule::SetProfileL
 // Changes the current active profile according to the parameter
 // -----------------------------------------------------------------------------
 //
-TInt CProfileSmokeTestModule::SetProfileL( CStifItemParser& aItem )
+TInt CProfileSmokeTestModule::SetActiveProfileL( CStifItemParser& aItem )
     {
     // Print to UI
-    _LIT( KSetProfile, "In SetProfile" );
+    _LIT( KSetProfile, "In SetActiveProfile" );
     TestModuleIf().Printf( 0, KProfileSmokeTestModule, KSetProfile );
     // Print to log file
     iLog->Log( KSetProfile );
@@ -152,6 +216,11 @@
     		// set to general
     		engine->SetActiveProfileL( EProfileGeneralId );
     		}
+    	else if (profile == KOutdoor)
+    		{
+    		// set to outdoors
+    		engine->SetActiveProfileL( EProfileOutdoorId );
+    		}
 
     	CleanupStack::PopAndDestroy();
     	}
@@ -159,6 +228,7 @@
     return KErrNone;
     }
 
+
 // -----------------------------------------------------------------------------
 // CProfileSmokeTestModule::?member_function
 // ?implementation_description