commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/src/te_mbufgobblertest.cpp
author hgs
Thu, 23 Sep 2010 10:22:55 +0100
changeset 78 dd4909eb54cd
permissions -rw-r--r--
201037_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
78
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
     1
// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
     2
// All rights reserved.
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
     7
//
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
     8
// Initial Contributors:
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    10
//
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    11
// Contributors:
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    12
//
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    13
// Description:
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    14
//  Test steps
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    15
//
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    16
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    17
/**
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    18
 @file
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    19
 @internalComponent
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    20
*/
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    21
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    22
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    23
#include <stdlib.h>
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    24
#include <string.h>
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    25
//#include <profiler.h>
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    26
#include <test/testexecutelog.h>
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    27
#include <in_sock.h>
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    28
#include "te_mbufgobblertest.h"
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    29
#include "mbufgobblertestflags.h"
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    30
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    31
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    32
CMbufGobblerStartupTest::CMbufGobblerStartupTest(CMbufGobblerTestServer* /*aOwner*/)
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    33
	{
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    34
	SetTestStepName(KTestMbufGobblerStartupTest);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    35
	}
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    36
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    37
CMbufGobblerStartupTest::~CMbufGobblerStartupTest()
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    38
	{
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    39
	}
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    40
    
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    41
TVerdict CMbufGobblerStartupTest::doTestStepL()
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    42
	{
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    43
#ifdef _DEBUG
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    44
    SetTestStepResult( EFail );    
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    45
    
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    46
    User::LeaveIfError(MbufGobblerTestFlags::ActivateTestFlags());
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    47
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    48
	INFO_PRINTF1(_L("  .. opening socket server.."));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    49
	RSocketServ sockServ;
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    50
    User::LeaveIfError(sockServ.Connect());
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    51
    CleanupClosePushL(sockServ);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    52
    
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    53
	INFO_PRINTF1(_L("  .. opening connection.."));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    54
	RConnection conn;
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    55
    User::LeaveIfError(conn.Open(sockServ));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    56
    CleanupClosePushL(conn);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    57
    User::LeaveIfError(conn.Start()); // start default connection (defined in commsdat)
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    58
    
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    59
	INFO_PRINTF1(_L("Checking Tier up.."));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    60
    TInt result = MbufGobblerTestFlags::GetResult(MbufGobblerTestFlags::KTierUp);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    61
    User::LeaveIfError(result);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    62
	INFO_PRINTF2(_L("Tier started ok [%d]."),result);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    63
    
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    64
	INFO_PRINTF1(_L("Checking MCPr up.."));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    65
    result = MbufGobblerTestFlags::GetResult(MbufGobblerTestFlags::KMCPrUp);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    66
    User::LeaveIfError(result);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    67
	INFO_PRINTF2(_L("MCPr started ok [%d]."),result);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    68
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    69
	INFO_PRINTF1(_L("Checking CPr up.."));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    70
    result = MbufGobblerTestFlags::GetResult(MbufGobblerTestFlags::KCPrUp);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    71
    User::LeaveIfError(result);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    72
	INFO_PRINTF2(_L("CPr started ok [%d]."),result);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    73
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    74
	INFO_PRINTF1(_L("Checking SCPr up.."));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    75
    result = MbufGobblerTestFlags::GetResult(MbufGobblerTestFlags::KSCPrUp);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    76
    User::LeaveIfError(result);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    77
	INFO_PRINTF2(_L("SCPr started ok [%d]."),result);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    78
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    79
	INFO_PRINTF1(_L("Checking Binder up.."));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    80
    result = MbufGobblerTestFlags::GetResult(MbufGobblerTestFlags::KBind);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    81
    User::LeaveIfError(result);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    82
	INFO_PRINTF2(_L("Binder up ok [%d]."),result);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    83
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    84
	INFO_PRINTF1(_L("  .. opening socket.."));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    85
    RSocket sock;
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    86
	User::LeaveIfError(sock.Open(sockServ,KAfInet,KSockDatagram,KProtocolInetUdp,conn));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    87
    CleanupClosePushL(sock);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    88
	
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    89
	INFO_PRINTF1(_L("  .. sending a packet.."));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    90
	TBuf8<128> pkt;
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    91
	pkt.SetLength(128);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    92
	TInetAddr dest;
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    93
	dest.Input(_L("11.22.33.44"));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    94
	dest.SetPort(100);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    95
	TRequestStatus status;
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    96
	sock.SendTo(pkt,dest,0,status);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    97
	User::WaitForRequest(status);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    98
	User::LeaveIfError(status.Int());
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
    99
	
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   100
	INFO_PRINTF1(_L("Checking Send occurred.."));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   101
    result = MbufGobblerTestFlags::GetResult(MbufGobblerTestFlags::KBinderSend);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   102
    User::LeaveIfError(result);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   103
	INFO_PRINTF2(_L("Send occurred ok [%d]."),result);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   104
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   105
	INFO_PRINTF1(_L("Checking Receive occurred.."));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   106
    result = MbufGobblerTestFlags::GetResult(MbufGobblerTestFlags::KBinderReceive);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   107
    User::LeaveIfError(result);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   108
	INFO_PRINTF2(_L("Receive occurred ok [%d]."),result);
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   109
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   110
	// Remove this call if its high capability requirement is a problem
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   111
	INFO_PRINTF1(_L("  .. stopping connection.."));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   112
	User::LeaveIfError(conn.Stop());
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   113
	
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   114
    CleanupStack::Pop(); // RSocket close
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   115
    CleanupStack::Pop(); // RConnection close
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   116
    CleanupStack::Pop(); // RSocketServ close
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   117
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   118
	// return success / failure
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   119
    SetTestStepResult( EPass );
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   120
#else // _DEBUG
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   121
    SetTestStepResult( EPass );    
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   122
	INFO_PRINTF1(_L("  .. results for this component only useful in UDEB mode."));
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   123
#endif    
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   124
	return TestStepResult();
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   125
	}
dd4909eb54cd 201037_01
hgs
parents:
diff changeset
   126