--- a/telephonyserver/etelserverandcore/TETEL/TE_ETEL/te_etelsetpriorityclient.cpp Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserver/etelserverandcore/TETEL/TE_ETEL/te_etelsetpriorityclient.cpp Thu May 06 15:10:38 2010 +0100
@@ -1,436 +1,436 @@
-// Copyright (c) 2007-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 "TE_EtelBase.h"
-#include "te_etelsetpriorityclient.h"
-
-CTestSetPrClientCapNsidPosCheck::CTestSetPrClientCapNsidPosCheck()
-/** Each test step initialises it's own name
-*/
- {
- SetTestStepName(_L("TestSetPrClientCapNsidPosCheck"));
- }
-
-enum TVerdict CTestSetPrClientCapNsidPosCheck::doTestStepL()
-//
-// Test connecting Positive check of Capability and SID check for SetPriorityClient API
-//
- {
- INFO_PRINTF1(_L("Test connecting Capability and SID check for SetPriorityClient API"));
- RTelServer first;
- TInt ret=first.Connect();
- INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
- TESTCHECK(ret, KErrNone);
- INFO_PRINTF1(_L("Capability and SID check of setpriorityclient API"));
- ret=first.SetPriorityClient();
- TESTCHECK(ret,KErrNone);
- INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClient %d."),ret);
- return TestStepResult();
- }
-
-CTestSetPrClientCapNsidNegCheck::CTestSetPrClientCapNsidNegCheck()
-/** Each test step initialises it's own name
-*/
- {
- SetTestStepName(_L("TestSetPrClientCapNsidNegCheck"));
- }
-
-enum TVerdict CTestSetPrClientCapNsidNegCheck::doTestStepL()
-//
-// Test connecting Negative check of Capability and SID check for SetPriorityClient API
-//
- {
- INFO_PRINTF1(_L("Test connecting Capability and SID check for SetPriorityClient API"));
- RTelServer first;
- TInt ret=first.Connect();
- INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
- TESTCHECK(ret, KErrNone);
- INFO_PRINTF1(_L("Capability and SID check of setpriorityclient API"));
- ret=first.SetPriorityClient();
- TESTCHECK(ret,KErrPermissionDenied);
- INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClient %d."),ret);
- return TestStepResult();
- }
-
-CTestSetPrClientMulCallFrSameSes::CTestSetPrClientMulCallFrSameSes()
-/** Each test step initialises it's own name
-*/
- {
- SetTestStepName(_L("TestSetPrClientMulCallFrSameSes"));
- }
-
-enum TVerdict CTestSetPrClientMulCallFrSameSes::doTestStepL()
-//
-// Test connecting Multiple call of setpriorityclient API from the same session
-//
- {
- INFO_PRINTF1(_L("Test connecting ultiple call of setpriorityclient API from the same session"));
- RTelServer first;
- TInt ret=first.Connect();
- INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
- TESTCHECK(ret, KErrNone);
- INFO_PRINTF1(_L("Multiple call of setpriorityclient API on the same session"));
- ret=first.SetPriorityClient();
- TESTCHECK(ret, KErrNone);
- INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClient in same session %d."),ret);
- ret=first.SetPriorityClient();
- TESTCHECK(ret, KErrAlreadyExists);
- INFO_PRINTF2(_L("Second call of RTelServer::SetPriorityClient in same session %d."),ret);
- first.Close();
-
- return TestStepResult();
- }
-//
-CTestSetPrClientMulCallFrDiffSubSes::CTestSetPrClientMulCallFrDiffSubSes()
-/** Each test step initialises it's own name
-*/
- {
- SetTestStepName(_L("TestSetPrClientMulCallFrDiffSubSes"));
- }
-
-enum TVerdict CTestSetPrClientMulCallFrDiffSubSes::doTestStepL()
-//
-// Test connecting Multiple call of setpriorityclient API from the different sub session
-//
- {
- INFO_PRINTF1(_L("Test connecting Multiple call of setpriorityclient API on the different sub session"));
- RTelServer first;
- TInt ret=first.Connect();
- INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
- TESTCHECK(ret, KErrNone);
- RTelServer second;
- ret=second.Connect();
- INFO_PRINTF2(_L("RTelServer::Connect (second) returned %d."),ret);
- INFO_PRINTF1(_L("Multiple call of setpriorityclient API on the different session"));
- ret=first.SetPriorityClient();
- TESTCHECK(ret, KErrNone);
- INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClient in different session %d."),ret);
- ret=second.SetPriorityClient();
- TESTCHECK(ret, KErrAlreadyExists);
- INFO_PRINTF2(_L("second call of RTelServer::SetPriorityClient in different session %d."),ret);
- second.Close();
- first.Close();
-
- return TestStepResult();
- }
-//
-CTestSetPrClientMulCallFrDiffClt::CTestSetPrClientMulCallFrDiffClt()
-/** Each test step initialises it's own name
-*/
- {
- SetTestStepName(_L("TestSetPrClientMulCallFrDiffClt"));
- }
-
-TInt CTestSetPrClientMulCallFrDiffClt ::FirstThreadFunctiona(TAny* aThreadData1)
- {
- RTelServer server;
- CTestStep* testStep = static_cast<CTestStep*>(aThreadData1);
- CTrapCleanup* cleanup;
- if ((cleanup=CTrapCleanup::New())==NULL)
- {
- return KErrGeneral;
- }
- TInt ret = server.Connect();
- testStep->TEST1(ret==KErrNone,ETrue);
- testStep->INFO_PRINTF2(_L("Thread1 RTelServer::Connect returned %d."),ret);
- ret=server.SetPriorityClient();
- testStep->TEST1((ret == KErrNone) || (ret == KErrAlreadyExists), ETrue);
- testStep->INFO_PRINTF2(_L("Thread1 RTelServer::SetPriorityClient returned %d."),ret);
- User::After(KETelThreadShutdownGuardPeriod);
- server.Close();
- delete cleanup;
- return ret;
- }
-
-TInt CTestSetPrClientMulCallFrDiffClt ::SecondThreadFunctiona(TAny* aThreadData2)
- {
- RTelServer server;
- CTestStep* testStep = static_cast<CTestStep*>(aThreadData2);
- CTrapCleanup* cleanup;
- if ((cleanup=CTrapCleanup::New())==NULL)
- {
- return KErrGeneral;
- }
- TInt ret = server.Connect();
- testStep->TEST1(ret==KErrNone,ETrue);
- testStep->INFO_PRINTF2(_L("Thread2 RTelServer::Connect returned %d."),ret);
- ret=server.SetPriorityClient();
- testStep->TEST1((ret == KErrNone) || (ret == KErrAlreadyExists),ETrue);
- testStep->INFO_PRINTF2(_L("Thread2 RTelServer::SetPriorityClient returned %d."),ret);
- server.Close();
- delete cleanup;
- return ret;
- }
-
-enum TVerdict CTestSetPrClientMulCallFrDiffClt::doTestStepL()
-//
-// Test connecting Multiple call of setpriorityclient API from the different threads
-//
- {
- RThread thread1;
- RThread thread2;
- TRequestStatus reqStatus1;
- TRequestStatus reqStatus2;
- Logger().ShareAuto();
- INFO_PRINTF1(_L("Test connecting Multiple call of setpriorityclient API from the different threads"));
- const TInt KStackSize=0x8000;
- const TInt KHeapSize=0x8000;
- const TInt KMaxHeapSize=0x80000;
- _LIT(KFirstThreadName,"FirstThread");
- _LIT(KSecondThreadName,"SecondThread");
- TInt res1=thread1.Create(KFirstThreadName, FirstThreadFunctiona,KStackSize,KHeapSize,KMaxHeapSize,(void*)this, EOwnerThread);
- TESTCHECK(res1, KErrNone);
- if(res1!=KErrNone)
- {
- ERR_PRINTF1(_L("CTestSetPrClientMulCallFrDiffClt:thread1.Create Failed to create a thread1"));
- SetTestStepResult(EFail);
- }
- thread1.Logon(reqStatus1); //Request 1
- TInt resu1=(reqStatus1.Int(), KRequestPending);
- TInt res2=thread2.Create(KSecondThreadName,SecondThreadFunctiona,KStackSize,KHeapSize,KMaxHeapSize,(void*)this, EOwnerThread);
- TESTCHECK(res2, KErrNone);
- if(res2!=KErrNone)
- {
- ERR_PRINTF1(_L("CTestSetPrClientMulCallFrDiffClt:thread2.Create Failed to create a thread2"));
- SetTestStepResult(EFail);
- }
- thread2.Logon(reqStatus2); //Request 2
- TInt resu2=(reqStatus2.Int(), KRequestPending);
- thread1.Resume();
- thread2.Resume();
- User::WaitForRequest(reqStatus1);
- User::WaitForRequest(reqStatus2);
- TEST( ((reqStatus1==KErrNone) && (reqStatus2==KErrAlreadyExists)) ||
- ((reqStatus2==KErrNone) && (reqStatus1==KErrAlreadyExists)));
- if (thread1.ExitType() != EExitKill && thread1.ExitReason() != 0)
- {
- User::Leave(thread1.ExitReason());
- }//end of if (iThread1.ExitType() != EExitKill && iThread1.ExitReason() != 0)
- thread1.Close();
- INFO_PRINTF2(_L("First thread opened ETel session and returned %d"), res1);
- if (thread2.ExitType() != EExitKill && thread2.ExitReason() != 0)
- {
- User::Leave(thread2.ExitReason());
- }//end of if (iThread2.ExitType() != EExitKill && iThread2.ExitReason() != 0)
- thread2.Close();
- INFO_PRINTF2(_L("Second thread opened ETel session and returned %d"), res2);
-
- return TestStepResult();
- }
-
-CTestSetPrClientV2CapNsidPosCheck::CTestSetPrClientV2CapNsidPosCheck()
- {
- SetTestStepName(_L("TestSetPrClientV2CapNsidPosCheck"));
- }
-
-enum TVerdict CTestSetPrClientV2CapNsidPosCheck::doTestStepL()
-//
-// Test connecting Positive check of Capability and SID check for SetPriorityClientV2 API
-//
- {
- INFO_PRINTF1(_L("Test connecting Capability and SID check for SetPriorityClientV2 API"));
- RTelServer first;
- TInt ret=first.Connect();
- INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
- TESTCHECK(ret, KErrNone);
- INFO_PRINTF1(_L("Capability and SID check of setpriorityclientV2 API"));
- ret=first.SetPriorityClientV2();
- TESTCHECK(ret,KErrNone);
- INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClientV2 %d."),ret);
- return TestStepResult();
- }
-
-CTestSetPrClientV2CapNsidNegCheck::CTestSetPrClientV2CapNsidNegCheck()
- {
- SetTestStepName(_L("TestSetPrClientV2CapNsidNegCheck"));
- }
-
-enum TVerdict CTestSetPrClientV2CapNsidNegCheck::doTestStepL()
-//
-// Test connecting Negative check of Capability and SID check for SetPriorityClientV2 API
-//
- {
- INFO_PRINTF1(_L("Test connecting Capability and SID check for SetPriorityClientV2 API"));
- RTelServer first;
- TInt ret=first.Connect();
- INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
- TESTCHECK(ret, KErrNone);
- INFO_PRINTF1(_L("Capability and SID check of setpriorityclientV2 API"));
- ret=first.SetPriorityClientV2();
- TESTCHECK(ret,KErrPermissionDenied);
- INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClientV2 %d."),ret);
- return TestStepResult();
- }
-
-
-CTestSetPrClientV2MulCallFrSameSes::CTestSetPrClientV2MulCallFrSameSes()
- {
- SetTestStepName(_L("TestSetPrClientV2MulCallFrDiffSubSes"));
- }
-
-enum TVerdict CTestSetPrClientV2MulCallFrSameSes::doTestStepL()
-//
-// Test connecting Multiple call of setpriorityclientV2 API from the same session
-//
- {
- INFO_PRINTF1(_L("Test connecting Multiple call of setpriorityclientV2 API from the same session"));
- RTelServer first;
- TInt ret=first.Connect();
- INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
- TESTCHECK(ret, KErrNone);
- INFO_PRINTF1(_L("Multiple call of setpriorityclientV2 API on the same session"));
- ret=first.SetPriorityClientV2();
- TESTCHECK(ret, KErrNone);
- INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClientV2 in same session %d."),ret);
- ret=first.SetPriorityClientV2();
- TESTCHECK(ret, KErrAlreadyExists);
- INFO_PRINTF2(_L("Second call of RTelServer::SetPriorityClientV2 in same session %d."),ret);
- first.Close();
-
- return TestStepResult();
- }
-
-CTestSetPrClientV2MulCallFrDiffSubSes::CTestSetPrClientV2MulCallFrDiffSubSes()
- {
- SetTestStepName(_L("TestSetPrClientV2MulCallFrDiffSubSes"));
- }
-
-enum TVerdict CTestSetPrClientV2MulCallFrDiffSubSes::doTestStepL()
-//
-// Test connecting Multiple call of setpriorityclientV2 API from the different sub session
-//
- {
- INFO_PRINTF1(_L("Test connecting Multiple call of setpriorityclientV2 API from the different sub session"));
- RTelServer first;
- TInt ret=first.Connect();
- INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
- TESTCHECK(ret, KErrNone);
- RTelServer second;
- ret=second.Connect();
- INFO_PRINTF2(_L("RTelServer::Connect (second) returned %d."),ret);
- INFO_PRINTF1(_L("Multiple call of setpriorityclientV2 API on the different session"));
- ret=first.SetPriorityClientV2();
- TESTCHECK(ret, KErrNone);
- INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClientV2 in different session %d."),ret);
- ret=second.SetPriorityClientV2();
- TESTCHECK(ret, KErrAlreadyExists);
- INFO_PRINTF2(_L("second call of RTelServer::SetPriorityClientV2 in different session %d."),ret);
- second.Close();
- first.Close();
- return TestStepResult();
- }
-
-CTestSetPrClientV2MulCallFrDiffClt::CTestSetPrClientV2MulCallFrDiffClt()
- {
- SetTestStepName(_L("TestSetPrClientV2MulCallFrDiffClt"));
- }
-
-TInt CTestSetPrClientV2MulCallFrDiffClt ::FirstThreadFunctiona(TAny* aThreadData1)
- {
- RTelServer server;
- CTestStep* testStep = static_cast<CTestStep*>(aThreadData1);
- CTrapCleanup* cleanup;
- if ((cleanup=CTrapCleanup::New())==NULL)
- {
- return KErrGeneral;
- }
- TInt ret = server.Connect();
- testStep->TEST1(ret==KErrNone,ETrue);
- testStep->INFO_PRINTF2(_L("Thread1 RTelServer::Connect returned %d."),ret);
- ret=server.SetPriorityClientV2();
- testStep->TEST1(( (ret==KErrAlreadyExists) || (ret==KErrNone) ),ETrue);
- testStep->INFO_PRINTF2(_L("Thread1 RTelServer::SetPriorityClientV2 returned %d."),ret);
- User::After(KETelThreadShutdownGuardPeriod);
- server.Close();
- delete cleanup;
- return ret;
- }
-
-TInt CTestSetPrClientV2MulCallFrDiffClt ::SecondThreadFunctiona(TAny* aThreadData2)
- {
- RTelServer server;
- CTestStep* testStep = static_cast<CTestStep*>(aThreadData2);
- CTrapCleanup* cleanup;
- if ((cleanup=CTrapCleanup::New())==NULL)
- {
- return KErrGeneral;
- }
- TInt ret = server.Connect();
- testStep->TEST1(ret==KErrNone,ETrue);
- testStep->INFO_PRINTF2(_L("Thread2 RTelServer::Connect returned %d."),ret);
- ret=server.SetPriorityClientV2();
- testStep->TEST1(( (ret==KErrAlreadyExists) || (ret==KErrNone) ),ETrue);
- testStep->INFO_PRINTF2(_L("Thread2 RTelServer::SetPriorityClientV2 returned %d."),ret);
- User::After(KETelThreadShutdownGuardPeriod);
- server.Close();
- delete cleanup;
- return ret;
- }
-
-enum TVerdict CTestSetPrClientV2MulCallFrDiffClt::doTestStepL()
-//
-// Test connecting Multiple call of setpriorityclientV2 API from the different threads
-//
- {
- RThread thread1;
- RThread thread2;
- TRequestStatus reqStatus1;
- TRequestStatus reqStatus2;
- Logger().ShareAuto();
- INFO_PRINTF1(_L("Test connecting Multiple call of setpriorityclientV2 API from the different threads"));
- const TInt KStackSize=0x8000;
- const TInt KHeapSize=0x8000;
- const TInt KMaxHeapSize=0x80000;
- _LIT(KFirstThreadName,"FirstThread");
- _LIT(KSecondThreadName,"SecondThread");
- TInt res1=thread1.Create(KFirstThreadName, FirstThreadFunctiona,KStackSize,KHeapSize,KMaxHeapSize,(void*)this, EOwnerThread);
- TESTCHECK(res1, KErrNone);
- if(res1!=KErrNone)
- {
- ERR_PRINTF1(_L("CTestSetPriorityClientc:thread1.Create Failed to create a thread1"));
- SetTestStepResult(EFail);
- }
- thread1.Logon(reqStatus1); //Request 1
- TInt resu1=(reqStatus1.Int(), KRequestPending);
- TInt res2=thread2.Create(KSecondThreadName,SecondThreadFunctiona,KStackSize,KHeapSize,KMaxHeapSize,(void*)this, EOwnerThread);
- TESTCHECK(res2, KErrNone);
- if(res2!=KErrNone)
- {
- ERR_PRINTF1(_L("CTestSetPriorityClientc:thread2.Create Failed to create a thread2"));
- SetTestStepResult(EFail);
- }
- thread2.Logon(reqStatus2); //Request 2
- TInt resu2=(reqStatus2.Int(), KRequestPending);
- thread1.Resume();
- User::After(1);
- thread2.Resume();
- User::WaitForRequest(reqStatus1);
- User::WaitForRequest(reqStatus2);
- TEST( ((reqStatus1==KErrNone) && (reqStatus2==KErrAlreadyExists)) ||
- ((reqStatus2==KErrNone) && (reqStatus1==KErrAlreadyExists)));
- if (thread1.ExitType() != EExitKill && thread1.ExitReason() != 0)
- {
- User::Leave(thread1.ExitReason());
- }//end of if (iThread1.ExitType() != EExitKill && iThread1.ExitReason() != 0)
- thread1.Close();
- INFO_PRINTF2(_L("First thread opened ETel session and returned %d"), res1);
- if (thread2.ExitType() != EExitKill && thread2.ExitReason() != 0)
- {
- User::Leave(thread2.ExitReason());
- }//end of if (iThread2.ExitType() != EExitKill && iThread2.ExitReason() != 0)
- thread2.Close();
- INFO_PRINTF2(_L("Second thread opened ETel session and returned %d"), res2);
- return TestStepResult();
- }
+// Copyright (c) 2007-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 "TE_EtelBase.h"
+#include "te_etelsetpriorityclient.h"
+
+CTestSetPrClientCapNsidPosCheck::CTestSetPrClientCapNsidPosCheck()
+/** Each test step initialises it's own name
+*/
+ {
+ SetTestStepName(_L("TestSetPrClientCapNsidPosCheck"));
+ }
+
+enum TVerdict CTestSetPrClientCapNsidPosCheck::doTestStepL()
+//
+// Test connecting Positive check of Capability and SID check for SetPriorityClient API
+//
+ {
+ INFO_PRINTF1(_L("Test connecting Capability and SID check for SetPriorityClient API"));
+ RTelServer first;
+ TInt ret=first.Connect();
+ INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+ TESTCHECK(ret, KErrNone);
+ INFO_PRINTF1(_L("Capability and SID check of setpriorityclient API"));
+ ret=first.SetPriorityClient();
+ TESTCHECK(ret,KErrNone);
+ INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClient %d."),ret);
+ return TestStepResult();
+ }
+
+CTestSetPrClientCapNsidNegCheck::CTestSetPrClientCapNsidNegCheck()
+/** Each test step initialises it's own name
+*/
+ {
+ SetTestStepName(_L("TestSetPrClientCapNsidNegCheck"));
+ }
+
+enum TVerdict CTestSetPrClientCapNsidNegCheck::doTestStepL()
+//
+// Test connecting Negative check of Capability and SID check for SetPriorityClient API
+//
+ {
+ INFO_PRINTF1(_L("Test connecting Capability and SID check for SetPriorityClient API"));
+ RTelServer first;
+ TInt ret=first.Connect();
+ INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+ TESTCHECK(ret, KErrNone);
+ INFO_PRINTF1(_L("Capability and SID check of setpriorityclient API"));
+ ret=first.SetPriorityClient();
+ TESTCHECK(ret,KErrPermissionDenied);
+ INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClient %d."),ret);
+ return TestStepResult();
+ }
+
+CTestSetPrClientMulCallFrSameSes::CTestSetPrClientMulCallFrSameSes()
+/** Each test step initialises it's own name
+*/
+ {
+ SetTestStepName(_L("TestSetPrClientMulCallFrSameSes"));
+ }
+
+enum TVerdict CTestSetPrClientMulCallFrSameSes::doTestStepL()
+//
+// Test connecting Multiple call of setpriorityclient API from the same session
+//
+ {
+ INFO_PRINTF1(_L("Test connecting ultiple call of setpriorityclient API from the same session"));
+ RTelServer first;
+ TInt ret=first.Connect();
+ INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+ TESTCHECK(ret, KErrNone);
+ INFO_PRINTF1(_L("Multiple call of setpriorityclient API on the same session"));
+ ret=first.SetPriorityClient();
+ TESTCHECK(ret, KErrNone);
+ INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClient in same session %d."),ret);
+ ret=first.SetPriorityClient();
+ TESTCHECK(ret, KErrAlreadyExists);
+ INFO_PRINTF2(_L("Second call of RTelServer::SetPriorityClient in same session %d."),ret);
+ first.Close();
+
+ return TestStepResult();
+ }
+//
+CTestSetPrClientMulCallFrDiffSubSes::CTestSetPrClientMulCallFrDiffSubSes()
+/** Each test step initialises it's own name
+*/
+ {
+ SetTestStepName(_L("TestSetPrClientMulCallFrDiffSubSes"));
+ }
+
+enum TVerdict CTestSetPrClientMulCallFrDiffSubSes::doTestStepL()
+//
+// Test connecting Multiple call of setpriorityclient API from the different sub session
+//
+ {
+ INFO_PRINTF1(_L("Test connecting Multiple call of setpriorityclient API on the different sub session"));
+ RTelServer first;
+ TInt ret=first.Connect();
+ INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+ TESTCHECK(ret, KErrNone);
+ RTelServer second;
+ ret=second.Connect();
+ INFO_PRINTF2(_L("RTelServer::Connect (second) returned %d."),ret);
+ INFO_PRINTF1(_L("Multiple call of setpriorityclient API on the different session"));
+ ret=first.SetPriorityClient();
+ TESTCHECK(ret, KErrNone);
+ INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClient in different session %d."),ret);
+ ret=second.SetPriorityClient();
+ TESTCHECK(ret, KErrAlreadyExists);
+ INFO_PRINTF2(_L("second call of RTelServer::SetPriorityClient in different session %d."),ret);
+ second.Close();
+ first.Close();
+
+ return TestStepResult();
+ }
+//
+CTestSetPrClientMulCallFrDiffClt::CTestSetPrClientMulCallFrDiffClt()
+/** Each test step initialises it's own name
+*/
+ {
+ SetTestStepName(_L("TestSetPrClientMulCallFrDiffClt"));
+ }
+
+TInt CTestSetPrClientMulCallFrDiffClt ::FirstThreadFunctiona(TAny* aThreadData1)
+ {
+ RTelServer server;
+ CTestStep* testStep = static_cast<CTestStep*>(aThreadData1);
+ CTrapCleanup* cleanup;
+ if ((cleanup=CTrapCleanup::New())==NULL)
+ {
+ return KErrGeneral;
+ }
+ TInt ret = server.Connect();
+ testStep->TEST1(ret==KErrNone,ETrue);
+ testStep->INFO_PRINTF2(_L("Thread1 RTelServer::Connect returned %d."),ret);
+ ret=server.SetPriorityClient();
+ testStep->TEST1((ret == KErrNone) || (ret == KErrAlreadyExists), ETrue);
+ testStep->INFO_PRINTF2(_L("Thread1 RTelServer::SetPriorityClient returned %d."),ret);
+ User::After(KETelThreadShutdownGuardPeriod);
+ server.Close();
+ delete cleanup;
+ return ret;
+ }
+
+TInt CTestSetPrClientMulCallFrDiffClt ::SecondThreadFunctiona(TAny* aThreadData2)
+ {
+ RTelServer server;
+ CTestStep* testStep = static_cast<CTestStep*>(aThreadData2);
+ CTrapCleanup* cleanup;
+ if ((cleanup=CTrapCleanup::New())==NULL)
+ {
+ return KErrGeneral;
+ }
+ TInt ret = server.Connect();
+ testStep->TEST1(ret==KErrNone,ETrue);
+ testStep->INFO_PRINTF2(_L("Thread2 RTelServer::Connect returned %d."),ret);
+ ret=server.SetPriorityClient();
+ testStep->TEST1((ret == KErrNone) || (ret == KErrAlreadyExists),ETrue);
+ testStep->INFO_PRINTF2(_L("Thread2 RTelServer::SetPriorityClient returned %d."),ret);
+ server.Close();
+ delete cleanup;
+ return ret;
+ }
+
+enum TVerdict CTestSetPrClientMulCallFrDiffClt::doTestStepL()
+//
+// Test connecting Multiple call of setpriorityclient API from the different threads
+//
+ {
+ RThread thread1;
+ RThread thread2;
+ TRequestStatus reqStatus1;
+ TRequestStatus reqStatus2;
+ Logger().ShareAuto();
+ INFO_PRINTF1(_L("Test connecting Multiple call of setpriorityclient API from the different threads"));
+ const TInt KStackSize=0x8000;
+ const TInt KHeapSize=0x8000;
+ const TInt KMaxHeapSize=0x80000;
+ _LIT(KFirstThreadName,"FirstThread");
+ _LIT(KSecondThreadName,"SecondThread");
+ TInt res1=thread1.Create(KFirstThreadName, FirstThreadFunctiona,KStackSize,KHeapSize,KMaxHeapSize,(void*)this, EOwnerThread);
+ TESTCHECK(res1, KErrNone);
+ if(res1!=KErrNone)
+ {
+ ERR_PRINTF1(_L("CTestSetPrClientMulCallFrDiffClt:thread1.Create Failed to create a thread1"));
+ SetTestStepResult(EFail);
+ }
+ thread1.Logon(reqStatus1); //Request 1
+ TInt resu1=(reqStatus1.Int(), KRequestPending);
+ TInt res2=thread2.Create(KSecondThreadName,SecondThreadFunctiona,KStackSize,KHeapSize,KMaxHeapSize,(void*)this, EOwnerThread);
+ TESTCHECK(res2, KErrNone);
+ if(res2!=KErrNone)
+ {
+ ERR_PRINTF1(_L("CTestSetPrClientMulCallFrDiffClt:thread2.Create Failed to create a thread2"));
+ SetTestStepResult(EFail);
+ }
+ thread2.Logon(reqStatus2); //Request 2
+ TInt resu2=(reqStatus2.Int(), KRequestPending);
+ thread1.Resume();
+ thread2.Resume();
+ User::WaitForRequest(reqStatus1);
+ User::WaitForRequest(reqStatus2);
+ TEST( ((reqStatus1==KErrNone) && (reqStatus2==KErrAlreadyExists)) ||
+ ((reqStatus2==KErrNone) && (reqStatus1==KErrAlreadyExists)));
+ if (thread1.ExitType() != EExitKill && thread1.ExitReason() != 0)
+ {
+ User::Leave(thread1.ExitReason());
+ }//end of if (iThread1.ExitType() != EExitKill && iThread1.ExitReason() != 0)
+ thread1.Close();
+ INFO_PRINTF2(_L("First thread opened ETel session and returned %d"), res1);
+ if (thread2.ExitType() != EExitKill && thread2.ExitReason() != 0)
+ {
+ User::Leave(thread2.ExitReason());
+ }//end of if (iThread2.ExitType() != EExitKill && iThread2.ExitReason() != 0)
+ thread2.Close();
+ INFO_PRINTF2(_L("Second thread opened ETel session and returned %d"), res2);
+
+ return TestStepResult();
+ }
+
+CTestSetPrClientV2CapNsidPosCheck::CTestSetPrClientV2CapNsidPosCheck()
+ {
+ SetTestStepName(_L("TestSetPrClientV2CapNsidPosCheck"));
+ }
+
+enum TVerdict CTestSetPrClientV2CapNsidPosCheck::doTestStepL()
+//
+// Test connecting Positive check of Capability and SID check for SetPriorityClientV2 API
+//
+ {
+ INFO_PRINTF1(_L("Test connecting Capability and SID check for SetPriorityClientV2 API"));
+ RTelServer first;
+ TInt ret=first.Connect();
+ INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+ TESTCHECK(ret, KErrNone);
+ INFO_PRINTF1(_L("Capability and SID check of setpriorityclientV2 API"));
+ ret=first.SetPriorityClientV2();
+ TESTCHECK(ret,KErrNone);
+ INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClientV2 %d."),ret);
+ return TestStepResult();
+ }
+
+CTestSetPrClientV2CapNsidNegCheck::CTestSetPrClientV2CapNsidNegCheck()
+ {
+ SetTestStepName(_L("TestSetPrClientV2CapNsidNegCheck"));
+ }
+
+enum TVerdict CTestSetPrClientV2CapNsidNegCheck::doTestStepL()
+//
+// Test connecting Negative check of Capability and SID check for SetPriorityClientV2 API
+//
+ {
+ INFO_PRINTF1(_L("Test connecting Capability and SID check for SetPriorityClientV2 API"));
+ RTelServer first;
+ TInt ret=first.Connect();
+ INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+ TESTCHECK(ret, KErrNone);
+ INFO_PRINTF1(_L("Capability and SID check of setpriorityclientV2 API"));
+ ret=first.SetPriorityClientV2();
+ TESTCHECK(ret,KErrPermissionDenied);
+ INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClientV2 %d."),ret);
+ return TestStepResult();
+ }
+
+
+CTestSetPrClientV2MulCallFrSameSes::CTestSetPrClientV2MulCallFrSameSes()
+ {
+ SetTestStepName(_L("TestSetPrClientV2MulCallFrDiffSubSes"));
+ }
+
+enum TVerdict CTestSetPrClientV2MulCallFrSameSes::doTestStepL()
+//
+// Test connecting Multiple call of setpriorityclientV2 API from the same session
+//
+ {
+ INFO_PRINTF1(_L("Test connecting Multiple call of setpriorityclientV2 API from the same session"));
+ RTelServer first;
+ TInt ret=first.Connect();
+ INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+ TESTCHECK(ret, KErrNone);
+ INFO_PRINTF1(_L("Multiple call of setpriorityclientV2 API on the same session"));
+ ret=first.SetPriorityClientV2();
+ TESTCHECK(ret, KErrNone);
+ INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClientV2 in same session %d."),ret);
+ ret=first.SetPriorityClientV2();
+ TESTCHECK(ret, KErrAlreadyExists);
+ INFO_PRINTF2(_L("Second call of RTelServer::SetPriorityClientV2 in same session %d."),ret);
+ first.Close();
+
+ return TestStepResult();
+ }
+
+CTestSetPrClientV2MulCallFrDiffSubSes::CTestSetPrClientV2MulCallFrDiffSubSes()
+ {
+ SetTestStepName(_L("TestSetPrClientV2MulCallFrDiffSubSes"));
+ }
+
+enum TVerdict CTestSetPrClientV2MulCallFrDiffSubSes::doTestStepL()
+//
+// Test connecting Multiple call of setpriorityclientV2 API from the different sub session
+//
+ {
+ INFO_PRINTF1(_L("Test connecting Multiple call of setpriorityclientV2 API from the different sub session"));
+ RTelServer first;
+ TInt ret=first.Connect();
+ INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+ TESTCHECK(ret, KErrNone);
+ RTelServer second;
+ ret=second.Connect();
+ INFO_PRINTF2(_L("RTelServer::Connect (second) returned %d."),ret);
+ INFO_PRINTF1(_L("Multiple call of setpriorityclientV2 API on the different session"));
+ ret=first.SetPriorityClientV2();
+ TESTCHECK(ret, KErrNone);
+ INFO_PRINTF2(_L("first call of RTelServer::SetPriorityClientV2 in different session %d."),ret);
+ ret=second.SetPriorityClientV2();
+ TESTCHECK(ret, KErrAlreadyExists);
+ INFO_PRINTF2(_L("second call of RTelServer::SetPriorityClientV2 in different session %d."),ret);
+ second.Close();
+ first.Close();
+ return TestStepResult();
+ }
+
+CTestSetPrClientV2MulCallFrDiffClt::CTestSetPrClientV2MulCallFrDiffClt()
+ {
+ SetTestStepName(_L("TestSetPrClientV2MulCallFrDiffClt"));
+ }
+
+TInt CTestSetPrClientV2MulCallFrDiffClt ::FirstThreadFunctiona(TAny* aThreadData1)
+ {
+ RTelServer server;
+ CTestStep* testStep = static_cast<CTestStep*>(aThreadData1);
+ CTrapCleanup* cleanup;
+ if ((cleanup=CTrapCleanup::New())==NULL)
+ {
+ return KErrGeneral;
+ }
+ TInt ret = server.Connect();
+ testStep->TEST1(ret==KErrNone,ETrue);
+ testStep->INFO_PRINTF2(_L("Thread1 RTelServer::Connect returned %d."),ret);
+ ret=server.SetPriorityClientV2();
+ testStep->TEST1(( (ret==KErrAlreadyExists) || (ret==KErrNone) ),ETrue);
+ testStep->INFO_PRINTF2(_L("Thread1 RTelServer::SetPriorityClientV2 returned %d."),ret);
+ User::After(KETelThreadShutdownGuardPeriod);
+ server.Close();
+ delete cleanup;
+ return ret;
+ }
+
+TInt CTestSetPrClientV2MulCallFrDiffClt ::SecondThreadFunctiona(TAny* aThreadData2)
+ {
+ RTelServer server;
+ CTestStep* testStep = static_cast<CTestStep*>(aThreadData2);
+ CTrapCleanup* cleanup;
+ if ((cleanup=CTrapCleanup::New())==NULL)
+ {
+ return KErrGeneral;
+ }
+ TInt ret = server.Connect();
+ testStep->TEST1(ret==KErrNone,ETrue);
+ testStep->INFO_PRINTF2(_L("Thread2 RTelServer::Connect returned %d."),ret);
+ ret=server.SetPriorityClientV2();
+ testStep->TEST1(( (ret==KErrAlreadyExists) || (ret==KErrNone) ),ETrue);
+ testStep->INFO_PRINTF2(_L("Thread2 RTelServer::SetPriorityClientV2 returned %d."),ret);
+ User::After(KETelThreadShutdownGuardPeriod);
+ server.Close();
+ delete cleanup;
+ return ret;
+ }
+
+enum TVerdict CTestSetPrClientV2MulCallFrDiffClt::doTestStepL()
+//
+// Test connecting Multiple call of setpriorityclientV2 API from the different threads
+//
+ {
+ RThread thread1;
+ RThread thread2;
+ TRequestStatus reqStatus1;
+ TRequestStatus reqStatus2;
+ Logger().ShareAuto();
+ INFO_PRINTF1(_L("Test connecting Multiple call of setpriorityclientV2 API from the different threads"));
+ const TInt KStackSize=0x8000;
+ const TInt KHeapSize=0x8000;
+ const TInt KMaxHeapSize=0x80000;
+ _LIT(KFirstThreadName,"FirstThread");
+ _LIT(KSecondThreadName,"SecondThread");
+ TInt res1=thread1.Create(KFirstThreadName, FirstThreadFunctiona,KStackSize,KHeapSize,KMaxHeapSize,(void*)this, EOwnerThread);
+ TESTCHECK(res1, KErrNone);
+ if(res1!=KErrNone)
+ {
+ ERR_PRINTF1(_L("CTestSetPriorityClientc:thread1.Create Failed to create a thread1"));
+ SetTestStepResult(EFail);
+ }
+ thread1.Logon(reqStatus1); //Request 1
+ TInt resu1=(reqStatus1.Int(), KRequestPending);
+ TInt res2=thread2.Create(KSecondThreadName,SecondThreadFunctiona,KStackSize,KHeapSize,KMaxHeapSize,(void*)this, EOwnerThread);
+ TESTCHECK(res2, KErrNone);
+ if(res2!=KErrNone)
+ {
+ ERR_PRINTF1(_L("CTestSetPriorityClientc:thread2.Create Failed to create a thread2"));
+ SetTestStepResult(EFail);
+ }
+ thread2.Logon(reqStatus2); //Request 2
+ TInt resu2=(reqStatus2.Int(), KRequestPending);
+ thread1.Resume();
+ User::After(1);
+ thread2.Resume();
+ User::WaitForRequest(reqStatus1);
+ User::WaitForRequest(reqStatus2);
+ TEST( ((reqStatus1==KErrNone) && (reqStatus2==KErrAlreadyExists)) ||
+ ((reqStatus2==KErrNone) && (reqStatus1==KErrAlreadyExists)));
+ if (thread1.ExitType() != EExitKill && thread1.ExitReason() != 0)
+ {
+ User::Leave(thread1.ExitReason());
+ }//end of if (iThread1.ExitType() != EExitKill && iThread1.ExitReason() != 0)
+ thread1.Close();
+ INFO_PRINTF2(_L("First thread opened ETel session and returned %d"), res1);
+ if (thread2.ExitType() != EExitKill && thread2.ExitReason() != 0)
+ {
+ User::Leave(thread2.ExitReason());
+ }//end of if (iThread2.ExitType() != EExitKill && iThread2.ExitReason() != 0)
+ thread2.Close();
+ INFO_PRINTF2(_L("Second thread opened ETel session and returned %d"), res2);
+ return TestStepResult();
+ }