--- a/xml/legacyminidomparser/XMLParser/test/t_GmxmlFailure.CPP Thu Jul 01 15:13:40 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include <e32std.h>
-#include <e32test.h>
-#include "t_GmxmlFailure.h"
-#include "t_XMLParserLOG.H"
-
-LOCAL_D CActiveScheduler* scheduler;
-LOCAL_D CImLog* log;
-_LIT(KTestTitle, "T_GmxmlFailure");
-_LIT(KExistingFilePath, "c:\\GmxmlTest.txt");
-_LIT(KNonExistingFilePath, "c:\\msg\\NotExist.txt");
-LOCAL_D CGmxmlFailure* myTester;
-// Global variables
-RTest gTest(_L("t_GmxmlFailure Test Harness"));
-
-CGmxmlFailure :: CGmxmlFailure() : CActive(EPriorityStandard)
- {
- }
-
-/**
- * Second stage constructor:
- * Creates the XML parser and calls the ParseFile() with
- * a non-exixtent file
- */
-
-void CGmxmlFailure :: ConstructL()
- {
- iSession.Connect();
- iCMDXMLParser = CMDXMLParser::NewL(this);
- log->AppendComment(_L8("Performing tests on opening non-existing file"));
- LoadXmlFile(KNonExistingFilePath);
- log->AppendComment(_L8("Completed checking of opening non-existing file"));
-
- CActiveScheduler::Add(this);
-
- iState = ENonExistFileState;
- TRequestStatus *s = &iStatus;
- User::RequestComplete(s, KErrNone);
- SetActive();
- }
-
-void CGmxmlFailure::LoadXmlFile(const TDesC &aFilePath)
- {
- TInt err=iCMDXMLParser->ParseFile(iSession, aFilePath);
- if(err!=KErrNone)
- {
- log->AppendError(_L8("Parse File returned an error "),err);
- }
- }
-
-void CGmxmlFailure::LockXmlFile()
- {
- RFile file;
- //Open the file before calling ParseFile function.
- file.Open(iSession, KExistingFilePath,EFileShareExclusive);
- //Call the ParseFile() on the locked file
- TInt err=iCMDXMLParser->ParseFile(iSession, KExistingFilePath);
- if(err!=KErrNone)
- {
- log->AppendError(_L8("Parse File returned an error "),err);
- }
- file.Close();
- }
-
-CGmxmlFailure :: ~CGmxmlFailure()
-/**
- * Destructor
- */
- {
- iSession.Close();
- delete iCMDXMLParser;
- }
-
-CGmxmlFailure* CGmxmlFailure :: NewLC()
-/**
-* Allocates a new CGmxmlFailure test object and pushes
-* it on clean up stack.
-* @return New CGmxmlFailure
-*/
- {
- CGmxmlFailure* self = new (ELeave) CGmxmlFailure();
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-void CGmxmlFailure :: ParseFileCompleteL()
-/**
-* Function from MMDXMLParserObserver class
-*/
- {
- }
-
-
-void CGmxmlFailure :: DoCancel()
-/**
-* Functions from CActive class
-*/
- {
- }
-
-void CGmxmlFailure :: RunL()
- {
- switch(iState)
- {
- case ENonExistFileState:
- {
- CActiveScheduler::Stop();
- iState = ELockFileState;
- TRequestStatus *s = &iStatus;
- User::RequestComplete(s, KErrNone);
- SetActive();
- }
- break;
- case ELockFileState:
- {
- CActiveScheduler::Stop();
- iState = EEndState;
- TRequestStatus *s = &iStatus;
- User::RequestComplete(s, KErrNone);
- SetActive();
- }
- break;
- case EEndState:
- {
- CActiveScheduler::Stop();
- }
- break;
- default:
- break;
- }
-
- }
-
-LOCAL_C void InitL()
- {
- TBuf<80> logFile(KLogFileName);
-
-#if defined(__WINS__) && defined(__WINSCW__)
- logFile.Append(_L(".WINSCW"));
-#elif(__WINS__)
- logFile.Append(_L(".WINS"));
-#else
- logFile.Append(_L(".MARM"));
-#endif
-
-#if defined(_DEBUG)
- logFile.Append(_L(".DEB"));
-#else
- logFile.Append(_L(".REL"));
-#endif
- logFile.Append(_L(".LOG"));
-
- gTest.Printf(_L("\nLog File "));
- gTest.Printf(logFile);
- gTest.Printf(_L("\n"));
- log = CImLog::NewL(logFile, EAppend);
- CleanupStack::PushL(log);
- log->AppendComment(_L8("Test Results"));
- log->AppendComment(_L8("T_GMXMLFAILURE memory leak test in XMLParser"));
- log->AppendComment(_L8("Test 1 Starting"));
- }
-
-/**
- * setup test environment, create CGmxmlFailure object and run test.
- *
- * This is an memory leak test.
- * Test case:
- * Passes the file name and session to CMDXMLParser::ParseFile()
- * as arguments and run the memory leak test.
- * Running Instructions:
- * 1. Build this test harness: cd \GMXML\XMLParser\GROUP
- * bldmake bldfiles
- * abld test build wins udeb t_GmxmlFailure
- * 2. Run t_GmxmlFailure.exe: cd \epoc32\release\wins\udeb
- * t_GmxmlFailure -dtextshell --
- *
- * Output files produced by running test harness:
- * <DRIVE>:\msglogs\T_GMXMLFAILURE.<PLATFORM>.<VARIANT>.txt
- */
-
-LOCAL_C void doMainL()
- {
- gTest.Start(KTestTitle);
- InitL();
- scheduler = new (ELeave) CActiveScheduler;
- CleanupStack::PushL(scheduler);
- CActiveScheduler::Install( scheduler );
- __UHEAP_MARK;
- myTester = CGmxmlFailure::NewLC();
- CActiveScheduler::Start();
- log->AppendComment(_L8("Completed tests. No panic"));
- log->AppendComment(_L8("Test PASSED"));
- log->AppendComment(_L8("Test 1 OK"));
-
- log->AppendComment(_L8("Test 2 Starting"));
- log->AppendComment(_L8("Performing tests on opening existing file"));
- myTester->LoadXmlFile(KExistingFilePath);
- log->AppendComment(_L8("Completed checking of opening existing file"));
- CActiveScheduler::Start();
- log->AppendComment(_L8("Completed tests. No panic"));
- log->AppendComment(_L8("Test PASSED"));
- log->AppendComment(_L8("Test 2 OK"));
-
- log->AppendComment(_L8("Test 3 Starting"));
- log->AppendComment(_L8("Performing tests on locked file"));
- myTester->LockXmlFile();
- log->AppendComment(_L8("Completed checking of opening a locked file"));
- CActiveScheduler::Start();
- log->AppendComment(_L8("Completed tests. No panic"));
- log->AppendComment(_L8("Test PASSED"));
- log->AppendComment(_L8("Test 3 OK"));
-
- CleanupStack::PopAndDestroy(myTester); // myTester
- __UHEAP_MARKEND;
-
- log->AppendComment(_L8("No memory leak in XMLParser"));
- log->AppendComment(_L8("T_GMXMLFAILURE Tests Complete"));
- log->AppendComment(_L8("Tests Completed"));
-
- CleanupStack::PopAndDestroy(2); // scheduler, log
- gTest.End();
- gTest.Close();
- }
-
-/** entry point for test executable */
-GLDEF_C TInt E32Main()
- {
- CTrapCleanup* theCleanup = CTrapCleanup::New();
- TRAPD(ret,doMainL());
- gTest(ret==KErrNone);
- delete theCleanup;
-
- return(KErrNone);
- }