persistentstorage/centralrepository/test/t_cenrep_pma_fota.cpp
author hgs
Tue, 19 Oct 2010 16:26:13 +0100
changeset 55 44f437012c90
permissions -rw-r--r--
201041_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
55
44f437012c90 201041_01
hgs
parents:
diff changeset
     1
// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
44f437012c90 201041_01
hgs
parents:
diff changeset
     2
// All rights reserved.
44f437012c90 201041_01
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
44f437012c90 201041_01
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
44f437012c90 201041_01
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
44f437012c90 201041_01
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
44f437012c90 201041_01
hgs
parents:
diff changeset
     7
//
44f437012c90 201041_01
hgs
parents:
diff changeset
     8
// Initial Contributors:
44f437012c90 201041_01
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
44f437012c90 201041_01
hgs
parents:
diff changeset
    10
//
44f437012c90 201041_01
hgs
parents:
diff changeset
    11
// Contributors:
44f437012c90 201041_01
hgs
parents:
diff changeset
    12
//
44f437012c90 201041_01
hgs
parents:
diff changeset
    13
// Description:
44f437012c90 201041_01
hgs
parents:
diff changeset
    14
//
44f437012c90 201041_01
hgs
parents:
diff changeset
    15
44f437012c90 201041_01
hgs
parents:
diff changeset
    16
#include <e32test.h>
44f437012c90 201041_01
hgs
parents:
diff changeset
    17
#include <f32file.h>
44f437012c90 201041_01
hgs
parents:
diff changeset
    18
#include <badesca.h>
44f437012c90 201041_01
hgs
parents:
diff changeset
    19
44f437012c90 201041_01
hgs
parents:
diff changeset
    20
#include "srvrepos_noc.h"
44f437012c90 201041_01
hgs
parents:
diff changeset
    21
#include "srvres.h"
44f437012c90 201041_01
hgs
parents:
diff changeset
    22
#include "cachemgr.h"
44f437012c90 201041_01
hgs
parents:
diff changeset
    23
#include "sessnotf.h"
44f437012c90 201041_01
hgs
parents:
diff changeset
    24
#include "t_cenrep_helper.h"
44f437012c90 201041_01
hgs
parents:
diff changeset
    25
44f437012c90 201041_01
hgs
parents:
diff changeset
    26
RTest TheTest(_L("t_cenrep_pma_fota.exe"));
44f437012c90 201041_01
hgs
parents:
diff changeset
    27
_LIT(KCachedVersionFile,"C:\\private\\10202be9\\romversion\\romversion_info.txt");
44f437012c90 201041_01
hgs
parents:
diff changeset
    28
_LIT(KModifiedSwVersion, "z:\\private\\10202be9\\sw_modified.txt");
44f437012c90 201041_01
hgs
parents:
diff changeset
    29
_LIT(KPMADriveCre,"C:\\private\\10202be9\\persists\\protected\\f1000602.cre");
44f437012c90 201041_01
hgs
parents:
diff changeset
    30
44f437012c90 201041_01
hgs
parents:
diff changeset
    31
const TUid KUidRepository = { 0xf1000601 };
44f437012c90 201041_01
hgs
parents:
diff changeset
    32
44f437012c90 201041_01
hgs
parents:
diff changeset
    33
const TUint32 KModifiedIntKey = 1;
44f437012c90 201041_01
hgs
parents:
diff changeset
    34
const TUint32 KModifiedRealKey = 2;
44f437012c90 201041_01
hgs
parents:
diff changeset
    35
const TUint32 KModifiedStringKey = 3;
44f437012c90 201041_01
hgs
parents:
diff changeset
    36
const TUint32 KDeletedIntKey = 4;
44f437012c90 201041_01
hgs
parents:
diff changeset
    37
const TUint32 KNewIntKey = 5;
44f437012c90 201041_01
hgs
parents:
diff changeset
    38
44f437012c90 201041_01
hgs
parents:
diff changeset
    39
const TInt KModifiedIntValue = 123;
44f437012c90 201041_01
hgs
parents:
diff changeset
    40
const TReal KModifiedRealValue = 20.23;
44f437012c90 201041_01
hgs
parents:
diff changeset
    41
_LIT(KModifiedStringValue, "modified string");
44f437012c90 201041_01
hgs
parents:
diff changeset
    42
44f437012c90 201041_01
hgs
parents:
diff changeset
    43
///////////////////////////////////////////////////////////////////////////////////////
44f437012c90 201041_01
hgs
parents:
diff changeset
    44
///////////////////////////////////////////////////////////////////////////////////////
44f437012c90 201041_01
hgs
parents:
diff changeset
    45
//Test macros and functions
44f437012c90 201041_01
hgs
parents:
diff changeset
    46
LOCAL_C void Check(TInt aValue, TInt aLine)
44f437012c90 201041_01
hgs
parents:
diff changeset
    47
    {
44f437012c90 201041_01
hgs
parents:
diff changeset
    48
    if (!aValue)
44f437012c90 201041_01
hgs
parents:
diff changeset
    49
        {
44f437012c90 201041_01
hgs
parents:
diff changeset
    50
        TRAPD(err, CleanupCDriveL());
44f437012c90 201041_01
hgs
parents:
diff changeset
    51
        if (err != KErrNone)
44f437012c90 201041_01
hgs
parents:
diff changeset
    52
            {
44f437012c90 201041_01
hgs
parents:
diff changeset
    53
            RDebug::Print(_L( "*** CleanupCDriveL also failed with error %d expecting KErrNone\r\n"),err);
44f437012c90 201041_01
hgs
parents:
diff changeset
    54
            }
44f437012c90 201041_01
hgs
parents:
diff changeset
    55
        TheTest(EFalse, aLine);
44f437012c90 201041_01
hgs
parents:
diff changeset
    56
        }
44f437012c90 201041_01
hgs
parents:
diff changeset
    57
    }
44f437012c90 201041_01
hgs
parents:
diff changeset
    58
44f437012c90 201041_01
hgs
parents:
diff changeset
    59
LOCAL_C void Check(TInt aValue, TInt aExpected, TInt aLine)
44f437012c90 201041_01
hgs
parents:
diff changeset
    60
    {
44f437012c90 201041_01
hgs
parents:
diff changeset
    61
    if (aValue != aExpected)
44f437012c90 201041_01
hgs
parents:
diff changeset
    62
        {
44f437012c90 201041_01
hgs
parents:
diff changeset
    63
        RDebug::Print(_L( "*** Expected error: %d, got: %d\r\n"), aExpected,aValue);
44f437012c90 201041_01
hgs
parents:
diff changeset
    64
        TRAPD(err, CleanupCDriveL());
44f437012c90 201041_01
hgs
parents:
diff changeset
    65
        if (err != KErrNone)
44f437012c90 201041_01
hgs
parents:
diff changeset
    66
            {
44f437012c90 201041_01
hgs
parents:
diff changeset
    67
            RDebug::Print(_L( "*** CleanupCDriveL also failed with error %d expecting KErrNone\r\n"),err);
44f437012c90 201041_01
hgs
parents:
diff changeset
    68
            }
44f437012c90 201041_01
hgs
parents:
diff changeset
    69
        TheTest(EFalse, aLine);
44f437012c90 201041_01
hgs
parents:
diff changeset
    70
        }
44f437012c90 201041_01
hgs
parents:
diff changeset
    71
    }
44f437012c90 201041_01
hgs
parents:
diff changeset
    72
44f437012c90 201041_01
hgs
parents:
diff changeset
    73
#define TEST(arg) ::Check((arg), __LINE__)
44f437012c90 201041_01
hgs
parents:
diff changeset
    74
#define TEST2(aValue, aExpected) ::Check(aValue, aExpected, __LINE__)
44f437012c90 201041_01
hgs
parents:
diff changeset
    75
44f437012c90 201041_01
hgs
parents:
diff changeset
    76
LOCAL_C void CopyTestFilesL()
44f437012c90 201041_01
hgs
parents:
diff changeset
    77
    {
44f437012c90 201041_01
hgs
parents:
diff changeset
    78
    _LIT( KPMAInstallRepSource, "z:\\private\\10202BE9\\f10006*.txi" );
44f437012c90 201041_01
hgs
parents:
diff changeset
    79
    _LIT( KPMAInstallRepTarget, "c:\\private\\10202BE9\\*.txt" );
44f437012c90 201041_01
hgs
parents:
diff changeset
    80
    _LIT( KPMAModifiedRepSource, "z:\\private\\10202BE9\\f10006*.pma" );
44f437012c90 201041_01
hgs
parents:
diff changeset
    81
    _LIT( KPMAModifiedRepTarget, "c:\\private\\10202BE9\\persists\\protected\\*.cre" );
44f437012c90 201041_01
hgs
parents:
diff changeset
    82
44f437012c90 201041_01
hgs
parents:
diff changeset
    83
    RFs rfs;
44f437012c90 201041_01
hgs
parents:
diff changeset
    84
    User::LeaveIfError(rfs.Connect());
44f437012c90 201041_01
hgs
parents:
diff changeset
    85
    CleanupClosePushL(rfs);
44f437012c90 201041_01
hgs
parents:
diff changeset
    86
    CFileMan* fm = CFileMan::NewL(rfs);
44f437012c90 201041_01
hgs
parents:
diff changeset
    87
    CleanupStack::PushL(fm);
44f437012c90 201041_01
hgs
parents:
diff changeset
    88
44f437012c90 201041_01
hgs
parents:
diff changeset
    89
    CopyTestFilesL(*fm, KPMAInstallRepSource, KPMAInstallRepTarget);
44f437012c90 201041_01
hgs
parents:
diff changeset
    90
    CopyTestFilesL(*fm, KPMAModifiedRepSource, KPMAModifiedRepTarget);
44f437012c90 201041_01
hgs
parents:
diff changeset
    91
44f437012c90 201041_01
hgs
parents:
diff changeset
    92
    CleanupStack::PopAndDestroy(2, &rfs);
44f437012c90 201041_01
hgs
parents:
diff changeset
    93
    }
44f437012c90 201041_01
hgs
parents:
diff changeset
    94
44f437012c90 201041_01
hgs
parents:
diff changeset
    95
///////////////////////////////////////////////////////////////////////////////////////
44f437012c90 201041_01
hgs
parents:
diff changeset
    96
///////////////////////////////////////////////////////////////////////////////////////
44f437012c90 201041_01
hgs
parents:
diff changeset
    97
static void CloseTServerResources(TAny*)
44f437012c90 201041_01
hgs
parents:
diff changeset
    98
    {
44f437012c90 201041_01
hgs
parents:
diff changeset
    99
    TServerResources::Close();
44f437012c90 201041_01
hgs
parents:
diff changeset
   100
    }
44f437012c90 201041_01
hgs
parents:
diff changeset
   101
44f437012c90 201041_01
hgs
parents:
diff changeset
   102
LOCAL_C void CleanUp()
44f437012c90 201041_01
hgs
parents:
diff changeset
   103
    {
44f437012c90 201041_01
hgs
parents:
diff changeset
   104
    // If cache manager is initialized and used before, we flush it
44f437012c90 201041_01
hgs
parents:
diff changeset
   105
    if (TServerResources::iCacheManager)
44f437012c90 201041_01
hgs
parents:
diff changeset
   106
        {
44f437012c90 201041_01
hgs
parents:
diff changeset
   107
        TServerResources::iCacheManager->FlushCache();
44f437012c90 201041_01
hgs
parents:
diff changeset
   108
        }
44f437012c90 201041_01
hgs
parents:
diff changeset
   109
    TServerResources::iObserver->CloseiOpenRepositories();
44f437012c90 201041_01
hgs
parents:
diff changeset
   110
    TServerResources::iObserver->Reset();
44f437012c90 201041_01
hgs
parents:
diff changeset
   111
    TServerResources::iOwnerIdLookUpTable.Reset();
44f437012c90 201041_01
hgs
parents:
diff changeset
   112
    User::After(KGeneralDelay);
44f437012c90 201041_01
hgs
parents:
diff changeset
   113
    }
44f437012c90 201041_01
hgs
parents:
diff changeset
   114
44f437012c90 201041_01
hgs
parents:
diff changeset
   115
LOCAL_C void VerifyPMAUnchangedByFOTAL()
44f437012c90 201041_01
hgs
parents:
diff changeset
   116
    {
44f437012c90 201041_01
hgs
parents:
diff changeset
   117
    //Check the merge content for correctness.
44f437012c90 201041_01
hgs
parents:
diff changeset
   118
    CSessionNotifier* notifier = new (ELeave) CSessionNotifier;
44f437012c90 201041_01
hgs
parents:
diff changeset
   119
    CleanupStack::PushL(notifier);
44f437012c90 201041_01
hgs
parents:
diff changeset
   120
44f437012c90 201041_01
hgs
parents:
diff changeset
   121
    CServerRepository* repository = new (ELeave) CServerRepository();
44f437012c90 201041_01
hgs
parents:
diff changeset
   122
    CleanupStack::PushL(repository);
44f437012c90 201041_01
hgs
parents:
diff changeset
   123
44f437012c90 201041_01
hgs
parents:
diff changeset
   124
    repository->OpenL(KUidRepository, *notifier);
44f437012c90 201041_01
hgs
parents:
diff changeset
   125
44f437012c90 201041_01
hgs
parents:
diff changeset
   126
    //Get the user added setting, it should still be there.
44f437012c90 201041_01
hgs
parents:
diff changeset
   127
    TInt intValue = 0;
44f437012c90 201041_01
hgs
parents:
diff changeset
   128
    TInt r = repository->Get(KNewIntKey, intValue);
44f437012c90 201041_01
hgs
parents:
diff changeset
   129
    TEST(r == KErrNone);
44f437012c90 201041_01
hgs
parents:
diff changeset
   130
    //Get the user deleted setting, it should still be missing.
44f437012c90 201041_01
hgs
parents:
diff changeset
   131
    r = repository->Get(KDeletedIntKey, intValue);
44f437012c90 201041_01
hgs
parents:
diff changeset
   132
    TEST(r == KErrNotFound);
44f437012c90 201041_01
hgs
parents:
diff changeset
   133
44f437012c90 201041_01
hgs
parents:
diff changeset
   134
    //Get user modified settings. It should still contain the user modification
44f437012c90 201041_01
hgs
parents:
diff changeset
   135
    r = repository->Get(KModifiedIntKey, intValue);
44f437012c90 201041_01
hgs
parents:
diff changeset
   136
    TEST(r == KErrNone);
44f437012c90 201041_01
hgs
parents:
diff changeset
   137
    TEST(intValue == KModifiedIntValue);
44f437012c90 201041_01
hgs
parents:
diff changeset
   138
44f437012c90 201041_01
hgs
parents:
diff changeset
   139
    TReal realValue = 0.0;
44f437012c90 201041_01
hgs
parents:
diff changeset
   140
    r = repository->Get(KModifiedRealKey, realValue);
44f437012c90 201041_01
hgs
parents:
diff changeset
   141
    TEST(r == KErrNone);
44f437012c90 201041_01
hgs
parents:
diff changeset
   142
    TEST(realValue == KModifiedRealValue);
44f437012c90 201041_01
hgs
parents:
diff changeset
   143
44f437012c90 201041_01
hgs
parents:
diff changeset
   144
    TBuf8<50> stringValue;
44f437012c90 201041_01
hgs
parents:
diff changeset
   145
    r = repository->Get(KModifiedStringKey, stringValue);
44f437012c90 201041_01
hgs
parents:
diff changeset
   146
    TEST(r == KErrNone);
44f437012c90 201041_01
hgs
parents:
diff changeset
   147
    TPtr16 str16((TUint16*) stringValue.Ptr(), stringValue.Length() / 2,stringValue.Length() / 2);
44f437012c90 201041_01
hgs
parents:
diff changeset
   148
    TEST(str16.Compare(KModifiedStringValue) == 0);
44f437012c90 201041_01
hgs
parents:
diff changeset
   149
44f437012c90 201041_01
hgs
parents:
diff changeset
   150
    repository->Close();
44f437012c90 201041_01
hgs
parents:
diff changeset
   151
    CleanupStack::PopAndDestroy(2);//repository, notifier
44f437012c90 201041_01
hgs
parents:
diff changeset
   152
    }
44f437012c90 201041_01
hgs
parents:
diff changeset
   153
44f437012c90 201041_01
hgs
parents:
diff changeset
   154
/**
44f437012c90 201041_01
hgs
parents:
diff changeset
   155
 @SYMTestCaseID          PDS-CENTRALREPOSITORY-CT-4122
44f437012c90 201041_01
hgs
parents:
diff changeset
   156
 @SYMTestCaseDesc        FOTx update test on PMA keyspaces
44f437012c90 201041_01
hgs
parents:
diff changeset
   157
 @SYMTestPriority        High
44f437012c90 201041_01
hgs
parents:
diff changeset
   158
 @SYMTestActions         Copy a PMA cre file to PMA drive that contains different value from the ROM keyspace.
44f437012c90 201041_01
hgs
parents:
diff changeset
   159
 Call CheckROMReflashL to simulate a reboot of cenrep.
44f437012c90 201041_01
hgs
parents:
diff changeset
   160
 Check that all the setting in the PMA cre file is not modified at all to the ROM value.
44f437012c90 201041_01
hgs
parents:
diff changeset
   161
 @SYMTestExpectedResults After calling CheckROMReflashL setting values in the PMA drive's cre file should not changed
44f437012c90 201041_01
hgs
parents:
diff changeset
   162
 @SYMREQ                 REQ42876
44f437012c90 201041_01
hgs
parents:
diff changeset
   163
 */
44f437012c90 201041_01
hgs
parents:
diff changeset
   164
LOCAL_C void PMARepFOTxL()
44f437012c90 201041_01
hgs
parents:
diff changeset
   165
    {
44f437012c90 201041_01
hgs
parents:
diff changeset
   166
    TheTest.Next(_L( " @SYMTestCaseID:PDS-CENTRALREPOSITORY-CT-4122 PMA FOTx update test" ));//Force a rom update for this repository.
44f437012c90 201041_01
hgs
parents:
diff changeset
   167
44f437012c90 201041_01
hgs
parents:
diff changeset
   168
    TServerResources::InitialiseL();
44f437012c90 201041_01
hgs
parents:
diff changeset
   169
    CleanupStack::PushL(TCleanupItem(CloseTServerResources, 0));
44f437012c90 201041_01
hgs
parents:
diff changeset
   170
44f437012c90 201041_01
hgs
parents:
diff changeset
   171
    CFileMan* fm = CFileMan::NewL(TServerResources::iFs);
44f437012c90 201041_01
hgs
parents:
diff changeset
   172
    CleanupStack::PushL(fm);
44f437012c90 201041_01
hgs
parents:
diff changeset
   173
44f437012c90 201041_01
hgs
parents:
diff changeset
   174
    //Initial cleanup
44f437012c90 201041_01
hgs
parents:
diff changeset
   175
    //Copy of modified stored rom version info
44f437012c90 201041_01
hgs
parents:
diff changeset
   176
    User::LeaveIfError(fm->Copy(KModifiedSwVersion, KCachedVersionFile,CFileMan::EOverWrite));
44f437012c90 201041_01
hgs
parents:
diff changeset
   177
    User::LeaveIfError(fm->Attribs(KCachedVersionFile, 0, KEntryAttReadOnly,TTime(0)));
44f437012c90 201041_01
hgs
parents:
diff changeset
   178
    CleanupStack::PopAndDestroy();//fm
44f437012c90 201041_01
hgs
parents:
diff changeset
   179
    
44f437012c90 201041_01
hgs
parents:
diff changeset
   180
    User::After(KGeneralDelay);
44f437012c90 201041_01
hgs
parents:
diff changeset
   181
    // flush the cache manager contents.
44f437012c90 201041_01
hgs
parents:
diff changeset
   182
    CleanUp();
44f437012c90 201041_01
hgs
parents:
diff changeset
   183
44f437012c90 201041_01
hgs
parents:
diff changeset
   184
    CServerRepository::CheckROMReflashL();
44f437012c90 201041_01
hgs
parents:
diff changeset
   185
44f437012c90 201041_01
hgs
parents:
diff changeset
   186
    VerifyPMAUnchangedByFOTAL();
44f437012c90 201041_01
hgs
parents:
diff changeset
   187
    
44f437012c90 201041_01
hgs
parents:
diff changeset
   188
    CleanupStack::Pop(); // CloseTServerResources
44f437012c90 201041_01
hgs
parents:
diff changeset
   189
    
44f437012c90 201041_01
hgs
parents:
diff changeset
   190
    TServerResources::Close();
44f437012c90 201041_01
hgs
parents:
diff changeset
   191
    }
44f437012c90 201041_01
hgs
parents:
diff changeset
   192
44f437012c90 201041_01
hgs
parents:
diff changeset
   193
/**
44f437012c90 201041_01
hgs
parents:
diff changeset
   194
 @SYMTestCaseID          PDS-CENTRALREPOSITORY-CT-4123
44f437012c90 201041_01
hgs
parents:
diff changeset
   195
 @SYMTestCaseDesc        FOTx test on PMA keyspaces with no basis in install directory or rom
44f437012c90 201041_01
hgs
parents:
diff changeset
   196
 @SYMTestPriority        High
44f437012c90 201041_01
hgs
parents:
diff changeset
   197
 @SYMTestActions         Copy a repository into the PMA drive that has no rom or SWI equivalent.
44f437012c90 201041_01
hgs
parents:
diff changeset
   198
 Call CheckROMReflashL to simulate a reboot of cenrep.
44f437012c90 201041_01
hgs
parents:
diff changeset
   199
 Verify that the persisted repository is NOT removed.
44f437012c90 201041_01
hgs
parents:
diff changeset
   200
 @SYMTestExpectedResults Persisted repository is not removed during rom update.
44f437012c90 201041_01
hgs
parents:
diff changeset
   201
 @SYMREQ                 REQ42876
44f437012c90 201041_01
hgs
parents:
diff changeset
   202
 */
44f437012c90 201041_01
hgs
parents:
diff changeset
   203
LOCAL_C void NoRomNoInstallPMARepFOTxL()
44f437012c90 201041_01
hgs
parents:
diff changeset
   204
    {
44f437012c90 201041_01
hgs
parents:
diff changeset
   205
    TheTest.Next(_L( " @SYMTestCaseID:PDS-CENTRALREPOSITORY-CT-4123 PMA FOTx delete test" ));
44f437012c90 201041_01
hgs
parents:
diff changeset
   206
    
44f437012c90 201041_01
hgs
parents:
diff changeset
   207
    TServerResources::InitialiseL();
44f437012c90 201041_01
hgs
parents:
diff changeset
   208
    CleanupStack::PushL(TCleanupItem(CloseTServerResources, 0));
44f437012c90 201041_01
hgs
parents:
diff changeset
   209
    
44f437012c90 201041_01
hgs
parents:
diff changeset
   210
    CFileMan* fm = CFileMan::NewL(TServerResources::iFs);
44f437012c90 201041_01
hgs
parents:
diff changeset
   211
    CleanupStack::PushL(fm);
44f437012c90 201041_01
hgs
parents:
diff changeset
   212
44f437012c90 201041_01
hgs
parents:
diff changeset
   213
    //Copy of modified stored rom version info
44f437012c90 201041_01
hgs
parents:
diff changeset
   214
    User::LeaveIfError(fm->Copy(KModifiedSwVersion, KCachedVersionFile,CFileMan::EOverWrite));
44f437012c90 201041_01
hgs
parents:
diff changeset
   215
    User::LeaveIfError(fm->Attribs(KCachedVersionFile, 0, KEntryAttReadOnly,TTime(0)));
44f437012c90 201041_01
hgs
parents:
diff changeset
   216
    User::After(KGeneralDelay);
44f437012c90 201041_01
hgs
parents:
diff changeset
   217
    CleanupStack::PopAndDestroy();//fm
44f437012c90 201041_01
hgs
parents:
diff changeset
   218
44f437012c90 201041_01
hgs
parents:
diff changeset
   219
    CServerRepository::CheckROMReflashL();
44f437012c90 201041_01
hgs
parents:
diff changeset
   220
    TEntry entry;
44f437012c90 201041_01
hgs
parents:
diff changeset
   221
44f437012c90 201041_01
hgs
parents:
diff changeset
   222
    TEST(TServerResources::iFs.Entry(KPMADriveCre, entry) == KErrNone);
44f437012c90 201041_01
hgs
parents:
diff changeset
   223
    
44f437012c90 201041_01
hgs
parents:
diff changeset
   224
    CleanupStack::Pop(); //CloseTServerResources
44f437012c90 201041_01
hgs
parents:
diff changeset
   225
    
44f437012c90 201041_01
hgs
parents:
diff changeset
   226
    TServerResources::Close();
44f437012c90 201041_01
hgs
parents:
diff changeset
   227
44f437012c90 201041_01
hgs
parents:
diff changeset
   228
    }
44f437012c90 201041_01
hgs
parents:
diff changeset
   229
44f437012c90 201041_01
hgs
parents:
diff changeset
   230
LOCAL_C void DoTestsL()
44f437012c90 201041_01
hgs
parents:
diff changeset
   231
    {
44f437012c90 201041_01
hgs
parents:
diff changeset
   232
    PMARepFOTxL();
44f437012c90 201041_01
hgs
parents:
diff changeset
   233
    NoRomNoInstallPMARepFOTxL();
44f437012c90 201041_01
hgs
parents:
diff changeset
   234
    }
44f437012c90 201041_01
hgs
parents:
diff changeset
   235
44f437012c90 201041_01
hgs
parents:
diff changeset
   236
LOCAL_C void MainL()
44f437012c90 201041_01
hgs
parents:
diff changeset
   237
    {
44f437012c90 201041_01
hgs
parents:
diff changeset
   238
    CopyTestFilesL();
44f437012c90 201041_01
hgs
parents:
diff changeset
   239
44f437012c90 201041_01
hgs
parents:
diff changeset
   240
    // create and install the active scheduler we need
44f437012c90 201041_01
hgs
parents:
diff changeset
   241
    CActiveScheduler* s = new (ELeave) CActiveScheduler;
44f437012c90 201041_01
hgs
parents:
diff changeset
   242
    CleanupStack::PushL(s);
44f437012c90 201041_01
hgs
parents:
diff changeset
   243
    CActiveScheduler::Install(s);
44f437012c90 201041_01
hgs
parents:
diff changeset
   244
44f437012c90 201041_01
hgs
parents:
diff changeset
   245
    DoTestsL();
44f437012c90 201041_01
hgs
parents:
diff changeset
   246
44f437012c90 201041_01
hgs
parents:
diff changeset
   247
    CleanupCDriveL();
44f437012c90 201041_01
hgs
parents:
diff changeset
   248
44f437012c90 201041_01
hgs
parents:
diff changeset
   249
    // Cleanup the scheduler
44f437012c90 201041_01
hgs
parents:
diff changeset
   250
    CleanupStack::PopAndDestroy(s);
44f437012c90 201041_01
hgs
parents:
diff changeset
   251
    }
44f437012c90 201041_01
hgs
parents:
diff changeset
   252
44f437012c90 201041_01
hgs
parents:
diff changeset
   253
TInt E32Main()
44f437012c90 201041_01
hgs
parents:
diff changeset
   254
    {
44f437012c90 201041_01
hgs
parents:
diff changeset
   255
    TheTest.Title ();
44f437012c90 201041_01
hgs
parents:
diff changeset
   256
    TheTest.Start(_L( "PMA Fota Unit Tests" ));
44f437012c90 201041_01
hgs
parents:
diff changeset
   257
    
44f437012c90 201041_01
hgs
parents:
diff changeset
   258
    CTrapCleanup* cleanup = CTrapCleanup::New();
44f437012c90 201041_01
hgs
parents:
diff changeset
   259
    TheTest(cleanup != NULL);
44f437012c90 201041_01
hgs
parents:
diff changeset
   260
    
44f437012c90 201041_01
hgs
parents:
diff changeset
   261
    __UHEAP_MARK;
44f437012c90 201041_01
hgs
parents:
diff changeset
   262
        
44f437012c90 201041_01
hgs
parents:
diff changeset
   263
    TRAPD(err, MainL());
44f437012c90 201041_01
hgs
parents:
diff changeset
   264
    TEST2(err, KErrNone);
44f437012c90 201041_01
hgs
parents:
diff changeset
   265
    
44f437012c90 201041_01
hgs
parents:
diff changeset
   266
    __UHEAP_MARKEND;
44f437012c90 201041_01
hgs
parents:
diff changeset
   267
    
44f437012c90 201041_01
hgs
parents:
diff changeset
   268
    TheTest.End ();
44f437012c90 201041_01
hgs
parents:
diff changeset
   269
    TheTest.Close ();
44f437012c90 201041_01
hgs
parents:
diff changeset
   270
    
44f437012c90 201041_01
hgs
parents:
diff changeset
   271
    delete cleanup;
44f437012c90 201041_01
hgs
parents:
diff changeset
   272
        
44f437012c90 201041_01
hgs
parents:
diff changeset
   273
    User::Heap().Check();
44f437012c90 201041_01
hgs
parents:
diff changeset
   274
    return KErrNone;
44f437012c90 201041_01
hgs
parents:
diff changeset
   275
    }
44f437012c90 201041_01
hgs
parents:
diff changeset
   276