/*
* Copyright (c) 2002-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:
*
*/
#ifndef __TESTSOCKET_H__
#define __TESTSOCKET_H__
#include <test/testexecutestepbase.h>
// INCLUDE FILES
#include <unistd.h>
#include <errno.h>
#include <stdio.h>
#include <e32std.h>
#include <stdlib.h>
#include <string.h>
#include <e32svr.h>
#include <e32def.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <stdapis/netinet/in.h>
#include <stdapis/arpa/inet.h>
#include <e32std.h>
#include <sys/unistd.h>
#include <fcntl.h>
#include <sys/socket.h>
#include <netdb.h>
#include <pthread.h>
#include <stdapis/net/if.h>
#include <sys/sockio.h>
#include <sys/stat.h>
#include <sys/select.h>
#include <sys/ioctl.h>
#include <sys/uio.h>
_LIT(KExampleL, "ExampleL");
_LIT(KUDP, "UDP");
_LIT(KTCP, "TCP");
_LIT(KSocketTest, "SocketTest");
_LIT(KGetSocketNameUsingInvalidSocketDescriptor, "GetSocketNameUsingInvalidSocketDescriptor");
_LIT(KGetSocketNameUsingFileDescriptor, "GetSocketNameUsingFileDescriptor");
_LIT(KGetSocketName, "GetSocketName");
_LIT(KGetSocketNameInvalidLength, "GetSocketNameInvalidLength");
_LIT(KGetSocketNameInvalidSocketBuffer, "GetSocketNameInvalidSocketBuffer");
_LIT(KGetPeerSocketName, "GetPeerSocketName");
_LIT(KGetPeerSocketNameUsingFileDescriptor, "GetPeerSocketNameUsingFileDescriptor");
_LIT(KGetPeerSocketNameUsingInvalidSocketDescriptor, "GetPeerSocketNameUsingInvalidSocketDescriptor");
_LIT(KGetPeerSocketNameforUnconnectedSocket, "GetPeerSocketNameforUnconnectedSocket");
_LIT(KGetPeerSocketNameInvalidLengthSockAddr, "GetPeerSocketNameInvalidLengthSockAddr");
_LIT(KBindTest, "BindTest");
_LIT(KMultipleBindOnSameSocket, "MultipleBindOnSameSocket");
_LIT(KBindInvalidAddress, "BindInvalidAddress");
_LIT(KBindUsingInvalidSocketDescriptor, "BindUsingInvalidSocketDescriptor");
_LIT(KBindUsingFileDescriptor, "BindUsingFileDescriptor");
_LIT(KBindFailCases, "BindFailCases");
_LIT(KShutdownTest, "ShutdownTest");
_LIT(KShutDownTestWithInvalidShutdownOption, "ShutDownTestWithInvalidShutdownOption");
_LIT(KShutdownUsingFileDescriptor, "ShutdownUsingFileDescriptor");
_LIT(KShutdownUsingInvalidSocketDescriptor, "ShutdownUsingInvalidSocketDescriptor");
_LIT(KShutdownDisconnectedSocket, "ShutdownDisconnectedSocket");
_LIT(KListenUdp, "ListenUdp");
_LIT(KListenTest, "ListenTest");
_LIT(KListenUsingFileDescriptor, "ListenUsingFileDescriptor");
_LIT(KListenUsingInvalidSocketDescriptor, "ListenUsingInvalidSocketDescriptor");
_LIT(KAcceptTest, "AcceptTest");
_LIT(KUDPAccept, "UDPAccept");
_LIT(KAcceptUsingFileDescriptor, "AcceptUsingFileDescriptor");
_LIT(KAcceptUsingInvalidSocketDescriptor, "AcceptUsingInvalidSocketDescriptor");
_LIT(KAcceptFailCases, "AcceptFailCases");
_LIT(KAcceptTestZeroAddrLen, "AcceptTestZeroAddrLen");
_LIT(KAcceptTestNullAddr, "AcceptTestNullAddr");
_LIT(KConnectTestFailCases, "ConnectTestFailCases");
_LIT(KConnectUsingFileDescriptor, "ConnectUsingFileDescriptor");
_LIT(KConnectUsingInvalidSocketDescriptor, "ConnectUsingInvalidSocketDescriptor");
_LIT(KRecvUsingFileDescriptor, "RecvUsingFileDescriptor");
_LIT(KRecvUsingInvalidSocketDescriptor, "RecvUsingInvalidSocketDescriptor");
_LIT(KRecvTestFailCases, "RecvTestFailCases");
_LIT(KSendTestFailCases, "SendTestFailCases");
_LIT(KSendUsingFileDescriptor, "SendUsingFileDescriptor");
_LIT(KSendUsingInvalidSocketDescriptor, "SendUsingInvalidSocketDescriptor");
_LIT(KSocketOptions, "SocketOptions");
_LIT(KGetSockOptFailCases, "GetSockOptFailCases");
_LIT(KSetSockOptFailCases, "SetSockOptFailCases");
_LIT(KSendToTestFailCases, "SendToTestFailCases");
_LIT(KSendToUsingFileDescriptor, "SendToUsingFileDescriptor");
_LIT(KSendToUsingInvalidSocketDescriptor, "SendToUsingInvalidSocketDescriptor");
_LIT(KTestSendReturnValue, "TestSendReturnValue");
_LIT(KRecvFromTestFailCases, "RecvFromTestFailCases");
_LIT(KSockAtMark, "SockAtMark");
_LIT(KBindResvPort, "BindResvPort");
_LIT(KBindResvPortFailCases, "BindResvPortFailCases");
_LIT(KHErrNoLocation, "HErrNoLocation");
_LIT(KSendMsgRecvMsg, "SendMsgRecvMsg");
_LIT(KGetHostName, "GetHostName");
_LIT(KGetHostNameNull, "GetHostNameNull");
_LIT(KGetHostNameZero, "GetHostNameZero");
_LIT(KTestRecv, "TestRecv");
_LIT(KTestReadStream, "TestReadStream");
_LIT(KTestReadDatagram, "TestReadDatagram");
_LIT(KTestSktlseek, "TestSktlseek");
_LIT(KTestSockAfLocal, "TestSockAfLocal");
_LIT(KTestSktfstat, "TestSktfstat");
_LIT(KTestSktfsync, "TestSktfsync");
_LIT(KTestGreaterThan16kReadWrite, "TestGreaterThan16kReadWrite");
_LIT(KTestNotify, "TestNotify");
_LIT(KTestRecvMsgPeekTCP, "TestRecvMsgPeekTCP");
_LIT(KTestRecvMsgPeekUDP, "TestRecvMsgPeekUDP");
_LIT(KTestLargeUDP,"TestLargeUDP");
_LIT(KTestFionread, "TestFionread");
_LIT(KTestBind1,"TestBind1");
_LIT(KTestConnectNonBlocking,"TestConnectNonBlocking");
_LIT(KTCP1, "TCP1");
_LIT(KTestV4MappedAddress, "TestV4MappedAddress");
_LIT(KReadTestFailCase, "ReadTestFailCase");
_LIT(KTestNotify1, "TestNotify1");
_LIT(KTestSockFcntl, "TestSockFcntl");
_LIT(KTestSockIoctl, "TestSockIoctl");
_LIT(KSockErrnoTest, "SockErrnoTest");
_LIT(KSockSendOnClosedConn,"SockSendOnClosedConn");
class CTestSocket : public CTestStep
{
public:
~CTestSocket();
CTestSocket(const TDesC& aStepName);
TVerdict doTestStepL();
TVerdict doTestStepPreambleL();
TVerdict doTestStepPostambleL();
private:
void GetParameters(char aParamets[10][256]);
TInt ExampleL();
TInt UDP( );
TInt TCP( );
TInt GetSocketName( );
TInt GetSocketNameUsingFileDescriptor( );
TInt GetSocketNameUsingInvalidSocketDescriptor( );
TInt GetSocketNameInvalidLength( );
TInt GetSocketNameInvalidSocketBuffer( );
TInt GetPeerSocketName( );
TInt GetPeerSocketNameUsingFileDescriptor( );
TInt GetPeerSocketNameUsingInvalidSocketDescriptor( );
TInt GetPeerSocketNameforUnconnectedSocket( );
TInt GetPeerSocketNameInvalidLengthSockAddr( );
TInt BindTest( );
TInt MultipleBindOnSameSocket( );
TInt BindInvalidAddress( );
TInt BindUsingInvalidSocketDescriptor( );
TInt BindUsingFileDescriptor( );
TInt ShutdownTest( );
TInt ShutDownTestWithInvalidShutdownOption( );
TInt ShutdownUsingFileDescriptor( );
TInt ShutdownUsingInvalidSocketDescriptor( );
TInt ShutdownDisconnectedSocket( );
TInt SocketTest();
TInt ListenTest();
TInt ListenUsingFileDescriptor();
TInt ListenUsingInvalidSocketDescriptor();
TInt AcceptTest();
TInt UDPAccept();
TInt AcceptUsingFileDescriptor();
TInt AcceptUsingInvalidSocketDescriptor();
TInt ConnectTestFailCases();
TInt ConnectUsingFileDescriptor();
TInt ConnectUsingInvalidSocketDescriptor();
TInt RecvTestFailCases();
TInt RecvUsingInvalidSocketDescriptor();
TInt RecvUsingFileDescriptor();
TInt SendTestFailCases();
TInt SendUsingFileDescriptor();
TInt SendUsingInvalidSocketDescriptor();
TInt SocketOptions();
TInt GetSockOptFailCases();
TInt SetSockOptFailCases();
TInt SendToTestFailCases();
TInt SendToUsingFileDescriptor();
TInt SendToUsingInvalidSocketDescriptor();
TInt TestSendReturnValue();
TInt RecvFromTestFailCases();
TInt SockAtMark();
TInt BindResvPort();
TInt BindResvPortFailCases();
TInt HErrNoLocation();
TInt SendMsgRecvMsg();
TInt TestRecv();
TInt TestReadStream();
TInt TestReadDatagram();
TInt BindFailCases();
TInt AcceptFailCases();
TInt AcceptTestZeroAddrLen();
TInt AcceptTestNullAddr();
TInt ListenUdp();
TInt GetHostName();
TInt GetHostNameNull();
TInt GetHostNameZero();
TInt TestSktlseek();
TInt TestSockAfLocal();
TInt TestSktfstat();
TInt TestSktfsync();
TInt TestGreaterThan16kReadWrite();
TInt TestNotify();
TInt TestRecvMsgPeekTCP();
TInt TestRecvMsgPeekUDP();
TInt TestLargeUDP();
TInt TestFionread();
TInt TestBind1();
TInt TestConnectNonBlocking();
TInt TCP1( );
TInt TestV4MappedAddress();
TInt ReadTestFailCase();
TInt TestNotify1();
TInt TestSockFcntl();
TInt TestSockIoctl();
TInt create_udp_socket(int port);
TInt send_packet(int s);
TInt close_socket(int fd);
TInt SockErrnoTest();
TInt SockSendOnClosedConn();
};
#endif