Update contrib.
1 // Copyright (c) 2002-2010 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.
17 #include "t_logutil2.h"
20 RTest TheTest(_L("t_logevent"));
22 TBool CompareEvents(const CLogEvent& aLeft, const CLogEvent& aRight)
24 TBool ret = aLeft.Data() == aRight.Data();
25 ret = ret && aLeft.Description() == aRight.Description();
26 ret = ret && aLeft.Direction() == aRight.Direction();
27 ret = ret && aLeft.Duration() == aRight.Duration();
28 ret = ret && aLeft.DurationType() == aRight.DurationType();
29 ret = ret && aLeft.EventType() == aRight.EventType();
30 ret = ret && aLeft.Flags() == aRight.Flags();
31 ret = ret && aLeft.Id() == aRight.Id();
32 ret = ret && aLeft.Link() == aRight.Link();
33 ret = ret && aLeft.Number() == aRight.Number();
34 ret = ret && aLeft.RemoteParty() == aRight.RemoteParty();
35 ret = ret && aLeft.Status() == aRight.Status();
36 ret = ret && aLeft.Subject() == aRight.Subject();
37 ret = ret && aLeft.Time() == aRight.Time();
41 void TestStoreL(const CLogEvent& aEvent)
43 // const TInt size = aEvent.Size();
46 CBufFlat* buf = CBufFlat::NewL(0x100);
47 CleanupStack::PushL(buf);
48 RBufWriteStream write(*buf);
53 CLogEvent* event = CLogEvent::NewL();
54 CleanupStack::PushL(event);
55 RBufReadStream read(*buf);
58 TBool ret = CompareEvents(aEvent, *event);
61 CleanupStack::PopAndDestroy(2);
65 @SYMTestCaseID SYSLIB-LOGENG-CT-1008
66 @SYMTestCaseDesc Tests for writing different events to a store
68 @SYMTestActions Calls up TestStoreL() function
69 @SYMTestExpectedResults Test must not fail
72 LOCAL_C void TestEventL()
74 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-1008 "));
75 CLogEvent* event1 = CLogEvent::NewL();
76 CleanupStack::PushL(event1);
79 TEST(event1->Id() == KLogNullId);
82 event1->SetId(0x12345678);
83 TEST(event1->Id() == 0x12345678);
86 event1->SetId(KMaxTInt32);
87 TEST(event1->Id() == KMaxTInt32);
91 TEST(event1->Id() == 0);
95 event1->SetEventType(TUid::Null());
98 event1->SetEventType(TUid::Uid(0x12345678));
99 TEST(event1->EventType() == TUid::Uid(0x12345678));
102 event1->SetEventType(TUid::Uid(KMaxTInt32));
103 TEST(event1->EventType() == TUid::Uid(KMaxTInt32));
106 event1->SetEventType(TUid::Null());
107 TEST(event1->EventType() == TUid::Null());
111 TEST(event1->RemoteParty() == KNullDesC);
114 HBufC* buf = TestUtils::CreateBufLC(KLogMaxRemotePartyLength / 2);
115 event1->SetRemoteParty(buf->Des());
116 TEST(event1->RemoteParty() == buf->Des());
117 CleanupStack::PopAndDestroy(); // buf
120 buf = TestUtils::CreateBufLC(KLogMaxRemotePartyLength);
121 event1->SetRemoteParty(buf->Des());
122 TEST(event1->RemoteParty() == buf->Des());
123 CleanupStack::PopAndDestroy(); // buf
126 buf = TestUtils::CreateBufLC(KLogMaxRemotePartyLength * 2);
127 event1->SetRemoteParty(buf->Des());
128 TEST(event1->RemoteParty() == buf->Des().Left(KLogMaxRemotePartyLength));
129 CleanupStack::PopAndDestroy(); // buf
132 event1->SetRemoteParty(KNullDesC);
133 TEST(event1->RemoteParty() == KNullDesC);
137 TEST(event1->Direction() == KNullDesC);
140 buf = TestUtils::CreateBufLC(KLogMaxDirectionLength / 2);
141 event1->SetDirection(buf->Des());
142 TEST(event1->Direction() == buf->Des());
143 CleanupStack::PopAndDestroy(); // buf
146 buf = TestUtils::CreateBufLC(KLogMaxDirectionLength);
147 event1->SetDirection(buf->Des());
148 TEST(event1->Direction() == buf->Des());
149 CleanupStack::PopAndDestroy(); // buf
152 buf = TestUtils::CreateBufLC(KLogMaxDirectionLength * 2);
153 event1->SetDirection(buf->Des());
154 TEST(event1->Direction() == buf->Des().Left(KLogMaxDirectionLength));
155 CleanupStack::PopAndDestroy(); // buf
158 event1->SetDirection(KNullDesC);
159 TEST(event1->Direction() == KNullDesC);
165 time.UniversalTime();
166 event1->SetTime(time);
167 TEST(event1->Time() == time);
171 event1->SetTime(time);
172 TEST(event1->Time() == time);
176 TEST(event1->DurationType() == KLogNullDurationType);
178 event1->SetDurationType(0xf);
179 TEST(event1->DurationType() == 0xf);
182 event1->SetDurationType(KMaxTInt8);
183 TEST(event1->DurationType() == KMaxTInt8);
186 event1->SetDurationType(KLogNullDurationType);
187 TEST(event1->DurationType() == KLogNullDurationType);
191 TEST(event1->Duration() == KLogNullDuration);
193 event1->SetDuration(0x12345678);
194 TEST(event1->Duration() == 0x12345678);
197 event1->SetDuration(KMaxTUint32);
198 TEST(event1->Duration() == KMaxTUint32);
201 event1->SetDuration(KLogNullDuration);
202 TEST(event1->Duration() == KLogNullDuration);
206 TEST(event1->Status() == KNullDesC);
208 buf = TestUtils::CreateBufLC(KLogMaxStatusLength / 2);
209 event1->SetStatus(buf->Des());
210 TEST(event1->Status() == buf->Des());
211 CleanupStack::PopAndDestroy(); // buf
214 buf = TestUtils::CreateBufLC(KLogMaxStatusLength);
215 event1->SetStatus(buf->Des());
216 TEST(event1->Status() == buf->Des());
217 CleanupStack::PopAndDestroy(); // buf
220 buf = TestUtils::CreateBufLC(KLogMaxStatusLength * 2);
221 event1->SetStatus(buf->Des());
222 TEST(event1->Status() == buf->Des().Left(KLogMaxStatusLength));
223 CleanupStack::PopAndDestroy(); // buf
226 event1->SetStatus(KNullDesC);
227 TEST(event1->Status() == KNullDesC);
231 TEST(event1->Subject() == KNullDesC);
233 buf = TestUtils::CreateBufLC(KLogMaxSubjectLength / 2);
234 event1->SetSubject(buf->Des());
235 TEST(event1->Subject() == buf->Des());
236 CleanupStack::PopAndDestroy(); // buf
239 buf = TestUtils::CreateBufLC(KLogMaxSubjectLength);
240 event1->SetSubject(buf->Des());
241 TEST(event1->Subject() == buf->Des());
242 CleanupStack::PopAndDestroy(); // buf
245 buf = TestUtils::CreateBufLC(KLogMaxSubjectLength * 2);
246 event1->SetSubject(buf->Des());
247 TEST(event1->Subject() == buf->Des().Left(KLogMaxSubjectLength));
248 CleanupStack::PopAndDestroy(); // buf
251 event1->SetSubject(KNullDesC);
252 TEST(event1->Subject() == KNullDesC);
256 TEST(event1->Number() == KNullDesC);
258 buf = TestUtils::CreateBufLC(KLogMaxNumberLength / 2);
259 event1->SetNumber(buf->Des());
260 TEST(event1->Number() == buf->Des());
261 CleanupStack::PopAndDestroy(); // buf
264 buf = TestUtils::CreateBufLC(KLogMaxNumberLength);
265 event1->SetNumber(buf->Des());
266 TEST(event1->Number() == buf->Des());
267 CleanupStack::PopAndDestroy(); // buf
270 buf = TestUtils::CreateBufLC(KLogMaxNumberLength * 2);
271 event1->SetNumber(buf->Des());
272 TEST(event1->Number() == buf->Des().Left(KLogMaxNumberLength));
273 CleanupStack::PopAndDestroy(); // buf
276 event1->SetNumber(KNullDesC);
277 TEST(event1->Number() == KNullDesC);
281 TEST(event1->Contact() == KLogNullContactId);
283 event1->SetContact(0x12345678);
284 TEST(event1->Contact() == 0x12345678);
287 event1->SetContact(KMaxTInt32);
288 TEST(event1->Contact() == KMaxTInt32);
291 event1->SetContact(KLogNullContactId);
292 TEST(event1->Contact() == KLogNullContactId);
295 event1->SetContact(KMinTInt32);
296 TEST(event1->Contact() == KMinTInt32);
300 TEST(event1->Link() == KLogNullLink);
302 event1->SetLink(0x12345678);
303 TEST(event1->Link() == 0x12345678);
306 event1->SetLink(KMaxTUint32);
307 TEST(event1->Link() == KMaxTUint32);
310 event1->SetLink(KLogNullLink);
311 TEST(event1->Link() == KLogNullLink);
314 TEST(event1->Description() == KNullDesC);
316 buf = TestUtils::CreateBufLC(KLogMaxDescriptionLength / 2);
317 event1->SetDescription(buf->Des());
318 TEST(event1->Description() == buf->Des());
319 CleanupStack::PopAndDestroy(); // buf
322 buf = TestUtils::CreateBufLC(KLogMaxDescriptionLength);
323 event1->SetDescription(buf->Des());
324 TEST(event1->Description() == buf->Des());
325 CleanupStack::PopAndDestroy(); // buf
328 buf = TestUtils::CreateBufLC(KLogMaxDescriptionLength * 2);
329 event1->SetDescription(buf->Des());
330 TEST(event1->Description() == buf->Des().Left(KLogMaxDescriptionLength));
331 CleanupStack::PopAndDestroy(); // buf
334 event1->SetDescription(KNullDesC);
335 TEST(event1->Description() == KNullDesC);
338 TEST(event1->Flags() == KLogNullFlags);
340 TEST(event1->Flags() == 1);
343 TEST(event1->Flags() == 3);
345 TEST(event1->Flags() == 7);
347 TEST(event1->Flags() == KLogFlagsMask);
348 event1->ClearFlags(8);
349 TEST(event1->Flags() == 7);
350 event1->ClearFlags(4);
351 TEST(event1->Flags() == 3);
352 event1->ClearFlags(2);
353 TEST(event1->Flags() == 1);
354 event1->ClearFlags(1);
355 TEST(event1->Flags() == KLogNullFlags);
358 TEST(event1->Flags() == 1);
360 TEST(event1->Flags() == 3);
362 TEST(event1->Flags() == 7);
363 event1->SetFlags(15);
364 event1->SetFlags(KLogFlagsMask);
365 TEST(event1->Flags() == KLogFlagsMask);
366 event1->ClearFlags(KLogFlagsMask);
367 TEST(event1->Flags() == KLogNullFlags);
369 event1->SetFlags(0x5);
370 TEST(event1->Flags() == 0x5);
371 event1->SetFlags(0xA);
372 TEST(event1->Flags() == KLogFlagsMask);
373 event1->ClearFlags(0x5);
374 TEST(event1->Flags() == 0xA);
375 event1->ClearFlags(0xA);
376 TEST(event1->Flags() == KLogNullFlags);
379 TEST(event1->Data() == KNullDesC8);
383 buf8 = TestUtils::CreateBuf8LC(100);
384 event1->SetDataL(buf8->Des());
385 TEST(event1->Data() == buf8->Des());
386 CleanupStack::PopAndDestroy();
389 buf8 = TestUtils::CreateBuf8LC(200);
390 event1->SetDataL(buf8->Des());
391 TEST(event1->Data() == buf8->Des());
392 CleanupStack::PopAndDestroy();
395 buf8 = TestUtils::CreateBuf8LC(400);
396 event1->SetDataL(buf8->Des());
397 TEST(event1->Data() == buf8->Des());
398 CleanupStack::PopAndDestroy();
401 event1->SetDataL(KNullDesC8);
402 TEST(event1->Data() == KNullDesC8);
405 TFileName storename = _L("c:\\T_LOGEVENT_DATA");
406 TUid uid={0x12345678};
409 theFs.Delete(storename);
410 CDictionaryFileStore* store = CDictionaryFileStore::OpenLC(theFs, storename, uid);
412 RDictionaryWriteStream write;
413 RDictionaryReadStream read;
415 event1->SetDataL(KNullDesC8);
418 write.AssignL(*store, uid);
419 write << event1->Data();
423 read.OpenL(*store, uid);
424 event1->SetDataL(read, 0);
427 TEST(event1->Data() == KNullDesC8);
429 buf8 = TestUtils::CreateBuf8LC(100);
430 event1->SetDataL(buf8->Des());
433 write.AssignL(*store, uid);
434 write.WriteL(event1->Data());
438 read.OpenL(*store, uid);
439 event1->SetDataL(read, 100);
442 TEST(event1->Data() == buf8->Des());
443 CleanupStack::PopAndDestroy(); // buf8
445 buf8 = TestUtils::CreateBuf8LC(200);
446 event1->SetDataL(buf8->Des());
449 write.AssignL(*store, uid);
450 write.WriteL(event1->Data());
454 read.OpenL(*store, uid);
455 event1->SetDataL(read, 200);
458 TEST(event1->Data() == buf8->Des());
459 CleanupStack::PopAndDestroy(); // buf8
461 buf8 = TestUtils::CreateBuf8LC(400);
462 event1->SetDataL(buf8->Des());
465 write.AssignL(*store, uid);
466 write.WriteL(event1->Data());
470 read.OpenL(*store, uid);
471 event1->SetDataL(read, 400);
474 TEST(event1->Data() == buf8->Des());
475 CleanupStack::PopAndDestroy(2); // buf8, store
478 event1->SetId(0x12345678);
479 event1->SetEventType(TUid::Uid(0x12345678));
481 buf = TestUtils::CreateBufLC(KLogMaxRemotePartyLength / 2);
482 event1->SetRemoteParty(buf->Des());
483 TEST(event1->RemoteParty() == buf->Des());
484 CleanupStack::PopAndDestroy(); // buf
486 buf = TestUtils::CreateBufLC(KLogMaxDirectionLength / 2);
487 event1->SetDirection(buf->Des());
488 TEST(event1->Direction() == buf->Des());
489 CleanupStack::PopAndDestroy(); // buf
491 event1->SetDurationType(0xf);
492 TEST(event1->DurationType() == 0xf);
494 event1->SetDuration(0x12345678);
495 TEST(event1->Duration() == 0x12345678);
497 buf = TestUtils::CreateBufLC(KLogMaxStatusLength / 2);
498 event1->SetStatus(buf->Des());
499 TEST(event1->Status() == buf->Des());
500 CleanupStack::PopAndDestroy(); // buf
502 buf = TestUtils::CreateBufLC(KLogMaxSubjectLength / 2);
503 event1->SetSubject(buf->Des());
504 TEST(event1->Subject() == buf->Des());
505 CleanupStack::PopAndDestroy(); // buf
507 buf = TestUtils::CreateBufLC(KLogMaxNumberLength / 2);
508 event1->SetNumber(buf->Des());
509 TEST(event1->Number() == buf->Des());
510 CleanupStack::PopAndDestroy(); // buf
512 event1->SetContact(0x12345678);
513 TEST(event1->Contact() == 0x12345678);
515 event1->SetLink(0x12345678);
516 TEST(event1->Link() == 0x12345678);
518 buf = TestUtils::CreateBufLC(KLogMaxDescriptionLength / 2);
519 event1->SetDescription(buf->Des());
520 TEST(event1->Description() == buf->Des());
521 CleanupStack::PopAndDestroy(); // buf
523 buf8 = TestUtils::CreateBuf8LC(200);
524 event1->SetDataL(buf8->Des());
525 TEST(event1->Data() == buf8->Des());
526 CleanupStack::PopAndDestroy();
528 CLogEvent* event2 = CLogEvent::NewL();
529 CleanupStack::PushL(event2);
530 TEST(!TestUtils::EventsEqual(*event1, *event2));
532 event2->CopyL(*event1);
533 TEST(TestUtils::EventsEqual(*event1, *event2));
535 CleanupStack::PopAndDestroy(); // event2;
537 event2 = CLogEvent::NewL();
538 CleanupStack::PushL(event2);
539 TEST(!TestUtils::EventsEqual(*event1, *event2));
541 event1->CopyL(*event2);
542 TEST(TestUtils::EventsEqual(*event1, *event2));
544 CleanupStack::PopAndDestroy(2); // event1, event2;
546 ::DeleteDataFile(storename);
550 @SYMTestCaseID SYSLIB-LOGENG-CT-1009
551 @SYMTestCaseDesc Tests for CLogEvent::NewL(),SetDataL() functions
552 @SYMTestPriority High
553 @SYMTestActions Tests for creation of log event on heap and
554 test for setting event specific data from the specified stream and try to read the data back.
555 Check for memory errors
556 @SYMTestExpectedResults Test must not fail
559 LOCAL_C void TestEventWithHeapFailL()
561 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-1009 "));
566 TBool finished = EFalse;
568 CLogEvent* event = NULL;
572 __UHEAP_FAILNEXT(failCount++);
574 TRAP(error, event = CLogEvent::NewL());
578 if (error == KErrNone)
581 CleanupStack::PushL(event);
584 TEST2(error, KErrNoMemory);
587 _LIT8(KDataTest1, "01234567890123456789");
588 _LIT8(KDataTest2, "012345678901234567890123456789");
594 event->SetDataL(KNullDesC8);
598 __UHEAP_FAILNEXT(failCount++);
600 TRAP(error, event->SetDataL(KDataTest1));
604 if (error == KErrNone)
607 TEST(event->Data() == KDataTest1);
611 TEST2(error, KErrNoMemory);
612 TEST(event->Data() == KNullDesC8);
620 event->SetDataL(KNullDesC8);
624 __UHEAP_FAILNEXT(failCount++);
626 TRAP(error, event->SetDataL(KDataTest2));
630 if (error == KErrNone)
633 TEST(event->Data() == KDataTest2);
637 TEST2(error, KErrNoMemory);
638 TEST(event->Data() == KNullDesC8);
646 event->SetDataL(KNullDesC8);
648 // Check we don't get any more failures
650 event->SetDataL(KDataTest2);
651 TEST(event->Data() == KDataTest2);
652 event->SetDataL(KDataTest1);
653 TEST(event->Data() == KDataTest1);
654 event->SetDataL(KNullDesC8);
655 TEST(event->Data() == KNullDesC8);
659 TFileName storename = _L("c:\\T_BASIC_DATA");
660 TUid uid={0x12345678};
663 theFs.Delete(storename);
664 CDictionaryFileStore* store = CDictionaryFileStore::OpenLC(theFs, storename, uid);
666 RDictionaryWriteStream write;
667 RDictionaryReadStream read;
670 write.AssignL(*store, uid);
675 read.OpenL(*store, uid);
683 event->SetDataL(read, 0);
687 TEST(event->Data() == KNullDesC8);
689 HBufC8* buf8 = TestUtils::CreateBuf8LC(100);
692 write.AssignL(*store, uid);
693 write.WriteL(buf8->Des());
697 read.OpenL(*store, uid);
701 __UHEAP_FAILNEXT(failCount++);
703 TRAP(error, event->SetDataL(read, 100));
707 if (error == KErrNone)
709 TEST(event->Data() == buf8->Des());
715 TEST2(error, KErrNoMemory);
716 TEST(event->Data() == KNullDesC8);
720 event->SetId(0x12345678);
721 event->SetEventType(TUid::Uid(0x12345678));
723 HBufC* buf = TestUtils::CreateBufLC(KLogMaxRemotePartyLength / 2);
724 event->SetRemoteParty(buf->Des());
725 CleanupStack::PopAndDestroy(); // buf
727 buf = TestUtils::CreateBufLC(KLogMaxDirectionLength / 2);
728 event->SetDirection(buf->Des());
729 CleanupStack::PopAndDestroy(); // buf
733 time.UniversalTime();
734 event->SetTime(time);
735 TEST(event->Time() == time);
737 event->SetDurationType(0xf);
738 event->SetDuration(0x12345678);
740 buf = TestUtils::CreateBufLC(KLogMaxStatusLength / 2);
741 event->SetStatus(buf->Des());
742 CleanupStack::PopAndDestroy(); // buf
744 buf = TestUtils::CreateBufLC(KLogMaxSubjectLength / 2);
745 event->SetSubject(buf->Des());
746 CleanupStack::PopAndDestroy(); // buf
748 buf = TestUtils::CreateBufLC(KLogMaxNumberLength / 2);
749 event->SetNumber(buf->Des());
750 CleanupStack::PopAndDestroy(); // buf
752 event->SetContact(0x12345678);
753 event->SetLink(0x12345678);
755 buf = TestUtils::CreateBufLC(KLogMaxDescriptionLength / 2);
756 event->SetDescription(buf->Des());
757 CleanupStack::PopAndDestroy(); // buf
759 event->SetFlags(0xA);
761 buf8 = TestUtils::CreateBuf8LC(100);
762 event->SetDataL(buf8->Des());
763 TEST(event->Data() == buf8->Des());
764 CleanupStack::PopAndDestroy(); // buf8
766 CLogEvent* event1 = CLogEvent::NewL();
767 CleanupStack::PushL(event1);
769 CLogEvent* event2 = CLogEvent::NewL();
770 CleanupStack::PushL(event2);
772 TEST(TestUtils::EventsEqual(*event1, *event2));
781 __UHEAP_FAILNEXT(failCount++);
783 TRAP(error, event1->CopyL(*event));
787 if (error == KErrNone)
789 TEST(!TestUtils::EventsEqual(*event1, *event2));
790 TEST(TestUtils::EventsEqual(*event1, *event));
795 TEST2(error, KErrNoMemory);
796 TEST(TestUtils::EventsEqual(*event1, *event2));
797 TEST(!TestUtils::EventsEqual(*event1, *event));
801 CleanupStack::PopAndDestroy(5); // buf8, store, event, event1, event2
802 ::DeleteDataFile(storename);
806 @SYMTestCaseID SYSLIB-LOGENG-CT-1010
807 @SYMTestCaseDesc Tests for CLogEvent::NewL(),CLogEvent::SetDataL() functions
808 @SYMTestPriority High
809 @SYMTestActions Tests for setting event specific data read from the file and try to read the data back from the event.
810 Check for memory errors
811 @SYMTestExpectedResults Test must not fail
814 LOCAL_C void TestEventWithFileFailL()
816 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-1010 "));
817 CLogEvent* event = CLogEvent::NewL();
818 CleanupStack::PushL(event);
821 TFileName storename = _L("c:\\T_BASIC_DATA");
822 TUid uid={0x12345678};
825 theFs.Delete(storename);
826 CDictionaryFileStore* store = CDictionaryFileStore::OpenLC(theFs, storename, uid);
828 RDictionaryWriteStream write;
829 RDictionaryReadStream read;
832 write.AssignL(*store, uid);
837 read.OpenL(*store, uid);
840 TBool finished = EFalse;
843 theFs.SetErrorCondition(KErrGeneral, 0);
844 event->SetDataL(read, 0);
845 theFs.SetErrorCondition(KErrNone, 10000);
848 TEST(event->Data() == KNullDesC8);
850 HBufC8* buf8 = TestUtils::CreateBuf8LC(100);
853 write.AssignL(*store, uid);
854 write.WriteL(buf8->Des());
860 read.OpenL(*store, uid);
861 theFs.SetErrorCondition(KErrGeneral, failCount++);
863 TRAP(error, event->SetDataL(read, 100));
865 theFs.SetErrorCondition(KErrGeneral, 10000);
869 if (error == KErrNone)
871 TEST(event->Data() == buf8->Des());
876 TEST2(error, KErrGeneral);
877 TEST(event->Data() == KNullDesC8);
881 CleanupStack::PopAndDestroy(3); // buf8, store, event
882 ::DeleteDataFile(storename);
887 TestUtils::Initialize(_L("t_logevent"));
889 TheTest.Start(_L("Event"));
894 theLog.Write(_L8("Test 1 OK\n"));
896 TheTest.Next(_L("Event with heap failure"));
897 TestEventWithHeapFailL();
898 theLog.Write(_L8("Test 2 OK\n"));
900 TheTest.Next(_L("Event with file failure"));
901 TestEventWithFileFailL();
902 theLog.Write(_L8("Test 3 OK\n"));