bluetooth/btexample/test/cit/ROMConfig/src/cteststepbtromconfigrsocket001.cpp
changeset 0 29b1cd4cb562
equal deleted inserted replaced
-1:000000000000 0:29b1cd4cb562
       
     1 // Copyright (c) 2005-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".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #include "cteststepbtromconfigrsocket001.h"
       
    17 #include <es_sock.h>
       
    18 #include <bt_sock.h>
       
    19 #include <bluetoothav.h>
       
    20 
       
    21 _LIT(KProtocolSdp, "SDP");
       
    22 _LIT(KProtocolBtLinkManager, "BTLinkManager");
       
    23 _LIT(KProtocolAvctp, "AVCTP");
       
    24 
       
    25 CTestStepBtRomConfigRSocket001::~CTestStepBtRomConfigRSocket001()
       
    26 	{
       
    27     }
       
    28 
       
    29 CTestStepBtRomConfigRSocket001::CTestStepBtRomConfigRSocket001
       
    30 	(CTestServer& aParent) 
       
    31 	: CTestStepBtRomConfigBase(aParent)
       
    32 	{
       
    33 	SetTestStepName(KTestNameRSocket001);
       
    34 	}
       
    35 
       
    36 /**
       
    37 Static Constructor
       
    38 Note the lack of ELeave. This means that having insufficient memory will return NULL;
       
    39 */
       
    40 CTestStepBtRomConfigRSocket001* CTestStepBtRomConfigRSocket001::New
       
    41 	(CTestServer& aParent)
       
    42 	{
       
    43 	return new CTestStepBtRomConfigRSocket001(aParent); 
       
    44 	}
       
    45 
       
    46 /**
       
    47 See BT_ROMCONFIG_RSOCKET_001.script
       
    48 */
       
    49 TVerdict CTestStepBtRomConfigRSocket001::doTestStepL()
       
    50 	{
       
    51 	INFO_PRINTF1(\
       
    52 		_L("&gt;&gt;CTestStepBtRomConfigRSocket001::doTestStepL()"));
       
    53 	
       
    54 	RSocketServ socketServer;
       
    55 	User::LeaveIfError(socketServer.Connect());
       
    56 	RSocket sock;
       
    57 	TInt err = KErrNone;
       
    58 	TInt expectedError = KErrBadName;
       
    59 	const TDesC* expectedErrorDesPtr = &KErrBadNameLit;
       
    60 	TBool allCasesTested = EFalse;
       
    61 	TInt testcase = 0;
       
    62 
       
    63 	while( !allCasesTested )
       
    64 		{
       
    65 		// test one of the RSocket open methods
       
    66 		switch(testcase)
       
    67 			{
       
    68 			case 0:
       
    69 				expectedError = ( iBtExcluded ?  KErrNotFound : KErrNone );
       
    70 				expectedErrorDesPtr = ( iBtExcluded ?  &KErrNotFoundLit : &KErrNoneLit );
       
    71 				err = sock.Open( socketServer, KRFCOMMDesC );
       
    72 				break;
       
    73 			case 1: 
       
    74 				expectedError = ( iBtExcluded ?  KErrNotFound : KErrNone );
       
    75 				expectedErrorDesPtr = ( iBtExcluded ?  &KErrNotFoundLit : &KErrNoneLit );
       
    76 				err = sock.Open( socketServer, KL2CAPDesC );
       
    77 				break;
       
    78 			case 2:
       
    79 				expectedError = ( iBtExcluded ?  KErrNotFound : KErrNone );
       
    80 				expectedErrorDesPtr = ( iBtExcluded ?  &KErrNotFoundLit : &KErrNoneLit );
       
    81 				err = sock.Open( socketServer, KProtocolBtLinkManager);
       
    82 				break;
       
    83 			case 3:
       
    84 				expectedError = ( iBtExcluded ?  KErrNotFound : KErrNotSupported );
       
    85 				expectedErrorDesPtr = ( iBtExcluded ?  &KErrNotFoundLit : &KErrNotSupportedLit );
       
    86 				err = sock.Open( socketServer, KProtocolSdp);
       
    87 				break;
       
    88 			case 4:
       
    89 				expectedError = ( iBtExcluded ?  KErrNotFound : KErrNone );
       
    90 				expectedErrorDesPtr = ( iBtExcluded ?  &KErrNotFoundLit : &KErrNoneLit );
       
    91 				err = sock.Open( socketServer, KAVDTPProtocolName);
       
    92 				break;	
       
    93 			
       
    94 			case 5:
       
    95 				expectedError = ( iBtExcluded ?  KErrBadName : KErrNone );
       
    96 				expectedErrorDesPtr = ( iBtExcluded ?  &KErrBadNameLit : &KErrNoneLit );
       
    97 			 	err = sock.Open( socketServer, KBTAddrFamily, KSockStream, KRFCOMM );
       
    98 			 	break;
       
    99 			case 6:
       
   100 				expectedError = ( iBtExcluded ?  KErrBadName : KErrNone );
       
   101 				expectedErrorDesPtr = ( iBtExcluded ?  &KErrBadNameLit : &KErrNoneLit );
       
   102 				err = sock.Open( socketServer, KBTAddrFamily, KSockSeqPacket, KL2CAP );
       
   103 				break;
       
   104 			case 7:
       
   105 				expectedError = ( iBtExcluded ?  KErrBadName : KErrNotSupported );
       
   106 				expectedErrorDesPtr = ( iBtExcluded ?  &KErrBadNameLit : &KErrNotSupportedLit );
       
   107 			 	err = sock.Open( socketServer, KBTAddrFamily, KSockStream, KSDP );
       
   108 			 	break;				
       
   109 			case 8:
       
   110 				expectedError = ( iBtExcluded ?  KErrBadName : KErrNone );
       
   111 				expectedErrorDesPtr = ( iBtExcluded ?  &KErrBadNameLit : &KErrNoneLit );
       
   112 			 	err = sock.Open( socketServer, KBTAddrFamily, KUndefinedSockType, KBTLinkManager );
       
   113 			 	break;				
       
   114 			case 9:
       
   115 				expectedError = ( iBtExcluded ?  KErrBadName : KErrNone );
       
   116 				expectedErrorDesPtr = ( iBtExcluded ?  &KErrBadNameLit : &KErrNoneLit );
       
   117 			 	err = sock.Open( socketServer, KBTAddrFamily, KSockDatagram, KAVCTP );
       
   118 			 	break;				
       
   119 			case 10:
       
   120 				expectedError = ( iBtExcluded ?  KErrBadName : KErrNone );
       
   121 				expectedErrorDesPtr = ( iBtExcluded ?  &KErrBadNameLit : &KErrNoneLit );
       
   122 			 	err = sock.Open( socketServer, KBTAddrFamily, KSockDatagram, KAVDTP );
       
   123 			 	break;	
       
   124 			 
       
   125 			 /*
       
   126 			 API overloads taking RConnections do not need to be tested as these are
       
   127 			 covered by BT-ROMCONFIG-PAN-001
       
   128 			 */
       
   129 			 							 				 				 	
       
   130 			default:
       
   131 				allCasesTested = ETrue;
       
   132 				break;
       
   133 			}
       
   134 		if ( allCasesTested )	
       
   135 			{
       
   136 			break;
       
   137 			}
       
   138 		// check the result of the call to Open	
       
   139 		if ( err!=expectedError )
       
   140 			{
       
   141 			INFO_PRINTF5(\
       
   142 				_L("Subcase %d Failed: Expected error %S(%d) and got %d when calling Open for BT protocol"),\
       
   143 				testcase, expectedErrorDesPtr, expectedError, err);
       
   144 			SetTestStepResult(EFail);
       
   145 			}	
       
   146 		// may need to tidy up the socket if a test failed	
       
   147 		if ( sock.SubSessionHandle() )	
       
   148 			{
       
   149 			sock.Close();
       
   150 			}
       
   151 		testcase++;	
       
   152 		}
       
   153 	INFO_PRINTF2(\
       
   154 		_L("%d subcases for RSocket::Open() were tested"), testcase);
       
   155 	socketServer.Close();
       
   156 	
       
   157 	INFO_PRINTF1(\
       
   158 		_L("&lt;&lt;CTestStepBtRomConfigRSocket001::doTestStepL()"));
       
   159 	CheckAndSetTestResult();
       
   160 	return TestStepResult(); 
       
   161 	}
       
   162 
       
   163 // EOF