camerasrv_plat/asynchronous_file_saving_queue_api/tsrc/src/AFSQTestAsynchSave.cpp
branchRCL_3
changeset 20 e3cdd00b5ae3
parent 19 18fa9327a158
child 21 27fe719c32e6
equal deleted inserted replaced
19:18fa9327a158 20:e3cdd00b5ae3
     1 /*
       
     2 * Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  FSQ Test DLL
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #include "../inc/AFSQTestAsynchSave.h"
       
    20 #include <f32file.h> // for opening / creating files
       
    21 #include <bautils.h> // for deleting files
       
    22 
       
    23 CAFSQTestAsynchSave::CAFSQTestAsynchSave()
       
    24     {
       
    25     RDebug::Print( _L("CAFSQTestAsynchSave::CAFSQTestAsynchSave in") );
       
    26     
       
    27     // Create a mutex for synchronization purpose
       
    28     iMutex.CreateLocal();
       
    29     
       
    30     RDebug::Print( _L("CAFSQTestAsynchSave::CAFSQTestAsynchSave out") );
       
    31     }
       
    32 
       
    33 CAFSQTestAsynchSave::~CAFSQTestAsynchSave()
       
    34     {
       
    35     // Nothing to do
       
    36     }
       
    37 
       
    38 void CAFSQTestAsynchSave::setUpL()
       
    39     {
       
    40     RDebug::Print( _L("CAFSQTestAsynchSave::setUpL in") );
       
    41     }
       
    42 
       
    43 void CAFSQTestAsynchSave::tearDown()
       
    44     {
       
    45     RDebug::Print( _L("CAFSQTestAsynchSave::tearDown in") );
       
    46     }
       
    47 
       
    48 void CAFSQTestAsynchSave::TestFileManNewLReturnsNotNullL()
       
    49     {
       
    50     // Group:   Asynch Save
       
    51     // 
       
    52     // ID:      CAE.FM.TESTFILEMANNEWLRETURNSNOTNULL.001
       
    53     // 
       
    54     // Action : Test that cfileman::newl returns a value.
       
    55     //      
       
    56     // Output : A handle to the requested object.   
       
    57 
       
    58     RDebug::Print( _L("CAFSQTestAsynchSave::TestFileManNewLReturnsNotNullL in") );
       
    59 
       
    60     currentTest = ECONSTRUCT001p1;
       
    61     wait = ETrue;
       
    62 
       
    63     TRAPD( err, 
       
    64         iFSQ = CAsynchFSQ::NewL();
       
    65         );
       
    66     
       
    67     RDebug::Print( _L("CAFSQTestAsynchSave::TestFileManNewLReturnsNotNullL isNotNull=%d notErr=%d"), (iFSQ!=NULL), !err);
       
    68     assertL( (iFSQ != NULL) && !err );
       
    69     delete iFSQ;
       
    70     iFSQ = NULL;
       
    71     RDebug::Print( _L("CAFSQTestAsynchSave::TestFileManNewLReturnsNotNullL out") );
       
    72     }
       
    73 
       
    74 void CAFSQTestAsynchSave::TestDestructorL()
       
    75     {
       
    76     // Group:   Asynch Save
       
    77     // 
       
    78     // ID:      CAE.FM.TESTDESTRUCTOR.001
       
    79     // 
       
    80     // Action : Test that delete works
       
    81     //      
       
    82     // Output : KErrNone on all fronts.   
       
    83 	
       
    84     RDebug::Print( _L("CAFSQTestAsynchSave::TestDestructorL in") );
       
    85 
       
    86     currentTest = EDESTRUCT001p1;
       
    87     wait = ETrue;
       
    88 
       
    89     TRAPD( err, 
       
    90         iFSQ = CAsynchFSQ::NewL();
       
    91         delete iFSQ;
       
    92         iFSQ = NULL;
       
    93         );
       
    94     
       
    95     RDebug::Print( _L("CAFSQTestAsynchSave::TestDestructorL notErr=%d"), !err );
       
    96     
       
    97     assertL( !err );
       
    98     
       
    99     RDebug::Print( _L("CAFSQTestAsynchSave::TestDestructorL out") );
       
   100     }
       
   101     
       
   102 void CAFSQTestAsynchSave::TestSetPriorityL()
       
   103     {
       
   104     // Group:   Asynch Save
       
   105     // 
       
   106     // ID:      CAE.FM.TESTSETPRIORITY.001
       
   107     // 
       
   108     // Action : Test that setting the priority doesn't fail
       
   109     //      
       
   110     // Output : KErrNone on all fronts.   
       
   111 	
       
   112     RDebug::Print( _L("CAFSQTestAsynchSave::TestSetPriorityL in") );
       
   113 
       
   114     currentTest = EPRIORITY001p1;
       
   115     wait = ETrue;
       
   116 
       
   117     TRAPD( err, 
       
   118         iFSQ = CAsynchFSQ::NewL();
       
   119         iFSQ->SetPriority( EPriorityMore );
       
   120         delete iFSQ;
       
   121         iFSQ = NULL;
       
   122         );
       
   123     
       
   124     RDebug::Print( _L("CAFSQTestAsynchSave::TestSetPriorityL notErr=%d"), !err );
       
   125     
       
   126     assertL( !err );
       
   127     
       
   128     RDebug::Print( _L("CAFSQTestAsynchSave::TestSetPriorityL out") );
       
   129     }   
       
   130     
       
   131 void CAFSQTestAsynchSave::TestCancelL()
       
   132     {
       
   133     // Group:   Asynch Save
       
   134     // 
       
   135     // ID:      CAE.FM.TESTCANCEL.001
       
   136     // 
       
   137     // Action : Test that canceling will....
       
   138     //      
       
   139     // Output : An error code.   
       
   140 
       
   141     RDebug::Print( _L("CAFSQTestAsynchSave::TestCancelL in") );
       
   142 
       
   143     TInt error = KErrNone;
       
   144     currentTest = ECANCEL001p1;
       
   145     numSaved = 0;
       
   146     wait = ETrue;
       
   147 
       
   148     // Read the file to be used in testing.
       
   149     TFileName aFilename = KNibbles;
       
   150     RFs aFs;
       
   151     User::LeaveIfError(aFs.Connect());
       
   152     RFile file;
       
   153     TInt connectErr = file.Open(aFs, aFilename, EFileRead);
       
   154     TInt iSize;   
       
   155     file.Size(iSize);
       
   156     HBufC8* buf = HBufC8::NewL(iSize);
       
   157     TPtr8  myData = buf->Des();
       
   158     if ( !connectErr )
       
   159         {
       
   160         file.Read( myData );
       
   161         }
       
   162     file.Close();
       
   163     
       
   164     // Delete the file if it exists
       
   165     TFileName cancel001 = KNibblesCANCEL001;
       
   166     RFile deleter;
       
   167     TInt isDeleted = deleter.Open(aFs, cancel001, EFileRead);
       
   168     deleter.Close();
       
   169 
       
   170     if ( isDeleted == KErrNone )
       
   171         {
       
   172         // if no error, assume the file exists, so delete it
       
   173         RDebug::Print( _L("CAFSQTestAsynchSave::TestCancelL exists, deleting") );
       
   174         BaflUtils ba;
       
   175         ba.DeleteFile(aFs, cancel001);
       
   176         }
       
   177     aFs.Close();
       
   178     
       
   179     // Save    
       
   180     TRAPD( err, 
       
   181         iFSQ = CAsynchFSQ::NewL();        
       
   182         //add this as a callback
       
   183         iFSQ->SetCallback( this );
       
   184         error = iFSQ->SaveAndDestroy( *buf, cancel001 );
       
   185         buf = NULL; // transfer ownership 
       
   186         iFSQ->Cancel();
       
   187         );
       
   188     
       
   189     RDebug::Print( _L("CAFSQTestAsynchSave::TestCancelL isKErrNone=%d notErr=%d"), (error == KErrNone), !err );
       
   190    
       
   191     // do not wait for callback to assert, since we have canceled
       
   192     delayedBool = ( (error == KErrNone) && !err );
       
   193     assertL( delayedBool );
       
   194     
       
   195     RDebug::Print( _L("CAFSQTestAsynchSave::TestCancelL out") );
       
   196     }
       
   197     
       
   198 void CAFSQTestAsynchSave::WaitForAsynchCompleteL()
       
   199     {
       
   200     RDebug::Print( _L("CAFSQTestAsynchSave::WaitForAsynchCompleteL in") );
       
   201 
       
   202     RDebug::Print( _L("CAFSQTestAsynchSave::WaitForAsynchCompleteL starting AS now") );
       
   203     CActiveScheduler::Start();
       
   204         
       
   205     RDebug::Print( _L("CAFSQTestAsynchSave::WaitForAsynchCompleteL closing") );
       
   206     //close up and assert
       
   207     User::After( TTimeIntervalMicroSeconds32(1000000) );
       
   208     if( iFSQ )
       
   209         {
       
   210         delete iFSQ;
       
   211         iFSQ = NULL; 
       
   212         }
       
   213         
       
   214     RDebug::Print( _L("CAFSQTestAsynchSave::WaitForAsynchCompleteL we are asserting the following: %d"), assertion );
       
   215         
       
   216     assertL( assertion );
       
   217        
       
   218     RDebug::Print( _L("CAFSQTestAsynchSave::WaitForAsynchCompleteL out") );
       
   219     }
       
   220 
       
   221 void CAFSQTestAsynchSave::MAsynchFSQEvent( TInt aError )
       
   222     {
       
   223     RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent in, waiting"));
       
   224     User::After( TTimeIntervalMicroSeconds32(2000000) );
       
   225     RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent in, done waiting"));
       
   226 
       
   227     numSaved++;
       
   228     RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent in, numToSave=%d"),numToSave);
       
   229 
       
   230     switch( currentTest )
       
   231         {
       
   232         case EADD002p1:
       
   233             RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(2) delayedBool=%d !aError=%d"), delayedBool, !aError );
       
   234             CActiveScheduler::Stop();
       
   235             RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(2)"));
       
   236     
       
   237             assertion = ( delayedBool && !aError );
       
   238             break;
       
   239             
       
   240         case EADD003p1:
       
   241             {
       
   242             RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(3)"));
       
   243             CActiveScheduler::Stop();
       
   244             RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(3)"));
       
   245             
       
   246             //check that the file exists
       
   247             RFs fsSession;
       
   248             TInt connectErr = fsSession.Connect();
       
   249             RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(3) connectErr=%d"), connectErr );
       
   250             RFile file;
       
   251             TFileName add003 = KNibblesADD003;
       
   252             TInt fileErr = file.Open(fsSession, add003, EFileRead);
       
   253             file.Close();
       
   254             fsSession.Close();
       
   255 
       
   256             RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(3) aErrorIsKErrNone=%d !fileErr=%d"), (aError == KErrNone), !fileErr );
       
   257             assertion = ( (aError == KErrNone) && !fileErr);
       
   258             break;        
       
   259             }           
       
   260         case EADD004p1:
       
   261             {
       
   262             if( numToSave == numSaved )
       
   263                 {
       
   264                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(4)"));
       
   265                 CActiveScheduler::Stop();
       
   266                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(4)"));
       
   267                 
       
   268                 //check that the file exists
       
   269                 RFs fsSession;
       
   270                 TInt connectErr = fsSession.Connect();
       
   271                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(4) connectErr=%d"), connectErr );
       
   272                 RFile file1;
       
   273                 RFile file2;
       
   274                 TFileName add004A = KNibblesADD004A;
       
   275                 TFileName add004B = KNibblesADD004B;
       
   276                 TInt fileErr1 = file1.Open(fsSession, add004A, EFileRead);
       
   277                 TInt fileErr2 = file2.Open(fsSession, add004B, EFileRead);
       
   278                 file1.Close();
       
   279                 file2.Close();
       
   280                 fsSession.Close();
       
   281 
       
   282                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(4) delayedBool=%d !aError=%d !fileErr1=%d !fileErr2=%d"), delayedBool, !aError, !fileErr1, !fileErr2 );
       
   283                 assertion = ( delayedBool && !aError && !fileErr1 && !fileErr2);
       
   284                 }
       
   285             break;
       
   286             }
       
   287         case EADD005p1:
       
   288             {        
       
   289             if( numToSave == numSaved )
       
   290                 {
       
   291                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(5)"));
       
   292                 CActiveScheduler::Stop();
       
   293                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(5)"));
       
   294                 
       
   295                 //check that the file exists
       
   296                 RFs fsSession;
       
   297                 TInt connectErr = fsSession.Connect();
       
   298                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(5) connectErr=%d"), connectErr );
       
   299                 RFile file1;
       
   300                 RFile file2;
       
   301                 TFileName add005A = KNibblesADD005A;
       
   302                 TFileName add005B = KNibblesADD005B;
       
   303                 TInt fileErr1 = file1.Open(fsSession, add005A, EFileRead);
       
   304                 TInt fileErr2 = file2.Open(fsSession, add005B, EFileRead);
       
   305                 file1.Close();
       
   306                 file2.Close();
       
   307                 fsSession.Close();
       
   308                     
       
   309                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(5) isaErrorKErrNone=%d"), (aError==KErrNone) );
       
   310                 assertion = ( aError == KErrNone );
       
   311                 }
       
   312             break;
       
   313             }        
       
   314         case EADD007p1:
       
   315             {        
       
   316             RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(EADD007p1) delayedBool=%d !aError=%d"), delayedBool, !aError );
       
   317             CActiveScheduler::Stop();
       
   318             RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(EADD007p1)"));
       
   319     
       
   320             assertion = ( delayedBool && !aError );
       
   321             break;
       
   322             }                
       
   323         case EDEL003p1:
       
   324             {
       
   325             if( numToSave == numSaved )
       
   326                 {
       
   327                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(8)"));
       
   328                 CActiveScheduler::Stop();
       
   329                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(8)"));
       
   330                 
       
   331                 //check that file was deleted
       
   332                 RFs fsSession2;
       
   333                 TInt connectErr = fsSession2.Connect();
       
   334                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(8) connectErr=%d"), connectErr );
       
   335                 RFile file3;
       
   336                 TFileName del003A = KNibblesDEL003A;
       
   337                 TInt fileError = file3.Open(fsSession2, del003A, EFileRead);
       
   338                 file3.Close();
       
   339                 fsSession2.Close();
       
   340     
       
   341                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(8) delayedBool=%d !aError=%d fileError=%d"), delayedBool, !aError, !(!fileError) );
       
   342                 assertion = ( delayedBool && !aError && !(!fileError) );
       
   343                 }
       
   344             break;
       
   345             }    
       
   346         case EDEL004p1:
       
   347             {
       
   348             if( numToSave == numSaved )
       
   349                 {
       
   350                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(9)"));
       
   351                 CActiveScheduler::Stop();
       
   352                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(9)"));
       
   353                 
       
   354                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(9) delayedBool=%d !aError=%d"), delayedBool, !aError );
       
   355                 assertion = ( delayedBool && !aError );
       
   356                 }
       
   357             break;
       
   358             }    
       
   359         case EDEL005p1:
       
   360             {
       
   361             if( numToSave == numSaved )
       
   362                 {
       
   363                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(10)"));
       
   364                 CActiveScheduler::Stop();
       
   365                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(10)"));
       
   366                 
       
   367                 //check that file was deleted
       
   368                 RFs fsSession2;
       
   369                 TInt connectErr = fsSession2.Connect();
       
   370                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(10) connectErr=%d"), connectErr );
       
   371                 RFile file3;
       
   372                 TFileName del005A = KNibblesDEL005A;
       
   373                 TInt fileError = file3.Open(fsSession2, del005A, EFileRead);
       
   374                 file3.Close();
       
   375             
       
   376                 //check that file was saved
       
   377                 RFile file4;
       
   378                 TFileName del005B = KNibblesDEL005B;
       
   379                 TInt fileError2 = file4.Open(fsSession2, del005B, EFileRead);
       
   380                 file4.Close();
       
   381                 
       
   382                 //check that file was saved
       
   383                 RFile file5;
       
   384                 TFileName del005C = KNibblesDEL005C;
       
   385                 TInt fileError3 = file5.Open(fsSession2, del005C, EFileRead);
       
   386                 file5.Close();
       
   387                 fsSession2.Close();
       
   388             
       
   389                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(10) delayedBool=%d !aError=%d fileError=%d !fileError2=%d !fileError3=%d"), delayedBool, !aError, !(!fileError), !fileError2, !fileError3 );
       
   390                 assertion = ( delayedBool && !aError && !(!fileError) && !fileError2 && !fileError3 );
       
   391                 }
       
   392             break;
       
   393             }    
       
   394         case EDEL006p1:
       
   395             {
       
   396             //check that file was saved
       
   397             RFs fsSession2;
       
   398             TInt connectErr = fsSession2.Connect();
       
   399             RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(11) connectErr=%d"), connectErr );
       
   400             RFile file5;
       
   401             TFileName del006A = KNibblesDEL006A;
       
   402             TInt fileError3 = file5.Open(fsSession2, del006A, EFileRead);
       
   403             file5.Close();
       
   404             
       
   405             if( iFSQ->ActionsLeft() == 0 )
       
   406                 {
       
   407                 //we should be done with the rest...
       
   408                 
       
   409                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(11)"));
       
   410                 CActiveScheduler::Stop();
       
   411                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(11)"));
       
   412                 
       
   413                 //check that file was deleted
       
   414                 RFile file3;
       
   415                 TFileName del006C = KNibblesDEL006C;
       
   416                 TInt fileError = file3.Open(fsSession2, del006C, EFileRead);
       
   417                 file3.Close();
       
   418                 
       
   419                 //check that file was saved
       
   420                 RFile file4;
       
   421                 TFileName del006B = KNibblesDEL006B;
       
   422                 TInt fileError2 = file4.Open(fsSession2, del006B, EFileRead);
       
   423                 file4.Close();
       
   424                 
       
   425             
       
   426                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(11) delayedBool=%d !aError=%d fileError=%d fileError2=%d !fileError3=%d"), delayedBool, !aError, !(!fileError), !(!fileError2), !fileError3 );
       
   427                 assertion = ( delayedBool && !aError && !(!fileError) && !(!fileError2) && !fileError3 );
       
   428                 }
       
   429                 
       
   430             fsSession2.Close();
       
   431             break;
       
   432             }    
       
   433         case EREN003p1:
       
   434             {
       
   435             if( numToSave == numSaved )
       
   436                 {
       
   437                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(15)"));
       
   438                 CActiveScheduler::Stop();
       
   439                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(15)"));
       
   440                 
       
   441                 //check that file was renamed
       
   442                 RFs fsSession2;
       
   443                 TInt connectErr = fsSession2.Connect();
       
   444                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(15) connectErr=%d"), connectErr );
       
   445                 RFile file3;
       
   446                 TFileName ren003A2 = KNibblesREN003A2;
       
   447                 TInt fileError = file3.Open(fsSession2, ren003A2, EFileRead);
       
   448                 file3.Close();
       
   449                 
       
   450                 //check that file was saved
       
   451                 RFile file4;
       
   452                 TFileName ren003B = KNibblesREN003B;
       
   453                 TInt fileError2 = file4.Open(fsSession2, ren003B, EFileRead);
       
   454                 file4.Close();
       
   455                 
       
   456                 //check that file was renamed (so this one wont exist anymore)
       
   457                 RFile file5;
       
   458                 TFileName ren003A = KNibblesREN003A;
       
   459                 TInt fileError3 = file5.Open(fsSession2, ren003A, EFileRead);
       
   460                 file5.Close();
       
   461                 fsSession2.Close();
       
   462             
       
   463                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(15) delayedBool=%d !aError=%d !fileError=%d !fileError2=%d !!fileError3=%d"), delayedBool, !aError, !fileError, !fileError2, !(!fileError3) );
       
   464                 assertion = ( delayedBool && !aError && !fileError && !fileError2 && !(!fileError3) );
       
   465                 }
       
   466             break;
       
   467             }    
       
   468         case EREN004p1:
       
   469             {
       
   470             if( numToSave == numSaved )
       
   471                 {
       
   472                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(16)"));
       
   473                 CActiveScheduler::Stop();
       
   474                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(16)"));
       
   475                 
       
   476                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(16) delayedBool=%d !aError=%d"), delayedBool, !aError );
       
   477                 assertion = ( delayedBool && !aError );
       
   478                 }
       
   479             break;
       
   480             }    
       
   481         case EREN005p1:
       
   482             {
       
   483             if( numToSave == numSaved )
       
   484                 {
       
   485                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(17)"));
       
   486                 CActiveScheduler::Stop();
       
   487                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(17)"));
       
   488                 
       
   489                 //check that file was renamed
       
   490                 RFs fsSession2;
       
   491                 TInt connectErr = fsSession2.Connect();
       
   492                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(17) connectErr=%d"), connectErr );
       
   493                 RFile file3;
       
   494                 TFileName ren005A2 = KNibblesREN005A2;
       
   495                 TInt fileError = file3.Open(fsSession2, ren005A2, EFileRead);
       
   496                 file3.Close();
       
   497                 
       
   498                 //check that file was saved
       
   499                 RFile file4;
       
   500                 TFileName ren005B = KNibblesREN005B;
       
   501                 TInt fileError2 = file4.Open(fsSession2, ren005B, EFileRead);
       
   502                 file4.Close();
       
   503                 
       
   504                 //check that file was renamed (so this one wont exist anymore)
       
   505                 RFile file5;
       
   506                 TFileName ren005A = KNibblesREN005A;
       
   507                 TInt fileError3 = file5.Open(fsSession2, ren005A, EFileRead);
       
   508                 file5.Close();
       
   509                 
       
   510                 //check that file was saved
       
   511                 RFile file6;
       
   512                 TFileName ren005C = KNibblesREN005C;
       
   513                 TInt fileError4 = file6.Open(fsSession2, ren005C, EFileRead);
       
   514                 file6.Close();
       
   515                 fsSession2.Close();
       
   516             
       
   517                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(17) delayedBool=%d !aError=%d !fileError=%d !fileError2=%d !!fileError3=%d !fileError4=%d"), delayedBool, !aError, !fileError, !fileError2, !(!fileError3), !fileError4 );
       
   518                 assertion = ( delayedBool && !aError && !fileError && !fileError2 && !(!fileError3) && !fileError4 );
       
   519                 }
       
   520             break;
       
   521             }    
       
   522         case EREN006p1:
       
   523             {
       
   524             if( numToSave == numSaved )
       
   525                 {
       
   526                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(18)"));
       
   527                 CActiveScheduler::Stop();
       
   528                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(18)"));
       
   529                 
       
   530                 //check that file was renamed
       
   531                 RFs fsSession2;
       
   532                 TInt connectErr = fsSession2.Connect();
       
   533                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(18) connectErr=%d"), connectErr );
       
   534                 RFile file3;
       
   535                 TFileName ren006C2 = KNibblesREN006C2;
       
   536                 TInt fileError = file3.Open(fsSession2, ren006C2, EFileRead);
       
   537                 file3.Close();
       
   538                 
       
   539                 //check that file was saved
       
   540                 RFile file4;
       
   541                 TFileName ren006B2 = KNibblesREN006B2;
       
   542                 TInt fileError2 = file4.Open(fsSession2, ren006B2, EFileRead);
       
   543                 file4.Close();
       
   544                 
       
   545                 //check that file was renamed (so this one wont exist anymore)
       
   546                 RFile file5;
       
   547                 TFileName ren006B = KNibblesREN006B;
       
   548                 TInt fileError3 = file5.Open(fsSession2, ren006B, EFileRead);
       
   549                 file5.Close();
       
   550                 
       
   551                 //check that file was saved
       
   552                 RFile file6;
       
   553                 TFileName ren006A = KNibblesREN006A;
       
   554                 TInt fileError4 = file6.Open(fsSession2, ren006A, EFileRead);
       
   555                 file6.Close();
       
   556                 
       
   557                 //check that file was renamed (so this one wont exist anymore)
       
   558                 RFile file7;
       
   559                 TFileName ren006C = KNibblesREN006C;
       
   560                 TInt fileError5 = file7.Open(fsSession2, ren006C, EFileRead);
       
   561                 file7.Close();
       
   562                 
       
   563                 fsSession2.Close();
       
   564             
       
   565                 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(17) delayedBool=%d !aError=%d !fileError=%d !fileError2=%d !!fileError3=%d !fileError4=%d !!fileError5=%d"), delayedBool, !aError, !fileError, !fileError2, !(!fileError3), !fileError4, !(!fileError5) );
       
   566                 assertion = ( delayedBool && !aError && !fileError && !fileError2 && !(!fileError3) && !fileError4 && !(!fileError5) );
       
   567                 }
       
   568             break;
       
   569             }
       
   570         case EADD006p1:
       
   571             {
       
   572             RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(19)"));
       
   573             CActiveScheduler::Stop();
       
   574             RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(19)"));
       
   575             assertion = ( delayedBool && ( aError == KErrAlreadyExists ));
       
   576             break;
       
   577             }
       
   578         case ECANCEL001p1:
       
   579             {
       
   580             RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(ECANCEL001p1) delayedBool=%d !aError=%d"), delayedBool, !aError );
       
   581             // do nothing, we are waiting for cancel
       
   582             RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(ECANCEL001p1)"));
       
   583             break;
       
   584             }
       
   585         default:
       
   586             break;
       
   587         }
       
   588 
       
   589     RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent out") );
       
   590     }
       
   591 
       
   592 MTest* CAFSQTestAsynchSave::suiteL ()
       
   593     {
       
   594     // An own static function to collect the test functions into one 
       
   595     // suite of tests. The framework will run the tests and free the
       
   596     // memory allocated for the test suite.
       
   597 
       
   598     RDebug::Print( _L("CAFSQTestAsynchSave::suiteL in") );
       
   599     
       
   600     // Always use NewL (Do not use NewLC here)
       
   601     CTestSuite *suite = CTestSuite::NewL( _L8("CAFSQTestAsynchSave") );
       
   602 
       
   603     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTFILEMANNEWLRETURNSNOTNULL.001"), &TestFileManNewLReturnsNotNullL ) );
       
   604     
       
   605     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTDESTRUCTOR.001"), &TestDestructorL ) );
       
   606     
       
   607     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTSETPRIORITY.001"), &TestSetPriorityL ) );
       
   608     
       
   609     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTCANCEL.001"), &TestCancelL ) );
       
   610     
       
   611     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTADDOBJECT.001"), &TestAddEmptyObjectToQueueL ) );
       
   612     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTADDOBJECT.002"), &TestAddObjectToEmptyQueueL ) );
       
   613     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTADDOBJECT.003"), &TestAddObjectToEmptyQueueWillSaveL ) );
       
   614     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTADDOBJECT.004"), &TestAddObjectToNonEmptyQueueL ) );
       
   615     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTADDOBJECT.005"), &TestAddObjectToNonEmptyQueueWillSaveL ) );
       
   616     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTADDOBJECT.006"), &TestAddObjectThatExistsAlreadyL ) );
       
   617     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTADDOBJECT.007"), &TestAddObjectToEmptyQueueLManualStart ) );
       
   618     
       
   619     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTDELETEOBJECT.001"), &TestDeleteFromEmptyNotExistL ) );
       
   620     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTDELETEOBJECT.002"), &TestDeleteFromEmptyExistsL ) );
       
   621     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTDELETEOBJECT.003"), &TestDeleteNonEmptyExistsButNotInQueueL ) );
       
   622     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTDELETEOBJECT.004"), &TestDeleteNonEmptyNotExistAndNotInQueueL ) );
       
   623     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTDELETEOBJECT.005"), &TestDeleteInQueueNotActiveL ) );
       
   624     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTDELETEOBJECT.006"), &TestDeleteInQueueActiveL ) );
       
   625     
       
   626     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTRENAMEOBJECT.001"), &TestRenameFromEmptyNotExistL ) );
       
   627     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTRENAMEOBJECT.002"), &TestRenameFromEmptyExistsL ) );
       
   628     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTRENAMEOBJECT.003"), &TestRenameNonEmptyExistsButNotInQueueL ) );
       
   629     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTRENAMEOBJECT.004"), &TestRenameNonEmptyNotExistAndNotInQueueL ) );
       
   630     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTRENAMEOBJECT.005"), &TestRenameInQueueNotActiveL ) );
       
   631     suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTRENAMEOBJECT.006"), &TestRenameInQueueActiveL ) );
       
   632 
       
   633     RDebug::Print( _L("CAFSQTestAsynchSave::suiteL returning") );
       
   634     return suite;
       
   635     }
       
   636