A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
LanRoutesTestCase Class Reference

This test case is to check if NetworkRoutes are being built correctly, i.e if route computation works for a LAN Topology. More...

Inheritance diagram for LanRoutesTestCase:
Collaboration diagram for LanRoutesTestCase:

Public Member Functions

 LanRoutesTestCase ()
void DoRun () override
 Implementation to actually run this TestCase.
void DoSetup () override
 Implementation to do any local setup required for this TestCase.
Public Member Functions inherited from ns3::TestCase
 TestCase (const TestCase &)=delete
 Caller graph was not generated because of its size.
virtual ~TestCase ()
 Destructor.
std::string GetName () const
TestCaseoperator= (const TestCase &)=delete

Private Member Functions

void BuildLsav4 ()
 Builds the ipv4 LSAs for the topology.
void BuildLsav6 ()
 Builds the ipv6 LSAs for the topology.

Private Attributes

std::vector< GlobalRoutingLSA< Ipv4Manager > * > m_lsasv4
 The ipv4 LSAs for the topology.
std::vector< GlobalRoutingLSA< Ipv6Manager > * > m_lsasv6
 The ipv6 LSAs for the topology.
NodeContainer nodes
 NodeContainer to hold the nodes in the topology.

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...
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.
TestCaseGetParent () 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.

Detailed Description

This test case is to check if NetworkRoutes are being built correctly, i.e if route computation works for a LAN Topology.

Definition at line 672 of file global-route-manager-impl-test-suite.cc.

Constructor & Destructor Documentation

◆ LanRoutesTestCase()

LanRoutesTestCase::LanRoutesTestCase ( )

Definition at line 699 of file global-route-manager-impl-test-suite.cc.

References ns3::TestCase::TestCase().

Here is the call graph for this function:

Member Function Documentation

◆ BuildLsav4()

void LanRoutesTestCase::BuildLsav4 ( )
private

Builds the ipv4 LSAs for the topology.

These LSAs are manually created and inserted into the GlobalRouteManagerLSDB.Each node exports a router LSA. In addition,the designated router also Exports the Network LSA.

Definition at line 742 of file global-route-manager-impl-test-suite.cc.

References m_lsasv4, ns3::GlobalRoutingLSA< T >::NetworkLSA, nodes, ns3::GlobalRoutingLSA< T >::RouterLSA, and ns3::GlobalRoutingLinkRecord< T >::TransitNetwork.

Referenced by DoRun().

Here is the caller graph for this function:

◆ BuildLsav6()

void LanRoutesTestCase::BuildLsav6 ( )
private

Builds the ipv6 LSAs for the topology.

These LSAs are manually created and inserted into the GlobalRouteManagerLSDB.Each node exports a router LSA. In addition,the designated router also Exports the Network LSA.

Definition at line 803 of file global-route-manager-impl-test-suite.cc.

References m_lsasv6, ns3::GlobalRoutingLSA< T >::NetworkLSA, nodes, ns3::GlobalRoutingLSA< T >::RouterLSA, and ns3::GlobalRoutingLinkRecord< T >::TransitNetwork.

Referenced by DoRun().

Here is the caller graph for this function:

◆ DoRun()

void LanRoutesTestCase::DoRun ( )
overridevirtual

Implementation to actually run this TestCase.

Subclasses should override this method to conduct their tests.

Implements ns3::TestCase.

Definition at line 870 of file global-route-manager-impl-test-suite.cc.

References BuildLsav4(), BuildLsav6(), ns3::Simulator::Destroy(), ns3::Ipv4RoutingTableEntry::GetDest(), ns3::Ipv6RoutingTableEntry::GetDest(), ns3::Ipv4RoutingTableEntry::GetGateway(), ns3::Ipv6RoutingTableEntry::GetGateway(), m_lsasv4, m_lsasv6, nodes, NS_TEST_ASSERT_MSG_EQ, NS_TEST_ASSERT_MSG_NE, ns3::GlobalRouteManager< T >::ResetRouterId(), ns3::Simulator::Run(), ns3::Seconds(), and ns3::Simulator::Stop().

Here is the call graph for this function:

◆ DoSetup()

void LanRoutesTestCase::DoSetup ( )
overridevirtual

Implementation to do any local setup required for this TestCase.

Subclasses should override this method to perform any costly per-test setup before DoRun is invoked.

Reimplemented from ns3::TestCase.

Definition at line 705 of file global-route-manager-impl-test-suite.cc.

References ns3::NetDeviceContainer::Add(), ns3::Ipv6AddressHelper::Assign(), ns3::CreateObject(), ns3::SimpleNetDeviceHelper::Install(), nodes, and ns3::Ipv6AddressHelper::SetBase().

Here is the call graph for this function:

Member Data Documentation

◆ m_lsasv4

std::vector<GlobalRoutingLSA<Ipv4Manager>*> LanRoutesTestCase::m_lsasv4
private

The ipv4 LSAs for the topology.

Definition at line 695 of file global-route-manager-impl-test-suite.cc.

Referenced by BuildLsav4(), and DoRun().

◆ m_lsasv6

std::vector<GlobalRoutingLSA<Ipv6Manager>*> LanRoutesTestCase::m_lsasv6
private

The ipv6 LSAs for the topology.

Definition at line 696 of file global-route-manager-impl-test-suite.cc.

Referenced by BuildLsav6(), and DoRun().

◆ nodes

NodeContainer LanRoutesTestCase::nodes
private

NodeContainer to hold the nodes in the topology.

Definition at line 694 of file global-route-manager-impl-test-suite.cc.

Referenced by BuildLsav4(), BuildLsav6(), DoRun(), and DoSetup().


The documentation for this class was generated from the following file: