common/tools/ats/smoketest/IM/inc/IMApiTest.h
author Maciej Seroka <maciejs@symbian.org>
Thu, 12 Nov 2009 14:45:32 +0000
changeset 756 736214c0060b
child 872 17498133d9ad
permissions -rw-r--r--
Added new smoketest
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
756
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     1
/*
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     2
* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     3
* All rights reserved.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     5
* under the terms of the License "Symbian Foundation License v1.0"
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     7
* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     8
*
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     9
* Initial Contributors:
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    11
*
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    12
* Contributors:
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    13
*
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    14
* Description: This class contains all test framework related parts of
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    15
    this test module.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    16
*
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    17
*
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    18
*/
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    19
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    20
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    21
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    22
/*
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    23
-------------------------------------------------------------------------------
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    24
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    25
    DESCRIPTION
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    26
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    27
    This file contains the header file of IMApiTest of
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    28
    STIF TestFramework.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    29
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    30
-------------------------------------------------------------------------------
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    31
*/
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    32
#ifndef IMApiTest_H
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    33
#define IMApiTest_H
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    34
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    35
// INCLUDES
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    36
#include "StifTestModule.h"
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    37
#include <StifLogger.h>
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    38
#include "IMApiMTHandlers.h"
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    39
#include "imerrors.h"
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    40
#include "imconnection.h"
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    41
#include "imclient.h"
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    42
#include "TestRunner.h"
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    43
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    44
// CONSTANTS
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    45
// None
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    46
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    47
// MACROS
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    48
// None
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    49
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    50
// Logging path
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    51
_LIT( KIMApiTestLogPath, "\\logs\\testframework\\IMApiTest\\" );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    52
// Log file
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    53
_LIT( KIMApiTestLogFile, "IMApiTest.txt" );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    54
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    55
// Function pointer related internal definitions
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    56
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    57
#define GETPTR &
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    58
#define ENTRY(str,func) {_S(str), GETPTR func,0,0,0}
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    59
#define FUNCENTRY(func) {_S(#func), GETPTR func,0,0,0}
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    60
#define OOM_ENTRY(str,func,a,b,c) {_S(str), GETPTR func,a,b,c}
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    61
#define OOM_FUNCENTRY(func,a,b,c) {_S(#func), GETPTR func,a,b,c}
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    62
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    63
// FUNCTION PROTOTYPES
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    64
// None
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    65
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    66
// FORWARD DECLARATIONS
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    67
class CIMApiTest;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    68
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    69
// DATA TYPES
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    70
// None
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    71
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    72
// A typedef for function that does the actual testing,
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    73
// function is a type
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    74
// TInt CIMApiTest::<NameOfFunction> ( TTestResult& aResult )
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    75
typedef TInt ( CIMApiTest::* TestFunction )( TTestResult& );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    76
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    77
// CLASS DECLARATION
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    78
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    79
/**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    80
*  An internal structure containing a test case name and
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    81
*  the pointer to function doing the test
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    82
*
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    83
*  @lib ?library
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    84
*  @since ?Series60_version
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    85
*/
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    86
class TCaseInfoInternal
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    87
    {
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    88
    public:
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    89
        const TText* iCaseName;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    90
        TestFunction iMethod;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    91
        TBool           iIsOOMTest;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    92
        TInt            iFirstMemoryAllocation;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    93
        TInt            iLastMemoryAllocation;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    94
    };
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    95
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    96
// CLASS DECLARATION
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    97
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    98
/**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    99
*  A structure containing a test case name and
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   100
*  the pointer to function doing the test
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   101
*
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   102
*  @lib ?library
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   103
*  @since ?Series60_version
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   104
*/
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   105
class TCaseInfo
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   106
    {
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   107
    public:
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   108
        TPtrC iCaseName;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   109
        TestFunction iMethod;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   110
        TBool           iIsOOMTest;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   111
        TInt            iFirstMemoryAllocation;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   112
        TInt            iLastMemoryAllocation;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   113
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   114
        TCaseInfo( const TText* a ) : iCaseName( ( TText* ) a )
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   115
            {
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   116
            };
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   117
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   118
    };
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   119
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   120
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   121
// CLASS DECLARATION
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   122
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   123
/**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   124
*  This a IMApiTest class.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   125
*  ?other_description_lines
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   126
*
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   127
*  @lib ?library
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   128
*  @since ?Series60_version
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   129
*/
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   130
NONSHARABLE_CLASS( CIMApiTest ) : public CTestModuleBase
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   131
    {
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   132
public:  // Constructors and destructor
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   133
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   134
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   135
    /**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   136
    * Two-phased constructor.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   137
    */
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   138
    static CIMApiTest* NewL();
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   139
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   140
    /**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   141
    * Destructor.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   142
    */
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   143
    virtual ~CIMApiTest();
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   144
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   145
public: // New functions
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   146
    // None
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   147
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   148
public: // Functions from base classes
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   149
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   150
    /**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   151
    * From CTestModuleBase InitL is used to initialize the
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   152
    *       IMApiTest. It is called once for every instance of
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   153
    *       TestModuleIMApiTest after its creation.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   154
    * @since ?Series60_version
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   155
    * @param aIniFile Initialization file for the test module (optional)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   156
    * @param aFirstTime Flag is true when InitL is executed for first
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   157
    *               created instance of IMApiTest.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   158
    * @return Symbian OS error code
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   159
    */
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   160
    TInt InitL( TFileName& aIniFile, TBool aFirstTime );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   161
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   162
    /**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   163
    * From CTestModuleBase GetTestCasesL is used to inquiry test cases
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   164
    *   from IMApiTest.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   165
    * @since ?Series60_version
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   166
    * @param aTestCaseFile Test case file (optional)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   167
    * @param aTestCases  Array of TestCases returned to test framework
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   168
    * @return Symbian OS error code
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   169
    */
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   170
    TInt GetTestCasesL( const TFileName& aTestCaseFile,
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   171
                        RPointerArray<TTestCaseInfo>& aTestCases );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   172
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   173
    /**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   174
    * From CTestModuleBase RunTestCaseL is used to run an individual
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   175
    *   test case.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   176
    * @since ?Series60_version
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   177
    * @param aCaseNumber Test case number
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   178
    * @param aTestCaseFile Test case file (optional)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   179
    * @param aResult Test case result returned to test framework (PASS/FAIL)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   180
    * @return Symbian OS error code (test case execution error, which is
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   181
    *           not reported in aResult parameter as test case failure).
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   182
    */
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   183
    TInt RunTestCaseL( const TInt aCaseNumber,
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   184
                       const TFileName& aTestCaseFile,
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   185
                       TTestResult& aResult );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   186
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   187
    /**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   188
    * From CTestModuleBase; OOMTestQueryL is used to specify is particular
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   189
    * test case going to be executed using OOM conditions
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   190
    * @param aTestCaseFile Test case file (optional)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   191
    * @param aCaseNumber Test case number (optional)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   192
    * @param aFailureType OOM failure type (optional)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   193
    * @param aFirstMemFailure The first heap memory allocation failure value (optional)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   194
    * @param aLastMemFailure The last heap memory allocation failure value (optional)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   195
    * @return TBool
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   196
    */
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   197
    virtual TBool OOMTestQueryL( const TFileName& /* aTestCaseFile */,
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   198
                                 const TInt /* aCaseNumber */,
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   199
                                 TOOMFailureType& aFailureType,
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   200
                                 TInt& /* aFirstMemFailure */,
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   201
                                 TInt& /* aLastMemFailure */ );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   202
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   203
    /**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   204
    * From CTestModuleBase; OOMTestInitializeL may be used to initialize OOM
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   205
    * test environment
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   206
    * @param aTestCaseFile Test case file (optional)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   207
    * @param aCaseNumber Test case number (optional)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   208
    * @return None
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   209
    */
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   210
    virtual void OOMTestInitializeL( const TFileName& /* aTestCaseFile */,
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   211
                                     const TInt /* aCaseNumber */ );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   212
    /**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   213
    * From CTestModuleBase; OOMTestFinalizeL may be used to finalize OOM
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   214
    * test environment
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   215
    * @param aTestCaseFile Test case file (optional)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   216
    * @param aCaseNumber Test case number (optional)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   217
    * @return None
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   218
    */
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   219
    virtual void OOMTestFinalizeL( const TFileName& /* aTestCaseFile */,
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   220
                                   const TInt /* aCaseNumber */ );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   221
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   222
    /**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   223
    * From CTestModuleBase; OOMHandleWarningL
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   224
    * @param aTestCaseFile Test case file (optional)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   225
    * @param aCaseNumber Test case number (optional)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   226
    * @param aFailNextValue FailNextValue for OOM test execution (optional)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   227
    * @return None
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   228
    */
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   229
    virtual void OOMHandleWarningL( const TFileName& /* aTestCaseFile */,
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   230
                                    const TInt /* aCaseNumber */,
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   231
                                    TInt& /* aFailNextValue */ );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   232
protected:  // New functions
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   233
    // None
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   234
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   235
protected:  // Functions from base classes
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   236
    // None
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   237
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   238
private:
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   239
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   240
    /**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   241
    * C++ default constructor.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   242
    */
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   243
    CIMApiTest();
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   244
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   245
    /**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   246
    * By default Symbian 2nd phase constructor is private.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   247
    */
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   248
    void ConstructL();
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   249
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   250
    // Prohibit copy constructor if not deriving from CBase.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   251
    // ?classname( const ?classname& );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   252
    // Prohibit assigment operator if not deriving from CBase.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   253
    // ?classname& operator=( const ?classname& );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   254
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   255
    /**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   256
    * Function returning test case name and pointer to test case function.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   257
    * @since ?Series60_version
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   258
    * @param aCaseNumber test case number
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   259
    * @return TCaseInfo
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   260
    */
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   261
    const TCaseInfo Case ( const TInt aCaseNumber ) const;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   262
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   263
    /**
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   264
    * Printing loop test case.
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   265
    * @since ?Series60_version
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   266
    * @param aResult Test case result (PASS/FAIL)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   267
    * @return Symbian OS error code (test case execution error
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   268
    *   that is not returned as test case result in aResult)
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   269
    */
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   270
    TInt CreateImClientL( TTestResult& aResult );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   271
	TInt InvalidLoginL( TTestResult& aResult );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   272
    TInt LoginL( TTestResult& aResult );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   273
    TInt SendPToPValidUserIDL( TTestResult& aResult );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   274
    TInt SendPToPValidTwoUserIDL( TTestResult& aResult );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   275
    TInt SendPToPValidContactL( TTestResult& aResult );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   276
    TInt SendPToPValidTwoContactL( TTestResult& aResult );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   277
    TInt SendPToPContactContentTypeL( TTestResult& aResult );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   278
    TInt SendPToPUserIDContentTypeL( TTestResult& aResult );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   279
    TInt LogoutL( TTestResult& aResult );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   280
    TInt CancelLoginL( TTestResult& aResult );
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   281
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   282
public:     // Data
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   283
    // None
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   284
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   285
protected:  // Data
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   286
    // None
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   287
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   288
private:    // Data
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   289
    // Pointer to test (function) to be executed
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   290
    TestFunction iMethod;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   291
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   292
    // Pointer to logger
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   293
    CStifLogger * iLog;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   294
    CTestRunner*   iRunner;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   295
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   296
    CIMApiClientHandler*     iImObserver;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   297
    CConnectionObserver*    iConnObserver;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   298
    CImConnection*          iOpenApi;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   299
    MImClient*              iImClient;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   300
    CConsoleBase*           iConsole;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   301
    TBool                   iRepeat;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   302
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   303
    /*TInt      iAP;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   304
    TBuf<50>  iUser;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   305
    TBuf<50>  iPwd;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   306
    TBuf<50>  iRecipient;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   307
    TBuf<50>  iRecipient1;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   308
    TBuf<50>  iMySapAp;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   309
    TBuf<50>  iClientId;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   310
    */
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   311
    // ?one_line_short_description_of_data
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   312
    //?data_declaration;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   313
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   314
    // Reserved pointer for future extension
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   315
    //TAny* iReserved;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   316
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   317
public:     // Friend classes
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   318
    // None
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   319
    friend class CTestRunner;
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   320
protected:  // Friend classes
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   321
    // None
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   322
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   323
private:    // Friend classes
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   324
    // None
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   325
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   326
    };
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   327
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   328
#endif      // IMApiTest_H
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   329
736214c0060b Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   330
// End of File