loggingservices/eventlogger/test/src/t_logbadclient.cpp
changeset 51 7d4490026038
parent 40 b8bdbc8f59c7
child 55 44f437012c90
--- a/loggingservices/eventlogger/test/src/t_logbadclient.cpp	Thu Aug 12 11:53:23 2010 +0100
+++ b/loggingservices/eventlogger/test/src/t_logbadclient.cpp	Mon Sep 27 11:59:56 2010 +0100
@@ -176,6 +176,7 @@
 				}
 			}
 		//Send arguments
+		//RDebug::Print(_L("##data.iFunction=%d\r\n"), data.iFunction);
 		TRequestStatus stat;
 		sess.Send(data.iFunction, args, stat);
 		if(stat.Int() == KErrServerTerminated)
@@ -186,6 +187,7 @@
 			{
 			if(data.iFunction == ELogOperationInitiate)
 				{
+				//RDebug::Print(_L("##ELogOperationGetResult\r\n"));
 				err = sess.Send(ELogOperationGetResult, args);
 				if(err == KErrServerTerminated)
 					{
@@ -197,10 +199,12 @@
 				//Give some time to the LogEng server to do something with that async request, then cancel it.
 				//Otherwise, on a multi-core hardware, the LogEnd server will end up with a long queue of
 				//pending requests, not cleared if the client side thread is panic'd. It will be a complete chaos.
-				User::After(20000);
+				//RDebug::Print(_L("##data.iFunction=%d, wait and cancel async request\r\n"), data.iFunction);
+				User::After(100000);
 				TRequestStatus* s = &stat;
 				User::RequestComplete(s, KErrCancel);
 				}
+			//RDebug::Print(_L("##---err=%d\r\n"), err);
 			}
 		}
 
@@ -330,8 +334,7 @@
 		// If the Server has crashed then we must fail		
 		if (serverStatus != KRequestPending) 
 			{
-			TheTest.Printf(_L("##Iteration=%d, Function=%d, Status1=%d, Status2=%d\r\n"), data.iIteration, data.iFunction, status.Int(), serverStatus.Int());
-			break;
+			TheTest.Printf(_L("##Iteration=%d, Function=%d, Status=%d, Server Status=%d\r\n"), data.iIteration, data.iFunction, status.Int(), serverStatus.Int());
 			}
 
 		TExitType exitType = thread.ExitType();
@@ -339,12 +342,16 @@
 		thread.Close();
 		User::SetJustInTime(ETrue);
 		
-		if(exitType == EExitPanic)
+		if(exitType == EExitPanic || serverStatus != KRequestPending)
 			{
-			if(exitReason == KPanicCode)
+			if(exitReason == KPanicCode || serverStatus != KRequestPending)
 				{
 				TheTest.Printf(_L("##Server terminated!\r\n"));
-				TheTest.Printf(_L("##Iteration=%d, Function=%d\r\n"), data.iIteration, data.iFunction);
+				TheTest.Printf(_L("##Iteration=%d, Function=%d, iOperationType=%d, iDataSlot1=%d, iDataSlot2=%d\r\n"), 
+						data.iIteration, data.iFunction,
+						TheLogIpcData.iOperationType,
+						TheLogIpcData.iDataSlot1,
+						TheLogIpcData.iDataSlot2);
 				for(TInt i=0;i<KMaxMessageArguments;++i)
 					{
 					TheTest.Printf(_L("##Arg %d, Type %d\r\n"), i + 1, data.iArgType[i]);
@@ -370,7 +377,6 @@
 		}//for
 	delete p;
 
-
 	// Check to see if the server crashed and not detected by client
 	TEST(serverStatus.Int() == KRequestPending);
 	serverWatcher.Kill(KErrCancel);