stif/TestEngine/src/TestReport.cpp
changeset 26 4fde310f06fe
parent 0 a03f92240627
child 30 86a2e675b80a
equal deleted inserted replaced
21:f5d4820de50d 26:4fde310f06fe
   192 
   192 
   193     Status: Approved
   193     Status: Approved
   194 
   194 
   195 -------------------------------------------------------------------------------
   195 -------------------------------------------------------------------------------
   196 */
   196 */
   197 void CTestReport::ConstructL( TTestReportSettings& aTestReportSettings )
   197 void CTestReport::ConstructL( CTestReportSettings& aTestReportSettings )
   198     {
   198     {
   199     // Create summary for all test cases
   199     // Create summary for all test cases
   200     _LIT( KName, "All test cases" );
   200     _LIT( KName, "All test cases" );
   201     iTotalSummary = new ( ELeave ) TTestSummary( KName() );
   201     iTotalSummary = new ( ELeave ) TTestSummary( KName() );
   202 
   202 
   246         
   246         
   247         if( aTestReportSettings.iOverwrite )
   247         if( aTestReportSettings.iOverwrite )
   248             {
   248             {
   249             User::LeaveIfError( iFile.Replace( iFs, 
   249             User::LeaveIfError( iFile.Replace( iFs, 
   250                            pathAndFile,
   250                            pathAndFile,
   251                            EFileWrite | EFileStreamText | EFileShareAny ) );
   251                            EFileWrite | EFileStreamText | EFileShareExclusive ) );
   252             }
   252             }
   253         else
   253         else
   254             {
   254             {
   255             TBool isOpen( EFalse );
   255             TInt fileOpen = iFile.Open( iFs, 
   256             TInt fileOpen = iFs.IsFileOpen( pathAndFile, isOpen );
   256                                         pathAndFile, 
       
   257                                         EFileWrite | EFileStreamText | EFileShareAny );
   257             if( fileOpen == KErrNotFound )
   258             if( fileOpen == KErrNotFound )
   258                 {
   259                 {
   259                 User::LeaveIfError( 
   260                 User::LeaveIfError( 
   260                     iFile.Create( iFs, 
   261                     iFile.Create( iFs, 
   261                                   pathAndFile, 
   262                                   pathAndFile, 
   262                                   EFileWrite | EFileStreamText | EFileShareAny ) );
   263                                   EFileWrite | EFileStreamText | EFileShareExclusive ) );
   263                 }
   264                 }
   264             else if( fileOpen == KErrNone )
   265             else if( fileOpen == KErrNone )
   265                 {
   266                 {
   266                 User::LeaveIfError( 
       
   267                     iFile.Open( iFs, 
       
   268                                 pathAndFile, 
       
   269                                 EFileWrite | EFileStreamText | EFileShareAny ) );
       
   270                 TInt endPosOfFile = 0;
   267                 TInt endPosOfFile = 0;
   271                 User::LeaveIfError( iFile.Seek( ESeekEnd, endPosOfFile ) );
   268                 User::LeaveIfError( iFile.Seek( ESeekEnd, endPosOfFile ) );
   272 
       
   273                 }
   269                 }
   274             else
   270             else
   275                 {
   271                 {
   276                 User::Leave( fileOpen );
   272                 User::Leave( fileOpen );
   277                 }
   273                 }
   305 
   301 
   306     Status: Approved
   302     Status: Approved
   307 
   303 
   308 -------------------------------------------------------------------------------
   304 -------------------------------------------------------------------------------
   309 */
   305 */
   310 CTestReport* CTestReport::NewL( TTestReportSettings& aTestReportSettings,
   306 CTestReport* CTestReport::NewL( CTestReportSettings& aTestReportSettings,
   311                                 const TTestReportMode aReportMode )
   307                                 const TTestReportMode aReportMode )
   312     {
   308     {
   313     CTestReport* self = new ( ELeave ) CTestReport( aReportMode );
   309     CTestReport* self = new ( ELeave ) CTestReport( aReportMode );
   314     CleanupStack::PushL( self );
   310     CleanupStack::PushL( self );
   315     self->ConstructL( aTestReportSettings );
   311     self->ConstructL( aTestReportSettings );
   337 
   333 
   338 -------------------------------------------------------------------------------
   334 -------------------------------------------------------------------------------
   339 */
   335 */
   340 CTestReport::~CTestReport()
   336 CTestReport::~CTestReport()
   341     {
   337     {
       
   338     iTestModulesVersionsInfo.ResetAndDestroy();
       
   339     iTestModulesVersionsInfo.Close();
       
   340         
   342     // Reset and destroy arrays
   341     // Reset and destroy arrays
   343     iTestSummaries.ResetAndDestroy();
   342     iTestSummaries.ResetAndDestroy();
   344     delete iTotalSummary;
   343     delete iTotalSummary;
   345     if( iOutput != CStifLogger::ERDebug )
   344     if( iOutput != CStifLogger::ERDebug )
   346         {
   345         {