udp test ported (the last one!)
authorPavel Boyko <boyko@iitp.ru>
Thu Oct 01 15:20:54 2009 +0400 (4 months ago)
changeset 53409ca7ee51d883
parent 5338 edf753f423d1
child 5341 586ce4339aab
udp test ported (the last one!)
src/internet-stack/udp-test.cc
     1.1 --- a/src/internet-stack/udp-test.cc	Thu Oct 01 12:38:12 2009 +0200
     1.2 +++ b/src/internet-stack/udp-test.cc	Thu Oct 01 15:20:54 2009 +0400
     1.3 @@ -21,7 +21,6 @@
     1.4   * This is the test code for udp-socket-impl.cc, it was moved out of udp-socket-impl.cc to 
     1.5   * be in an independent file for clarity purposes.
     1.6   */
     1.7 -#ifdef RUN_SELF_TESTS
     1.8  
     1.9  #include "ns3/test.h"
    1.10  #include "ns3/socket-factory.h"
    1.11 @@ -74,13 +73,13 @@
    1.12  }
    1.13  
    1.14  
    1.15 -class UdpSocketImplTest: public Test
    1.16 +class UdpSocketImplTest: public TestCase
    1.17  {
    1.18    Ptr<Packet> m_receivedPacket;
    1.19    Ptr<Packet> m_receivedPacket2;
    1.20  
    1.21  public:
    1.22 -  virtual bool RunTests (void);
    1.23 +  virtual bool DoRun (void);
    1.24    UdpSocketImplTest ();
    1.25  
    1.26    void ReceivePacket (Ptr<Socket> socket, Ptr<Packet> packet, const Address &from);
    1.27 @@ -91,7 +90,7 @@
    1.28  
    1.29  
    1.30  UdpSocketImplTest::UdpSocketImplTest ()
    1.31 -  : Test ("UdpSocketImpl") 
    1.32 +  : TestCase ("UDP socket implementation") 
    1.33  {
    1.34  }
    1.35  
    1.36 @@ -122,10 +121,8 @@
    1.37  }
    1.38  
    1.39  bool
    1.40 -UdpSocketImplTest::RunTests (void)
    1.41 +UdpSocketImplTest::DoRun (void)
    1.42  {
    1.43 -  bool result = true;
    1.44 -
    1.45    // Create topology
    1.46    
    1.47    // Receiver Node
    1.48 @@ -193,12 +190,12 @@
    1.49    // Create the UDP sockets
    1.50    Ptr<SocketFactory> rxSocketFactory = rxNode->GetObject<UdpSocketFactory> ();
    1.51    Ptr<Socket> rxSocket = rxSocketFactory->CreateSocket ();
    1.52 -  NS_TEST_ASSERT_EQUAL (rxSocket->Bind (InetSocketAddress (Ipv4Address ("10.0.0.1"), 1234)), 0);
    1.53 +  NS_TEST_EXPECT_MSG_EQ (rxSocket->Bind (InetSocketAddress (Ipv4Address ("10.0.0.1"), 1234)), 0, "trivial");
    1.54    rxSocket->SetRecvCallback (MakeCallback (&UdpSocketImplTest::ReceivePkt, this));
    1.55  
    1.56    Ptr<Socket> rxSocket2 = rxSocketFactory->CreateSocket ();
    1.57    rxSocket2->SetRecvCallback (MakeCallback (&UdpSocketImplTest::ReceivePkt2, this));
    1.58 -  NS_TEST_ASSERT_EQUAL (rxSocket2->Bind (InetSocketAddress (Ipv4Address ("10.0.1.1"), 1234)), 0);
    1.59 +  NS_TEST_EXPECT_MSG_EQ (rxSocket2->Bind (InetSocketAddress (Ipv4Address ("10.0.1.1"), 1234)), 0, "trivial");
    1.60  
    1.61    Ptr<SocketFactory> txSocketFactory = txNode->GetObject<UdpSocketFactory> ();
    1.62    Ptr<Socket> txSocket = txSocketFactory->CreateSocket ();
    1.63 @@ -208,11 +205,11 @@
    1.64    // Unicast test
    1.65    m_receivedPacket = Create<Packet> ();
    1.66    m_receivedPacket2 = Create<Packet> ();
    1.67 -  NS_TEST_ASSERT_EQUAL (txSocket->SendTo ( Create<Packet> (123), 0, 
    1.68 -    InetSocketAddress (Ipv4Address("10.0.0.1"), 1234)), 123);
    1.69 +  NS_TEST_EXPECT_MSG_EQ (txSocket->SendTo ( Create<Packet> (123), 0, 
    1.70 +    InetSocketAddress (Ipv4Address("10.0.0.1"), 1234)), 123, "trivial");
    1.71    Simulator::Run ();
    1.72 -  NS_TEST_ASSERT_EQUAL (m_receivedPacket->GetSize (), 123);
    1.73 -  NS_TEST_ASSERT_EQUAL (m_receivedPacket2->GetSize (), 0); // second interface should receive it
    1.74 +  NS_TEST_EXPECT_MSG_EQ (m_receivedPacket->GetSize (), 123, "trivial");
    1.75 +  NS_TEST_EXPECT_MSG_EQ (m_receivedPacket2->GetSize (), 0, "second interface should receive it");
    1.76  
    1.77    m_receivedPacket->RemoveAllByteTags ();
    1.78    m_receivedPacket2->RemoveAllByteTags ();
    1.79 @@ -221,12 +218,11 @@
    1.80  
    1.81    m_receivedPacket = Create<Packet> ();
    1.82    m_receivedPacket2 = Create<Packet> ();
    1.83 -  NS_TEST_ASSERT_EQUAL (txSocket->SendTo ( Create<Packet> (123), 0, 
    1.84 -    InetSocketAddress (Ipv4Address("255.255.255.255"), 1234)), 123);
    1.85 +  NS_TEST_EXPECT_MSG_EQ (txSocket->SendTo ( Create<Packet> (123), 0, 
    1.86 +    InetSocketAddress (Ipv4Address("255.255.255.255"), 1234)), 123, "trivial");
    1.87    Simulator::Run ();
    1.88 -  NS_TEST_ASSERT_EQUAL (m_receivedPacket->GetSize (), 123);
    1.89 -  // second socket should not receive it (it is bound specifically to the second interface's address
    1.90 -  NS_TEST_ASSERT_EQUAL (m_receivedPacket2->GetSize (), 0);
    1.91 +  NS_TEST_EXPECT_MSG_EQ (m_receivedPacket->GetSize (), 123, "trivial");
    1.92 +  NS_TEST_EXPECT_MSG_EQ (m_receivedPacket2->GetSize (), 0, "second socket should not receive it (it is bound specifically to the second interface's address");
    1.93  
    1.94    m_receivedPacket->RemoveAllByteTags ();
    1.95    m_receivedPacket2->RemoveAllByteTags ();
    1.96 @@ -239,26 +235,31 @@
    1.97    rxSocket2->Dispose ();
    1.98    rxSocket2 = rxSocketFactory->CreateSocket ();
    1.99    rxSocket2->SetRecvCallback (MakeCallback (&UdpSocketImplTest::ReceivePkt2, this));
   1.100 -  NS_TEST_ASSERT_EQUAL (rxSocket2->Bind (InetSocketAddress (Ipv4Address ("0.0.0.0"), 1234)), 0);
   1.101 +  NS_TEST_EXPECT_MSG_EQ (rxSocket2->Bind (InetSocketAddress (Ipv4Address ("0.0.0.0"), 1234)), 0, "trivial");
   1.102  
   1.103    m_receivedPacket = Create<Packet> ();
   1.104    m_receivedPacket2 = Create<Packet> ();
   1.105 -  NS_TEST_ASSERT_EQUAL (txSocket->SendTo (Create<Packet> (123), 0,
   1.106 -InetSocketAddress (Ipv4Address("255.255.255.255"), 1234)), 123);
   1.107 +  NS_TEST_EXPECT_MSG_EQ (txSocket->SendTo (Create<Packet> (123), 0,
   1.108 +        InetSocketAddress (Ipv4Address("255.255.255.255"), 1234)), 123, "trivial");
   1.109    Simulator::Run ();
   1.110 -  NS_TEST_ASSERT_EQUAL (m_receivedPacket->GetSize (), 123);
   1.111 -  NS_TEST_ASSERT_EQUAL (m_receivedPacket2->GetSize (), 123);
   1.112 +  NS_TEST_EXPECT_MSG_EQ (m_receivedPacket->GetSize (), 123, "trivial");
   1.113 +  NS_TEST_EXPECT_MSG_EQ (m_receivedPacket2->GetSize (), 123, "trivial");
   1.114  
   1.115    m_receivedPacket = 0;
   1.116    m_receivedPacket2 = 0;
   1.117  
   1.118    Simulator::Destroy ();
   1.119  
   1.120 -  return result;
   1.121 +  return GetErrorStatus ();
   1.122  }
   1.123 -
   1.124 -static UdpSocketImplTest gUdpSocketImplTest;
   1.125 +//-----------------------------------------------------------------------------
   1.126 +class UdpTestSuite : public TestSuite
   1.127 +{
   1.128 +public:
   1.129 +  UdpTestSuite () : TestSuite ("udp", UNIT)
   1.130 +  {
   1.131 +    AddTestCase (new UdpSocketImplTest);
   1.132 +  }
   1.133 +} g_udpTestSuite;
   1.134  
   1.135  }; // namespace ns3
   1.136 -
   1.137 -#endif /* RUN_SELF_TESTS */