branch | RCL_3 |
changeset 9 | 667e88a979d7 |
parent 0 | 08ec8eefde2f |
8:fa9941cf3867 | 9:667e88a979d7 |
---|---|
1 |
1 |
2 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 // Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). |
3 // All rights reserved. |
3 // All rights reserved. |
4 // This component and the accompanying materials are made available |
4 // This component and the accompanying materials are made available |
5 // under the terms of "Eclipse Public License v1.0" |
5 // under the terms of "Eclipse Public License v1.0" |
6 // which accompanies this distribution, and is available |
6 // which accompanies this distribution, and is available |
7 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
15 // |
15 // |
16 |
16 |
17 |
17 |
18 #include <s32file.h> |
18 #include <s32file.h> |
19 #include <logcntdef.h> |
19 #include <logcntdef.h> |
20 #include "TEST.H" |
20 #include "t_logutil2.h" |
21 #include <logview.h> |
21 #include <logview.h> |
22 |
22 |
23 #undef test //there is a "test" macro which hides "RTest test" declaration. |
23 //LOWCAP defined in t_loglowcapability.mmp file. |
24 |
24 #ifdef LOWCAP |
25 RTest test(_L("Log Client Platform Security Test Harness")); |
25 TBool TheHiCapability = EFalse; |
26 |
26 RTest TheTest(_L("t_loglowcapability")); |
27 // If LOWCAP is defined in the .mmp file 'TheHiCapability' will be set to false. |
27 _LIT(KTestTitle, "t_loglowcapability"); |
28 TBool TheHiCapability = ETrue; |
28 #else |
29 TBool TheHiCapability = ETrue; |
|
30 RTest TheTest(_L("t_loghicapability")); |
|
31 _LIT(KTestTitle, "t_loghicapability"); |
|
32 #endif |
|
29 |
33 |
30 const TUid KTestEventUid = {0x10005393}; |
34 const TUid KTestEventUid = {0x10005393}; |
31 _LIT(KTestEventDesc1, "Event Type Description"); |
35 _LIT(KTestEventDesc1, "Event Type Description"); |
32 _LIT(KTestEventDesc2, "Changed Event Description"); |
36 _LIT(KTestEventDesc2, "Changed Event Description"); |
33 _LIT(KTestRemoteParty1, "Remote Party"); |
37 _LIT(KTestRemoteParty1, "Remote Party"); |
58 is not policed by platform security. |
62 is not policed by platform security. |
59 @SYMREQ REQ3431 |
63 @SYMREQ REQ3431 |
60 */ |
64 */ |
61 LOCAL_C void TestStartupL() |
65 LOCAL_C void TestStartupL() |
62 { |
66 { |
63 test.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0118 ")); |
67 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0118 ")); |
64 CLogClient* client = CLogClient::NewL(theFs); |
68 CLogClient* client = CLogClient::NewL(theFs); |
65 CleanupStack::PushL(client); |
69 CleanupStack::PushL(client); |
66 |
70 |
67 CTestActive* active = new(ELeave)CTestActive(); |
71 CTestActive* active = new(ELeave)CTestActive(); |
68 CleanupStack::PushL(active); |
72 CleanupStack::PushL(active); |
103 |
107 |
104 @SYMREQ REQ3431 |
108 @SYMREQ REQ3431 |
105 */ |
109 */ |
106 LOCAL_C void TestBasicL(CLogClient& aClient) |
110 LOCAL_C void TestBasicL(CLogClient& aClient) |
107 { |
111 { |
108 test.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0119 ")); |
112 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0119 ")); |
109 CTestActive* active = new(ELeave)CTestActive(); |
113 CTestActive* active = new(ELeave)CTestActive(); |
110 CleanupStack::PushL(active); |
114 CleanupStack::PushL(active); |
111 |
115 |
112 CLogEvent* event = CLogEvent::NewL(); |
116 CLogEvent* event = CLogEvent::NewL(); |
113 CleanupStack::PushL(event); |
117 CleanupStack::PushL(event); |
148 event->SetDataL(KTestData1); |
152 event->SetDataL(KTestData1); |
149 |
153 |
150 active->StartL(); |
154 active->StartL(); |
151 aClient.ChangeEvent(*event, active->iStatus); |
155 aClient.ChangeEvent(*event, active->iStatus); |
152 CActiveScheduler::Start(); |
156 CActiveScheduler::Start(); |
153 test.Printf(_L("TestBasicL(), TheHiCapability=%d, event id=%d\r\n"), TheHiCapability, id); |
157 TheTest.Printf(_L("TestBasicL(), TheHiCapability=%d, event id=%d\r\n"), TheHiCapability, id); |
154 TEST2(active->iStatus.Int(), TheHiCapability ? KErrNone : KErrPermissionDenied); |
158 TEST2(active->iStatus.Int(), TheHiCapability ? KErrNone : KErrPermissionDenied); |
155 |
159 |
156 TEST(event->Id() == id ); |
160 TEST(event->Id() == id ); |
157 TEST(event->EventType() == KLogCallEventTypeUid); |
161 TEST(event->EventType() == KLogCallEventTypeUid); |
158 |
162 |
246 |
250 |
247 @SYMREQ REQ3431 |
251 @SYMREQ REQ3431 |
248 */ |
252 */ |
249 LOCAL_C void TestAddEventTypeL(CLogClient& aClient) |
253 LOCAL_C void TestAddEventTypeL(CLogClient& aClient) |
250 { |
254 { |
251 test.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0120 ")); |
255 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0120 ")); |
252 CLogEventType* type = CLogEventType::NewL(); |
256 CLogEventType* type = CLogEventType::NewL(); |
253 CleanupStack::PushL(type); |
257 CleanupStack::PushL(type); |
254 |
258 |
255 type->SetUid(KTestEventUid); |
259 type->SetUid(KTestEventUid); |
256 type->SetDescription(KTestEventDesc1); |
260 type->SetDescription(KTestEventDesc1); |
293 // |
297 // |
294 // This test should succeed, regardless of capability |
298 // This test should succeed, regardless of capability |
295 // GetEventType is not policed. |
299 // GetEventType is not policed. |
296 // |
300 // |
297 { |
301 { |
298 test.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0121 ")); |
302 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0121 ")); |
299 CLogEventType* type = CLogEventType::NewL(); |
303 CLogEventType* type = CLogEventType::NewL(); |
300 CleanupStack::PushL(type); |
304 CleanupStack::PushL(type); |
301 |
305 |
302 type->SetUid(KTestEventUid); |
306 type->SetUid(KTestEventUid); |
303 |
307 |
327 @SYMTestExpectedResults Should always succeed |
331 @SYMTestExpectedResults Should always succeed |
328 @SYMREQ REQ3431 |
332 @SYMREQ REQ3431 |
329 */ |
333 */ |
330 LOCAL_C void TestChangeEventTypeL(CLogClient& aClient) |
334 LOCAL_C void TestChangeEventTypeL(CLogClient& aClient) |
331 { |
335 { |
332 test.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0122 ")); |
336 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0122 ")); |
333 CTestActive* active = new(ELeave)CTestActive(); |
337 CTestActive* active = new(ELeave)CTestActive(); |
334 CleanupStack::PushL(active); |
338 CleanupStack::PushL(active); |
335 |
339 |
336 CLogEventType* type = CLogEventType::NewL(); |
340 CLogEventType* type = CLogEventType::NewL(); |
337 CleanupStack::PushL(type); |
341 CleanupStack::PushL(type); |
422 @SYMTestExpectedResults Should always succeed |
426 @SYMTestExpectedResults Should always succeed |
423 @SYMREQ REQ3431 |
427 @SYMREQ REQ3431 |
424 */ |
428 */ |
425 LOCAL_C void TestDeleteEventTypeL(CLogClient& aClient) |
429 LOCAL_C void TestDeleteEventTypeL(CLogClient& aClient) |
426 { |
430 { |
427 test.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0123 ")); |
431 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0123 ")); |
428 CTestActive* active = new(ELeave)CTestActive(); |
432 CTestActive* active = new(ELeave)CTestActive(); |
429 CleanupStack::PushL(active); |
433 CleanupStack::PushL(active); |
430 |
434 |
431 CLogEventType* type = CLogEventType::NewL(); |
435 CLogEventType* type = CLogEventType::NewL(); |
432 CleanupStack::PushL(type); |
436 CleanupStack::PushL(type); |
492 @SYMTestExpectedResults Should always succeed |
496 @SYMTestExpectedResults Should always succeed |
493 @SYMREQ REQ3431 |
497 @SYMREQ REQ3431 |
494 */ |
498 */ |
495 LOCAL_C void TestDeleteBuiltInEventTypeL(CLogClient& aClient) |
499 LOCAL_C void TestDeleteBuiltInEventTypeL(CLogClient& aClient) |
496 { |
500 { |
497 test.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0124 ")); |
501 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0124 ")); |
498 CTestActive* active = new(ELeave)CTestActive(); |
502 CTestActive* active = new(ELeave)CTestActive(); |
499 CleanupStack::PushL(active); |
503 CleanupStack::PushL(active); |
500 |
504 |
501 CLogEventType* type = CLogEventType::NewL(); |
505 CLogEventType* type = CLogEventType::NewL(); |
502 CleanupStack::PushL(type); |
506 CleanupStack::PushL(type); |
538 @SYMTestExpectedResults Should always succeed |
542 @SYMTestExpectedResults Should always succeed |
539 @SYMREQ REQ3431 |
543 @SYMREQ REQ3431 |
540 */ |
544 */ |
541 LOCAL_C void TestGetConfigL(CLogClient& aClient) |
545 LOCAL_C void TestGetConfigL(CLogClient& aClient) |
542 { |
546 { |
543 test.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0125 ")); |
547 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0125 ")); |
544 CTestActive* active = new(ELeave)CTestActive(); |
548 CTestActive* active = new(ELeave)CTestActive(); |
545 CleanupStack::PushL(active); |
549 CleanupStack::PushL(active); |
546 |
550 |
547 TLogConfig config; |
551 TLogConfig config; |
548 |
552 |
590 @SYMTestExpectedResults Should always succeed |
594 @SYMTestExpectedResults Should always succeed |
591 @SYMREQ REQ3431 |
595 @SYMREQ REQ3431 |
592 */ |
596 */ |
593 LOCAL_C void TestChangeConfigL(CLogClient& aClient) |
597 LOCAL_C void TestChangeConfigL(CLogClient& aClient) |
594 { |
598 { |
595 test.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0126 ")); |
599 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0126 ")); |
596 CTestActive* active = new(ELeave)CTestActive(); |
600 CTestActive* active = new(ELeave)CTestActive(); |
597 CleanupStack::PushL(active); |
601 CleanupStack::PushL(active); |
598 |
602 |
599 TLogConfig configOld; |
603 TLogConfig configOld; |
600 |
604 |
681 @SYMTestExpectedResults Should always pass |
685 @SYMTestExpectedResults Should always pass |
682 @SYMREQ REQ3431 |
686 @SYMREQ REQ3431 |
683 */ |
687 */ |
684 void ClearLogL(CLogClient& aClient) |
688 void ClearLogL(CLogClient& aClient) |
685 { |
689 { |
686 test.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0127 ")); |
690 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0127 ")); |
687 CTestActive* active = new(ELeave)CTestActive(); |
691 CTestActive* active = new(ELeave)CTestActive(); |
688 CleanupStack::PushL(active); |
692 CleanupStack::PushL(active); |
689 |
693 |
690 TTime now; |
694 TTime now; |
691 now.UniversalTime(); |
695 now.UniversalTime(); |
707 @SYMTestExpectedResults Should always succeed |
711 @SYMTestExpectedResults Should always succeed |
708 @SYMREQ REQ3431 |
712 @SYMREQ REQ3431 |
709 */ |
713 */ |
710 void ClearRecentListL(CLogClient& aClient) |
714 void ClearRecentListL(CLogClient& aClient) |
711 { |
715 { |
712 test.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0128 ")); |
716 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0128 ")); |
713 CTestActive* active = new(ELeave)CTestActive(); |
717 CTestActive* active = new(ELeave)CTestActive(); |
714 CleanupStack::PushL(active); |
718 CleanupStack::PushL(active); |
715 |
719 |
716 TTime now; |
720 TTime now; |
717 now.UniversalTime(); |
721 now.UniversalTime(); |
805 { |
809 { |
806 // TestUtils::AddTestEventsL() --> should be called before this function. |
810 // TestUtils::AddTestEventsL() --> should be called before this function. |
807 // It deletes the database, then... |
811 // It deletes the database, then... |
808 // adds 8 events - 2 are visible to clients with no capabilities |
812 // adds 8 events - 2 are visible to clients with no capabilities |
809 // and 6 are of type KLogCallEventTypeUid, which is protected. |
813 // and 6 are of type KLogCallEventTypeUid, which is protected. |
810 test.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0129 ")); |
814 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0129 ")); |
811 CTestActive* active = new(ELeave)CTestActive; |
815 CTestActive* active = new(ELeave)CTestActive; |
812 CleanupStack::PushL(active); |
816 CleanupStack::PushL(active); |
813 |
817 |
814 CLogFilterList* list = new(ELeave)CLogFilterList; |
818 CLogFilterList* list = new(ELeave)CLogFilterList; |
815 CleanupStack::PushL(list); |
819 CleanupStack::PushL(list); |
883 @SYMTestExpectedResults Should always succeed |
887 @SYMTestExpectedResults Should always succeed |
884 @SYMREQ REQ3431 |
888 @SYMREQ REQ3431 |
885 */ |
889 */ |
886 LOCAL_C void TestRecentViewL(CLogClient& aClient) |
890 LOCAL_C void TestRecentViewL(CLogClient& aClient) |
887 { |
891 { |
888 test.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0130 ")); |
892 TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-LOGENG-CT-0130 ")); |
889 CTestActive* active = new(ELeave)CTestActive(); |
893 CTestActive* active = new(ELeave)CTestActive(); |
890 CleanupStack::PushL(active); |
894 CleanupStack::PushL(active); |
891 |
895 |
892 CLogViewRecent* view = CLogViewRecent::NewL(aClient); |
896 CLogViewRecent* view = CLogViewRecent::NewL(aClient); |
893 CleanupStack::PushL(view); |
897 CleanupStack::PushL(view); |
915 |
919 |
916 //............................................................................. |
920 //............................................................................. |
917 |
921 |
918 void doTestsL() |
922 void doTestsL() |
919 { |
923 { |
920 TestUtils::Initialize(_L("T_LOGENGSECURITY")); |
924 TestUtils::Initialize(KTestTitle); |
921 |
|
922 #ifdef LOWCAP // defined in mmp file |
|
923 TheHiCapability = EFalse; |
|
924 #else |
|
925 TheHiCapability = ETrue; |
|
926 #endif |
|
927 |
925 |
928 test.Start(_L("Starting tests...")); |
926 TheTest.Start(_L("Starting tests...")); |
929 |
927 |
930 CLogClient* client = CLogClient::NewL(theFs); |
928 CLogClient* client = CLogClient::NewL(theFs); |
931 CleanupStack::PushL(client); |
929 CleanupStack::PushL(client); |
932 |
930 |
933 TestUtils::DeleteDatabaseL(); |
931 TestUtils::DeleteDatabaseL(); |
934 |
932 |
935 test.Start(_L("Server startup")); |
933 TheTest.Next(_L("Server startup")); |
936 TestStartupL(); |
934 TestStartupL(); |
937 User::After(100000); |
935 User::After(100000); |
938 |
936 |
939 test.Next(_L("Test Add, Get, Change & Delete event")); |
937 TheTest.Next(_L("Test Add, Get, Change & Delete event")); |
940 TestUtils::DeleteDatabaseL(); |
938 TestUtils::DeleteDatabaseL(); |
941 TestBasicL(*client); |
939 TestBasicL(*client); |
942 theLog.Write(_L8("Basic tests OK\n")); |
940 theLog.Write(_L8("Basic tests OK\n")); |
943 |
941 |
944 test.Next(_L("Add Event Type")); |
942 TheTest.Next(_L("Add Event Type")); |
945 TestAddEventTypeL(*client); |
943 TestAddEventTypeL(*client); |
946 theLog.Write(_L8("Add Event Type test OK\n")); |
944 theLog.Write(_L8("Add Event Type test OK\n")); |
947 |
945 |
948 if(!TheHiCapability) |
946 if(!TheHiCapability) |
949 { |
947 { |
950 // TestAddEventTypeL() will have failed to add an event type, so |
948 // TestAddEventTypeL() will have failed to add an event type, so |
951 // this will ensure one is present for the next tests. |
949 // this will ensure one is present for the next tests. |
952 TestUtils::AddEventTypeL(); |
950 TestUtils::AddEventTypeL(); |
953 } |
951 } |
954 |
952 |
955 test.Next(_L("Get Event Type")); |
953 TheTest.Next(_L("Get Event Type")); |
956 TestGetEventTypeL(*client); |
954 TestGetEventTypeL(*client); |
957 theLog.Write(_L8("Get Event Type test OK\n")); |
955 theLog.Write(_L8("Get Event Type test OK\n")); |
958 |
956 |
959 test.Next(_L("Change Event Type")); |
957 TheTest.Next(_L("Change Event Type")); |
960 TestChangeEventTypeL(*client); |
958 TestChangeEventTypeL(*client); |
961 theLog.Write(_L8("Change Event Type test OK\n")); |
959 theLog.Write(_L8("Change Event Type test OK\n")); |
962 |
960 |
963 test.Next(_L("Delete Event Type")); |
961 TheTest.Next(_L("Delete Event Type")); |
964 TestDeleteEventTypeL(*client); |
962 TestDeleteEventTypeL(*client); |
965 theLog.Write(_L8("Delete Event Type test OK\n")); |
963 theLog.Write(_L8("Delete Event Type test OK\n")); |
966 |
964 |
967 test.Next(_L("Delete Built-in Event Type")); |
965 TheTest.Next(_L("Delete Built-in Event Type")); |
968 TestDeleteBuiltInEventTypeL(*client); |
966 TestDeleteBuiltInEventTypeL(*client); |
969 theLog.Write(_L8("Delete Built-in Event Type test OK\n")); |
967 theLog.Write(_L8("Delete Built-in Event Type test OK\n")); |
970 |
968 |
971 test.Next(_L("Get Server Configuration")); |
969 TheTest.Next(_L("Get Server Configuration")); |
972 TestGetConfigL(*client); |
970 TestGetConfigL(*client); |
973 theLog.Write(_L8("Get Server Configuration test OK\n")); |
971 theLog.Write(_L8("Get Server Configuration test OK\n")); |
974 |
972 |
975 test.Next(_L("Change Server Configuration")); |
973 TheTest.Next(_L("Change Server Configuration")); |
976 TestChangeConfigL(*client); |
974 TestChangeConfigL(*client); |
977 theLog.Write(_L8("Change Server Configuration test OK\n")); |
975 theLog.Write(_L8("Change Server Configuration test OK\n")); |
978 |
976 |
979 test.Next(_L("Clear the Log test")); |
977 TheTest.Next(_L("Clear the Log test")); |
980 ClearLogL(*client); |
978 ClearLogL(*client); |
981 theLog.Write(_L8("Clear the Log test OK\n")); |
979 theLog.Write(_L8("Clear the Log test OK\n")); |
982 |
980 |
983 test.Next(_L("Clear Recent List test")); |
981 TheTest.Next(_L("Clear Recent List test")); |
984 ClearRecentListL(*client); |
982 ClearRecentListL(*client); |
985 theLog.Write(_L8("Clear Recent List test OK\n")); |
983 theLog.Write(_L8("Clear Recent List test OK\n")); |
986 |
984 |
987 #ifdef SYMBIAN_ENABLE_EVENTLOGGER_DUALSIM |
985 #ifdef SYMBIAN_ENABLE_EVENTLOGGER_DUALSIM |
988 const TSimId KSimId = 4000000000U; |
986 const TSimId KSimId = 4000000000U; |
989 |
987 |
990 test.Next(_L(" @SYMTestCaseID:PDS-LOGENG-UT-4040 Clear the \"Log + SimId\" test")); |
988 TheTest.Next(_L(" @SYMTestCaseID:PDS-LOGENG-UT-4040 Clear the \"Log + SimId\" test")); |
991 ClearLogL(*client, KSimId); |
989 ClearLogL(*client, KSimId); |
992 theLog.Write(_L8("Clear the \"Log + SimId\" test OK\n")); |
990 theLog.Write(_L8("Clear the \"Log + SimId\" test OK\n")); |
993 |
991 |
994 test.Next(_L(" @SYMTestCaseID:PDS-LOGENG-UT-4041 Clear \"Recent List + SimId\" test")); |
992 TheTest.Next(_L(" @SYMTestCaseID:PDS-LOGENG-UT-4041 Clear \"Recent List + SimId\" test")); |
995 ClearRecentListL(*client, KSimId); |
993 ClearRecentListL(*client, KSimId); |
996 theLog.Write(_L8("Clear \"Recent List + SimId\" test OK\n")); |
994 theLog.Write(_L8("Clear \"Recent List + SimId\" test OK\n")); |
997 #endif |
995 #endif |
998 |
996 |
999 // |
997 // |
1004 // TestUtils::AddTestEventsL() --> adds 8 events. |
1002 // TestUtils::AddTestEventsL() --> adds 8 events. |
1005 // 2 are visible to clients with no capabilities |
1003 // 2 are visible to clients with no capabilities |
1006 // and 6 are of type KLogCallEventTypeUid, which is protected. |
1004 // and 6 are of type KLogCallEventTypeUid, which is protected. |
1007 TestUtils::AddViewTestEventsL(); |
1005 TestUtils::AddViewTestEventsL(); |
1008 |
1006 |
1009 test.Next(_L("Event View with Filter list")); |
1007 TheTest.Next(_L("Event View with Filter list")); |
1010 TestEventViewWithFilterL(*client); |
1008 TestEventViewWithFilterL(*client); |
1011 theLog.Write(_L8("Event View with Filter list test OK\n")); |
1009 theLog.Write(_L8("Event View with Filter list test OK\n")); |
1012 |
1010 |
1013 test.Next(_L("Recent View")); |
1011 TheTest.Next(_L("Recent View")); |
1014 TestRecentViewL(*client); |
1012 TestRecentViewL(*client); |
1015 theLog.Write(_L8("Recent View test OK\n")); |
1013 theLog.Write(_L8("Recent View test OK\n")); |
1016 |
1014 |
1017 TestUtils::DeleteDatabaseL(); // ready for next test |
1015 TestUtils::DeleteDatabaseL(); // ready for next test |
1018 |
1016 |
1019 test.End(); |
|
1020 CleanupStack::PopAndDestroy(); // client |
1017 CleanupStack::PopAndDestroy(); // client |
1021 } |
1018 } |