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
 
virtual ~TestCase ()
 Destructor.
 
std::string GetName () const
 
TestCaseoperator= (const TestCase &)=delete
 

Private Member Functions

void BuildLsa ()
 Builds the LSAs for the topology.
 

Private Attributes

std::vector< GlobalRoutingLSA * > m_lsas
 The 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...
 
- 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.
 
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 391 of file global-route-manager-impl-test-suite.cc.

Constructor & Destructor Documentation

◆ LanRoutesTestCase()

LanRoutesTestCase::LanRoutesTestCase ( )

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

Member Function Documentation

◆ BuildLsa()

void LanRoutesTestCase::BuildLsa ( )
private

Builds the 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 447 of file global-route-manager-impl-test-suite.cc.

References ns3::NodeContainer::Get(), m_lsas, ns3::GlobalRoutingLSA::NetworkLSA, nodes, ns3::GlobalRoutingLSA::RouterLSA, and ns3::GlobalRoutingLinkRecord::TransitNetwork.

Referenced by DoRun().

+ Here is the call graph for this function:
+ 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 505 of file global-route-manager-impl-test-suite.cc.

References BuildLsa(), ns3::Simulator::Destroy(), ns3::NodeContainer::Get(), ns3::Ipv4RoutingTableEntry::GetDest(), ns3::Ipv4RoutingTableEntry::GetGateway(), ns3::Object::GetObject(), m_lsas, nodes, NS_TEST_ASSERT_MSG_EQ, NS_TEST_ASSERT_MSG_NE, ns3::GlobalRouteManager::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 416 of file global-route-manager-impl-test-suite.cc.

References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Create(), ns3::CreateObject(), ns3::NodeContainer::Get(), ns3::SimpleNetDeviceHelper::Install(), and nodes.

+ Here is the call graph for this function:

Member Data Documentation

◆ m_lsas

std::vector<GlobalRoutingLSA*> LanRoutesTestCase::m_lsas
private

The LSAs for the topology.

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

Referenced by BuildLsa(), and DoRun().

◆ nodes

NodeContainer LanRoutesTestCase::nodes
private

NodeContainer to hold the nodes in the topology.

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

Referenced by BuildLsa(), DoRun(), and DoSetup().


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