mpx/tsrc/public/basic/common/inc/basetest.h
author hgs
Tue, 21 Sep 2010 11:25:55 -0500
changeset 62 b276843a15ba
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
62
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  Base Class for Scripted Tests
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#ifndef BASETEST_H
hgs
parents:
diff changeset
    19
#define BASETEST_H
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
#include <StifLogger.h>
hgs
parents:
diff changeset
    22
#include <TestScripterInternal.h>
hgs
parents:
diff changeset
    23
#include <StifTestModule.h>
hgs
parents:
diff changeset
    24
#include "TimeoutController.h"
hgs
parents:
diff changeset
    25
#include "debug.h"
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
// CONSTANTS
hgs
parents:
diff changeset
    29
const TInt KErrBadTestParameter= -1000;         // Error on configuration file
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
const TInt KErrEventPending =-2000;             // Timeout and not callback 
hgs
parents:
diff changeset
    32
const TInt KErrCallbackErrorCode = -2001;       // Callback return error code
hgs
parents:
diff changeset
    33
const TInt KErrUnexpectedValue =-2002;          // Unexpected value at setting    
hgs
parents:
diff changeset
    34
const TInt KExpectedFrequencyChange = -2003;        // Is not finding more than one station
hgs
parents:
diff changeset
    35
const TInt KErrTimeoutController = -2007;       // Unexpected notification
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
const TInt KSmallTimeout = 1000;
hgs
parents:
diff changeset
    38
const TInt KMediumTimeout = 4000;
hgs
parents:
diff changeset
    39
const TInt KLargeTimeout = 100000;
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
hgs
parents:
diff changeset
    42
_LIT( KMsgBadTestParameters, "[Error] No valid test case parameters");
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
_LIT( KTestFile, "c:\\Blackbird.aac");
hgs
parents:
diff changeset
    45
_LIT( KTestFileMimeType, "audio/aac" );
hgs
parents:
diff changeset
    46
_LIT( KRenameOldUri, "c:\\Blackbird.aac");
hgs
parents:
diff changeset
    47
_LIT( KRenameNewUri, "c:\\data\\Blackbird.aac");
hgs
parents:
diff changeset
    48
hgs
parents:
diff changeset
    49
/**
hgs
parents:
diff changeset
    50
*  CBaseTest class for STIF Test Framework TestScripter.
hgs
parents:
diff changeset
    51
*
hgs
parents:
diff changeset
    52
*/
hgs
parents:
diff changeset
    53
class CBaseTest : public CScriptBase, public MTimeoutObserver
hgs
parents:
diff changeset
    54
    {
hgs
parents:
diff changeset
    55
    public:
hgs
parents:
diff changeset
    56
        
hgs
parents:
diff changeset
    57
        // Update EventName() whenever you update this
hgs
parents:
diff changeset
    58
        enum TExpectedEvent
hgs
parents:
diff changeset
    59
        {
hgs
parents:
diff changeset
    60
            EColHandleCollectionMessage,
hgs
parents:
diff changeset
    61
            EColHandleOpen,
hgs
parents:
diff changeset
    62
            EColHandleAddFileComplete, 
hgs
parents:
diff changeset
    63
            EColHandleRemove,
hgs
parents:
diff changeset
    64
            EColHandleFindAllComplete,
hgs
parents:
diff changeset
    65
            
hgs
parents:
diff changeset
    66
            EPlaHandlePlaybackMessage1,
hgs
parents:
diff changeset
    67
            EPlaHandlePlaybackMessage2
hgs
parents:
diff changeset
    68
        };
hgs
parents:
diff changeset
    69
        
hgs
parents:
diff changeset
    70
        IMPORT_C CBaseTest( CTestModuleIf& aTestModuleIf );        
hgs
parents:
diff changeset
    71
        IMPORT_C virtual ~CBaseTest();
hgs
parents:
diff changeset
    72
        
hgs
parents:
diff changeset
    73
        IMPORT_C virtual void ConstructL();
hgs
parents:
diff changeset
    74
        
hgs
parents:
diff changeset
    75
    public:
hgs
parents:
diff changeset
    76
hgs
parents:
diff changeset
    77
        // From MTimeoutObserver
hgs
parents:
diff changeset
    78
hgs
parents:
diff changeset
    79
        /**
hgs
parents:
diff changeset
    80
        * @since 3.2
hgs
parents:
diff changeset
    81
        * @param none
hgs
parents:
diff changeset
    82
        * Review if all the expected events have ocurred once the time is over
hgs
parents:
diff changeset
    83
        */
hgs
parents:
diff changeset
    84
        IMPORT_C virtual void HandleTimeout(TInt error);
hgs
parents:
diff changeset
    85
        
hgs
parents:
diff changeset
    86
    protected:
hgs
parents:
diff changeset
    87
        
hgs
parents:
diff changeset
    88
        /**
hgs
parents:
diff changeset
    89
        * Maps a event with a descriptor with its name
hgs
parents:
diff changeset
    90
        * @since S60 3.2
hgs
parents:
diff changeset
    91
        */
hgs
parents:
diff changeset
    92
        IMPORT_C virtual TPtrC EventName( TInt aKey );
hgs
parents:
diff changeset
    93
        
hgs
parents:
diff changeset
    94
        /**
hgs
parents:
diff changeset
    95
        * Set an event as expected and set default timeout
hgs
parents:
diff changeset
    96
        * @since S60 3.2
hgs
parents:
diff changeset
    97
        */
hgs
parents:
diff changeset
    98
        IMPORT_C virtual void AddExpectedEvent(TExpectedEvent event, TInt ms);
hgs
parents:
diff changeset
    99
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
        /**
hgs
parents:
diff changeset
   102
        * Unset an event as expected
hgs
parents:
diff changeset
   103
        * @since S60 3.2
hgs
parents:
diff changeset
   104
        */
hgs
parents:
diff changeset
   105
        IMPORT_C virtual TBool RemoveExpectedEvent(TExpectedEvent event);
hgs
parents:
diff changeset
   106
hgs
parents:
diff changeset
   107
hgs
parents:
diff changeset
   108
        /**
hgs
parents:
diff changeset
   109
        * @since S60 3.2
hgs
parents:
diff changeset
   110
        * @param none
hgs
parents:
diff changeset
   111
        * Removes all expected events
hgs
parents:
diff changeset
   112
        */
hgs
parents:
diff changeset
   113
        IMPORT_C virtual void RemoveAllExpectedEvents();
hgs
parents:
diff changeset
   114
hgs
parents:
diff changeset
   115
        /**
hgs
parents:
diff changeset
   116
        * Verify that the event was expected, removes it from the list
hgs
parents:
diff changeset
   117
        * Signal the TestScripter with the returned error code
hgs
parents:
diff changeset
   118
        * @since S60 3.2
hgs
parents:
diff changeset
   119
        */
hgs
parents:
diff changeset
   120
        IMPORT_C virtual void ProcessEvent(TExpectedEvent aEvent, TInt aError);
hgs
parents:
diff changeset
   121
hgs
parents:
diff changeset
   122
        /*
hgs
parents:
diff changeset
   123
        * Test methods are listed below.
hgs
parents:
diff changeset
   124
        */
hgs
parents:
diff changeset
   125
hgs
parents:
diff changeset
   126
        /**
hgs
parents:
diff changeset
   127
        * Sets a timeout different since the default
hgs
parents:
diff changeset
   128
        * @since S60 3.2
hgs
parents:
diff changeset
   129
        * @param aItem Script line containing parameters.
hgs
parents:
diff changeset
   130
        * @return Symbian OS error code.
hgs
parents:
diff changeset
   131
        */
hgs
parents:
diff changeset
   132
        IMPORT_C virtual TInt SetTimeout( CStifItemParser& aItem );
hgs
parents:
diff changeset
   133
hgs
parents:
diff changeset
   134
        /**
hgs
parents:
diff changeset
   135
        *
hgs
parents:
diff changeset
   136
        * @since S60 3.2
hgs
parents:
diff changeset
   137
        * @param aItem Script line containing parameters.
hgs
parents:
diff changeset
   138
        * @return Symbian OS error code.
hgs
parents:
diff changeset
   139
        */
hgs
parents:
diff changeset
   140
        IMPORT_C virtual TInt SetExpectedEvents( CStifItemParser& aItem );
hgs
parents:
diff changeset
   141
hgs
parents:
diff changeset
   142
        /**
hgs
parents:
diff changeset
   143
        *
hgs
parents:
diff changeset
   144
        * @since S60 3.2
hgs
parents:
diff changeset
   145
        * @param aItem Script line containing parameters.
hgs
parents:
diff changeset
   146
        * @return Symbian OS error code.
hgs
parents:
diff changeset
   147
        */
hgs
parents:
diff changeset
   148
        IMPORT_C virtual TInt SetAllowedPanic( CStifItemParser& aItem );
hgs
parents:
diff changeset
   149
        
hgs
parents:
diff changeset
   150
    protected:
hgs
parents:
diff changeset
   151
        
hgs
parents:
diff changeset
   152
        // reference to TestModuleIf
hgs
parents:
diff changeset
   153
        CTestModuleIf& iTestModuleIf;
hgs
parents:
diff changeset
   154
    
hgs
parents:
diff changeset
   155
        // Active object with a timer to timeout the test case
hgs
parents:
diff changeset
   156
        CSimpleTimeout * iTimeoutController;
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
        // Indicates if the test case use a normal exit reason
hgs
parents:
diff changeset
   159
        TBool iNormalExitReason;
hgs
parents:
diff changeset
   160
hgs
parents:
diff changeset
   161
        // List of expected events
hgs
parents:
diff changeset
   162
        RArray<TExpectedEvent> iExpectedEvents;
hgs
parents:
diff changeset
   163
hgs
parents:
diff changeset
   164
        // List of notification event (by the callback)
hgs
parents:
diff changeset
   165
        RArray<TExpectedEvent> iOcurredEvents;
hgs
parents:
diff changeset
   166
    };
hgs
parents:
diff changeset
   167
hgs
parents:
diff changeset
   168
#endif // BASETEST_H
hgs
parents:
diff changeset
   169