os/persistentdata/traceservices/commsdebugutility/TE_commsdebugutility/src/step_014_xx.cpp
First public contribution.
1 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // This contains Flogger Unit Test Case 014.xx
19 // Test system includes
20 #include "teststepcomsdbg.h"
21 #include "TestMessage.h"
22 #include "step_014_xx.h"
24 #include <comms-infras/commsdebugutility.h>
28 * Function Name : CFloggerTest005_02
29 * Input parameters : None
30 * Output parameters : None
31 * Description : This is the constructor
35 CFloggerTest014_01::CFloggerTest014_01()
37 // store the name of this test case
38 SetTestStepName(_L("step_014_01"));
43 * Function Name :~ CFloggerTest014_01
44 * Input parameters : None
45 * Output parameters : None
46 * Description : This is the Destructor
50 CFloggerTest014_01::~CFloggerTest014_01()
56 * Function Name : doTestStepL
57 * Input parameters : None
58 * Output parameters : TVerdict
59 * Description : This function returns weather the test case 014_01 has
65 TVerdict CFloggerTest014_01::doTestStepL( )
67 INFO_PRINTF1(_L("Step 011.01 called "));
69 if ( executeStepL(EFalse) == KErrNone )
70 SetTestStepResult(EPass);
73 SetTestStepResult(EFail);
76 User::After(KTimeForDisplay1);
77 return TestStepResult();
81 * Function Name : executeStepL
82 * Input parameters : None
83 * Output parameters : TInt
84 * Description : This function writes the test data in to the log file
85 * This function check the test message is present in the
91 TInt CFloggerTest014_01::executeStepL()
97 * Function Name : executeStepL
98 * Input parameters : None
99 * Output parameters : TInt
100 * Description : This function writes the test data in to the log file
101 * This function check the test message is present in the
107 TInt CFloggerTest014_01::executeStepL(TBool heapTest)
109 TInt ret = KErrGeneral;
112 if (ret == KErrNone )
114 User::After(KTimeToLog);
115 TRAPD(r, ret = DoTestCheckWriteL() );
116 if ((heapTest) && ((ret == KErrNotFound) || (r != KErrNone)))
120 else if (r != KErrNone)
130 * Function Name : DoTestWrite
131 * Input parameters : None
132 * Output parameters : TInt
133 * Description : This function writes the data to the file logger
138 TInt CFloggerTest014_01::DoTestWrite()
140 _LIT8(KTestMessage,"TC 14.01 :This is test msg"); //8 bit test decriptor
143 RFileLogger ::Write(KStdSubsysTag8, KStdCompTag8, KTestMessage);
145 // connect so we can flush file buffer for heap check since timer is killed in heap checks
146 RFileLogger theFlogger;
147 theFlogger.Connect();
148 theFlogger.SetLogTags(KStdSubsysTag8, KStdCompTag8);
149 ForceLogFlush(theFlogger);
158 * Function Name : DoTestCheckWriteL
159 * Input parameters : None
160 * Output parameters : TInt
161 * Description : This function checks the weather test data was written
162 * in to the log file by DoTestWrite() or not.
167 TInt CFloggerTest014_01::DoTestCheckWriteL()
169 User::After(KTimeToLog);
175 RFs fileSystem; //For file operation create a file system
176 TBuf8<256> testData; //To hold the test descriptor
177 _LIT(KLogFile, "c:\\logs\\log.txt"); // log file name and path
180 _LIT8(KTestMessage,"TC 14.01 :This is test msg"); //8 bit test decriptor
182 User::LeaveIfError(fileSystem.Connect());
184 //Open the file in the read mode
185 User::LeaveIfError(theFile.Open(fileSystem,KLogFile,EFileRead));
188 returnCode = theFile.Size(listfilesize); //Size of the file
189 hBuffer = HBufC8::New(listfilesize); //Allocate the buffer
190 CleanupStack::PushL(hBuffer);
191 TPtr8 ptrString = hBuffer->Des(); ; //To hold the buffer
193 // Read from position 0: start of file
194 returnCode = theFile.Read(ptrString);
196 testData.Copy(KTestMessage); //Copy the test descriptor
197 returnCode = ptrString.Find(testData); //find the test descriptor in the buffer read
202 CleanupStack::PopAndDestroy(hBuffer);
215 * Function Name : CFloggerTest014_02
216 * Input parameters : None
217 * Output parameters : None
218 * Description : This is the constructor
222 CFloggerTest014_02::CFloggerTest014_02()
224 // store the name of this test case
225 SetTestStepName(_L("step_014_02"));
230 * Function Name :~ CFloggerTest014_02
231 * Input parameters : None
232 * Output parameters : None
233 * Description : This is the Destructor
237 CFloggerTest014_02::~CFloggerTest014_02()
243 * Function Name : doTestStepL
244 * Input parameters : None
245 * Output parameters : TVerdict
246 * Description : This function returns weather the test case 014_02 has
252 TVerdict CFloggerTest014_02::doTestStepL( )
254 INFO_PRINTF1(_L("Step 014.02 called "));
256 if ( executeStepL() == KErrNone )
257 SetTestStepResult(EPass);
260 SetTestStepResult(EFail);
263 User::After(KTimeForDisplay1);
264 return TestStepResult();
269 * Function Name : executeStepL
270 * Input parameters : None
271 * Output parameters : TInt
272 * Description : This function writes the test data in to the log file
273 * This function check the test message is present in the
279 TInt CFloggerTest014_02::executeStepL()
281 User::After(1000*1000);
283 TInt ret = KErrGeneral;
286 if (ret == KErrNone )
288 TRAPD(r, ret = DoTestCheckWriteL());
296 * Function Name : executeStepL
297 * Input parameters : None
298 * Output parameters : TInt
299 * Description : This function writes the test data in to the log file
300 * This function check the test message is present in the
306 TInt CFloggerTest014_02::executeStepL(TBool)
312 * Function Name : DoTestWrite
313 * Input parameters : None
314 * Output parameters : TInt
315 * Description : This function writes the data to the file logger
320 TInt CFloggerTest014_02::DoTestWrite()
322 _LIT8(KTestLongMessage,"TEST 14.2: This is the long message This is the long message This is the long message This is the long message This is the long message This is the long message This is the long message This is the long message This is the long message This is the long message This is the long message"); //8 bit test decriptor
326 RFileLogger theFlogger;
328 theFlogger.Connect(); //Just to clear the old log message
329 ret = theFlogger.SetLogTags(KStdSubsysTag8, KStdCompTag8);
330 theFlogger.ClearLog();
334 RFileLogger ::Write(KStdSubsysTag8, KStdCompTag8, KTestLongMessage);
340 * Function Name : DoTestCheckWriteL
341 * Input parameters : None
342 * Output parameters : TInt
343 * Description : This function checks the weather test data was written
344 * in to the log file by DoTestWrite() or not.
349 TInt CFloggerTest014_02::DoTestCheckWriteL()
351 User::After(KTimeToLog);
355 TInt listfilesize,returnCode;
356 RFs fileSystem; //For file operation create a file system
357 TBuf8<256> testData; //To hold the test descriptor
358 _LIT(KLogFile,"c:\\logs\\log.txt"); // log file name and path
360 //The following contains the string of length 200(max)
361 //which is written to the log file
362 //_LIT(KTestLongMessage, "This is the long message This is the long message This is the long message This is the long message This is the long message This is the long message This is the long message This is the long message");
363 _LIT(KTestLongMessage, "TEST 14.2: This is the long message This is the long message This is the long message This is the long message This is the long message This is the long message This is the long message This is the lo");
365 //_LIT8(KOOMError, "#Logs may be lost out of memory!!");
367 User::LeaveIfError(fileSystem.Connect());
369 //Open the file in the read mode
370 User::LeaveIfError(theFile.Open(fileSystem,KLogFile,EFileRead));
372 CleanupClosePushL(theFile);
374 User::LeaveIfError(theFile.Size(listfilesize)); //Size of the file
376 hBuffer = HBufC8::New(listfilesize); //Allocate the buffer
377 CleanupStack::PushL(hBuffer);
379 TPtr8 ptrString = hBuffer->Des(); ; //To hold the buffer
381 // Read from position 0: start of file
382 User::LeaveIfError(returnCode = theFile.Read(ptrString));
384 testData.Copy(KTestLongMessage); //Copy the test descriptor
385 returnCode = ptrString.Find(testData); //find the test descriptor in the buffer read
389 CleanupStack::PopAndDestroy(hBuffer);
390 CleanupStack::PopAndDestroy(); //theFile
400 * Function Name : CFloggerTest014_03
401 * Input parameters : None
402 * Output parameters : None
403 * Description : This is the constructor
407 CFloggerTest014_03::CFloggerTest014_03()
409 // store the name of this test case
410 SetTestStepName(_L("step_014_03"));
415 * Function Name :~ CFloggerTest014_03
416 * Input parameters : None
417 * Output parameters : None
418 * Description : This is the Destructor
422 CFloggerTest014_03::~CFloggerTest014_03()
428 * Function Name : doTestStepL
429 * Input parameters : None
430 * Output parameters : TVerdict
431 * Description : This function is responsible for doing the heap test analysis
436 TVerdict CFloggerTest014_03::doTestStepL( )
438 INFO_PRINTF1(_L("Step 014.03 called "));
440 CFloggerTest014_01* step014_01 = new CFloggerTest014_01;
441 CleanupStack::PushL(step014_01);
442 doTestStepWithHeapFailureL( *step014_01, 1, 20, KErrNone, ETrue);
444 CleanupStack::PopAndDestroy(step014_01);
445 User::After(KTimeForDisplay);
446 return TestStepResult();