A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
FlameRegressionTest Class Reference

FLAME protocol regression test of three stations: More...

#include <flame-regression.h>

+ Inheritance diagram for FlameRegressionTest:
+ Collaboration diagram for FlameRegressionTest:

Public Member Functions

 FlameRegressionTest ()
 
virtual ~FlameRegressionTest ()
 
void CheckResults ()
 
virtual void DoRun ()
 Implementation to actually run this TestCase. More...
 
- Public Member Functions inherited from ns3::TestCase
virtual ~TestCase ()
 Destructor. More...
 
std::string GetName (void) const
 

Private Member Functions

void CreateDevices ()
 
void CreateNodes ()
 
void InstallApplications ()
 

Private Attributes

Ipv4InterfaceContainer m_interfaces
 Needed to install applications. More...
 
NodeContainerm_nodes
 
Time m_time
 Simulation time. More...
 

Additional Inherited Members

- Public Types inherited from ns3::TestCase
enum  TestDuration { 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)
 
void AddTestCase (TestCase *testCase) NS_DEPRECATED
 Add an individual child TestCase case to this TestCase. More...
 
void AddTestCase (TestCase *testCase, enum TestDuration duration)
 Add an individual child TestCase to this test suite. More...
 
bool GetErrorStatus (void) const NS_DEPRECATED
 
TestCaseGetParent () const
 
bool IsStatusFailure (void) const
 
bool IsStatusSuccess (void) const
 
void SetDataDir (std::string directory)
 
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. More...
 
bool MustAssertOnFailure (void) const
 
bool MustContinueOnFailure (void) const
 
std::string CreateDataDirFilename (std::string filename)
 
std::string CreateTempDirFilename (std::string filename)
 

Detailed Description

FLAME protocol regression test of three stations:

* <-----------|----------->   Broadcast frame
*             |----------->|  Unicast frame
*           Source                   Destination
* <-----------|----------->|            |             ARP request
*             |<-----------|----------->|             ARP request
*             |            |<-----------|             ARP reply
*             |<-----------|            |             ARP reply
*             |----------->|            |             Data
*             |            |----------->|             Data
*             |            |<-----------|-----------> PATH_UPDATE (no broadcast was sent)
*             |<-----------|----------->|             PATH_UPDATE
* <-----------|----------->|            |             PATH_UPDATE
*             |            |<-----------|-----------> ARP request
*             |<-----------|----------->|             ARP request
* <-----------|----------->|            |             ARP request
*             |----------->|            |             ARP reply
*             |            |----------->|             ARP reply
*             |            |<-----------|             Data
*             |<-----------|            |             Data
*             |............|............|
*             After five seconds data is transmitted again as
*             broadcast, and PATH_UPDATE is sent
* 

Definition at line 56 of file flame-regression.h.

Constructor & Destructor Documentation

FlameRegressionTest::FlameRegressionTest ( )

Definition at line 45 of file flame-regression.cc.

FlameRegressionTest::~FlameRegressionTest ( )
virtual

Definition at line 51 of file flame-regression.cc.

References m_nodes.

Member Function Documentation

void FlameRegressionTest::CheckResults ( )

Definition at line 140 of file flame-regression.cc.

References NS_PCAP_TEST_EXPECT_EQ, and PREFIX.

Referenced by DoRun().

+ Here is the caller graph for this function:

void FlameRegressionTest::CreateNodes ( )
private

Definition at line 75 of file flame-regression.cc.

References ns3::NodeContainer::Create(), ns3::MobilityHelper::Install(), m_nodes, ns3::MobilityHelper::SetMobilityModel(), and ns3::MobilityHelper::SetPositionAllocator().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void FlameRegressionTest::DoRun ( )
virtual

Implementation to actually run this TestCase.

Subclasses should override this method to conduct their tests.

Implements ns3::TestCase.

Definition at line 57 of file flame-regression.cc.

References CheckResults(), CreateDevices(), CreateNodes(), InstallApplications(), m_nodes, and m_time.

+ Here is the call graph for this function:

void FlameRegressionTest::InstallApplications ( )
private

Member Data Documentation

Ipv4InterfaceContainer FlameRegressionTest::m_interfaces
private

Needed to install applications.

Definition at line 71 of file flame-regression.h.

Referenced by CreateDevices(), and InstallApplications().

NodeContainer* FlameRegressionTest::m_nodes
private
Internal: It is important to have pointers here

Definition at line 67 of file flame-regression.h.

Referenced by CreateDevices(), CreateNodes(), DoRun(), InstallApplications(), and ~FlameRegressionTest().

Time FlameRegressionTest::m_time
private

Simulation time.

Definition at line 69 of file flame-regression.h.

Referenced by DoRun(), and InstallApplications().


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