6LoWPAN IPHC stateful compression Test More...
Classes | |
struct | Data |
Structure to hold the Rx/Tx packets. More... | |
Public Member Functions | |
SixlowpanIphcStatefulImplTest () | |
void | DoRun () override |
Implementation to actually run this TestCase. | |
Public Member Functions inherited from ns3::TestCase | |
TestCase (const TestCase &)=delete | |
virtual | ~TestCase () |
Destructor. | |
std::string | GetName () const |
TestCase & | operator= (const TestCase &)=delete |
Private Member Functions | |
bool | PromiscReceiveFromSixLowPanDevice (Ptr< NetDevice > device, Ptr< const Packet > packet, uint16_t protocol, const Address &source, const Address &destination, NetDevice::PacketType packetType) |
Promiscuous receive from a SixLowPanNetDevice. | |
bool | ReceiveFromMockDevice (Ptr< NetDevice > device, Ptr< const Packet > packet, uint16_t protocol, const Address &source, const Address &destination, NetDevice::PacketType packetType) |
Receive from a MockDevice. | |
void | SendOnePacket (Ptr< NetDevice > device, Ipv6Address from, Ipv6Address to) |
Send one packet. | |
Private Attributes | |
NetDeviceContainer | m_mockDevices |
MockNetDevice container. | |
std::vector< Data > | m_rxPackets |
Received packets. | |
NetDeviceContainer | m_sixDevices |
SixLowPanNetDevice container. | |
std::vector< Data > | m_txPackets |
Transmitted packets. | |
Additional Inherited Members | |
Public Types inherited from ns3::TestCase | |
enum class | Duration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 } |
How long the test takes to execute. More... | |
Static Public Attributes inherited from ns3::TestCase | |
static constexpr auto | QUICK = Duration::QUICK |
Deprecated test duration simple enums. | |
static constexpr auto | EXTENSIVE = Duration::EXTENSIVE |
static constexpr auto | TAKES_FOREVER = Duration::TAKES_FOREVER |
Protected Member Functions inherited from ns3::TestCase | |
TestCase (std::string name) | |
Constructor. | |
void | AddTestCase (TestCase *testCase, Duration duration=Duration::QUICK) |
Add an individual child TestCase to this test suite. | |
TestCase * | GetParent () const |
Get the parent of this TestCase. | |
bool | IsStatusFailure () const |
Check if any tests failed. | |
bool | IsStatusSuccess () const |
Check if all tests passed. | |
void | SetDataDir (std::string directory) |
Set the data directory where reference trace files can be found. | |
void | ReportTestFailure (std::string cond, std::string actual, std::string limit, std::string message, std::string file, int32_t line) |
Log the failure of this TestCase. | |
bool | MustAssertOnFailure () const |
Check if this run should assert on failure. | |
bool | MustContinueOnFailure () const |
Check if this run should continue on failure. | |
std::string | CreateDataDirFilename (std::string filename) |
Construct the full path to a file in the data directory. | |
std::string | CreateTempDirFilename (std::string filename) |
Construct the full path to a file in a temporary directory. | |
6LoWPAN IPHC stateful compression Test
Definition at line 37 of file sixlowpan-iphc-stateful-test.cc.
SixlowpanIphcStatefulImplTest::SixlowpanIphcStatefulImplTest | ( | ) |
Definition at line 102 of file sixlowpan-iphc-stateful-test.cc.
|
overridevirtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 173 of file sixlowpan-iphc-stateful-test.cc.
References ns3::NetDeviceContainer::Add(), ns3::SixLowPanHelper::AddContext(), ns3::Node::AddDevice(), ns3::Ipv6AddressHelper::Assign(), ns3::NodeContainer::Begin(), ns3::NodeContainer::Create(), ns3::CreateObject(), ns3::Simulator::Destroy(), ns3::NodeContainer::End(), ns3::NetDeviceContainer::Get(), ns3::NodeContainer::Get(), ns3::Ipv6InterfaceContainer::GetAddress(), ns3::Ipv6Address::GetAny(), ns3::SixLowPanIphc::GetCid(), ns3::SixLowPanIphc::GetDac(), ns3::SixLowPanIphc::GetDam(), ns3::Ipv6Header::GetDestination(), ns3::SixLowPanIphc::GetDstContextId(), ns3::SixLowPanIphc::GetM(), ns3::SixLowPanIphc::GetSac(), ns3::SixLowPanIphc::GetSam(), ns3::Ipv6Header::GetSource(), ns3::SixLowPanIphc::GetSrcContextId(), ns3::SixLowPanIphc::HC_COMPR_0, ns3::SixLowPanIphc::HC_COMPR_16, ns3::SixLowPanIphc::HC_COMPR_64, ns3::SixLowPanIphc::HC_INLINE, ns3::InternetStackHelper::Install(), ns3::SixLowPanHelper::Install(), m_mockDevices, m_rxPackets, m_sixDevices, m_txPackets, ns3::Ipv6Address::MakeAutoconfiguredAddress(), ns3::MakeCallback(), ns3::Minutes(), nodes, NS_TEST_EXPECT_MSG_EQ, PromiscReceiveFromSixLowPanDevice(), ReceiveFromMockDevice(), ns3::Simulator::Run(), ns3::Simulator::Schedule(), ns3::Seconds(), SendOnePacket(), ns3::Ipv6AddressHelper::SetBase(), and ns3::Simulator::Stop().
|
private |
Promiscuous receive from a SixLowPanNetDevice.
device | a pointer to the net device which is calling this function |
packet | the packet received |
protocol | the 16 bit protocol number associated with this packet. |
source | the address of the sender |
destination | the address of the receiver |
packetType | type of packet received (broadcast/multicast/unicast/otherhost) |
Definition at line 139 of file sixlowpan-iphc-stateful-test.cc.
References SixlowpanIphcStatefulImplTest::Data::dst, m_rxPackets, SixlowpanIphcStatefulImplTest::Data::packet, and SixlowpanIphcStatefulImplTest::Data::src.
Referenced by DoRun().
|
private |
Receive from a MockDevice.
device | a pointer to the net device which is calling this function |
packet | the packet received |
protocol | the 16 bit protocol number associated with this packet. |
source | the address of the sender |
destination | the address of the receiver |
packetType | type of packet received (broadcast/multicast/unicast/otherhost) |
Definition at line 108 of file sixlowpan-iphc-stateful-test.cc.
References SixlowpanIphcStatefulImplTest::Data::dst, ns3::DynamicCast(), ns3::NetDeviceContainer::Get(), m_mockDevices, m_txPackets, SixlowpanIphcStatefulImplTest::Data::packet, ns3::MockNetDevice::Receive(), ns3::Simulator::ScheduleWithContext(), and SixlowpanIphcStatefulImplTest::Data::src.
Referenced by DoRun().
|
private |
Send one packet.
device | the device to send from |
from | sender address |
to | destination address |
Definition at line 156 of file sixlowpan-iphc-stateful-test.cc.
References ns3::Create(), ns3::Ipv6Header::SetDestination(), ns3::Ipv6Header::SetHopLimit(), ns3::Ipv6Header::SetNextHeader(), ns3::Ipv6Header::SetPayloadLength(), and ns3::Ipv6Header::SetSource().
Referenced by DoRun().
|
private |
MockNetDevice container.
Definition at line 94 of file sixlowpan-iphc-stateful-test.cc.
Referenced by DoRun(), and ReceiveFromMockDevice().
|
private |
Received packets.
Definition at line 50 of file sixlowpan-iphc-stateful-test.cc.
Referenced by DoRun(), and PromiscReceiveFromSixLowPanDevice().
|
private |
SixLowPanNetDevice container.
Definition at line 95 of file sixlowpan-iphc-stateful-test.cc.
Referenced by DoRun().
|
private |
Transmitted packets.
Definition at line 49 of file sixlowpan-iphc-stateful-test.cc.
Referenced by DoRun(), and ReceiveFromMockDevice().