author | Hajime Tazaki <tazaki@nict.go.jp> |
Tue, 12 Mar 2013 12:03:42 +0900 | |
changeset 0 | 2661206e024b |
permissions | -rw-r--r-- |
0
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
1 |
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
2 |
/* |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
3 |
* Copyright (c) 2013 Hajime Tazaki, NICT |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
4 |
* |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
5 |
* This program is free software; you can redistribute it and/or modify |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
6 |
* it under the terms of the GNU General Public License version 2 as |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
7 |
* published by the Free Software Foundation; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
8 |
* |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
9 |
* This program is distributed in the hope that it will be useful, |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
12 |
* GNU General Public License for more details. |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
13 |
* |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
14 |
* You should have received a copy of the GNU General Public License |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
15 |
* along with this program; if not, write to the Free Software |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
16 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
17 |
* |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
18 |
* Author: Hajime Tazaki <tazaki@nict.go.jp> |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
19 |
*/ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
20 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
21 |
#include "ns3/network-module.h" |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
22 |
#include "ns3/core-module.h" |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
23 |
#include "ns3/internet-module.h" |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
24 |
#include "ns3/dce-module.h" |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
25 |
#include "ns3/dce-submod-helper.h" |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
26 |
#include "ns3/csma-helper.h" |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
27 |
#include "ns3/v4ping.h" |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
28 |
#include "ns3/ping6.h" |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
29 |
#include "ns3/ethernet-header.h" |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
30 |
#include "ns3/icmpv4.h" |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
31 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
32 |
#define OUTPUT(x) \ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
33 |
{ \ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
34 |
std::ostringstream oss; \ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
35 |
oss << "file=" << __FILE__ << " line=" << __LINE__ << " " \ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
36 |
<< x << std::endl; \ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
37 |
std::string s = oss.str (); \ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
38 |
std::cerr << s.c_str (); \ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
39 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
40 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
41 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
42 |
static std::string g_testError; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
43 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
44 |
extern "C" void dce_manager_test_store_test_error (const char *s) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
45 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
46 |
g_testError = s; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
47 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
48 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
49 |
using namespace ns3; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
50 |
namespace ns3 { |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
51 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
52 |
static void RunIp (Ptr<Node> node, Time at, std::string str) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
53 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
54 |
DceApplicationHelper process; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
55 |
ApplicationContainer apps; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
56 |
process.SetBinary ("ip"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
57 |
process.SetStackSize (1 << 16); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
58 |
process.ResetArguments (); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
59 |
process.ParseArguments (str.c_str ()); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
60 |
apps = process.Install (node); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
61 |
apps.Start (at); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
62 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
63 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
64 |
static void AddAddress (Ptr<Node> node, Time at, const char *name, const char *address) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
65 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
66 |
std::ostringstream oss; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
67 |
oss << "-f inet6 addr add " << address << " dev " << name; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
68 |
RunIp (node, at, oss.str ()); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
69 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
70 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
71 |
class DceDceSubModuleTestCase : public TestCase |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
72 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
73 |
public: |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
74 |
DceDceSubModuleTestCase (std::string testname, Time maxDuration, bool useK, bool skip); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
75 |
void CsmaRxCallback (std::string context, Ptr<const Packet> packet); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
76 |
private: |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
77 |
virtual void DoRun (void); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
78 |
static void Finished (int *pstatus, uint16_t pid, int status); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
79 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
80 |
std::string m_testname; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
81 |
Time m_maxDuration; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
82 |
bool m_useKernel; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
83 |
bool m_pingStatus; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
84 |
bool m_debug; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
85 |
bool m_skip; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
86 |
}; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
87 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
88 |
void |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
89 |
DceDceSubModuleTestCase::CsmaRxCallback (std::string context, Ptr<const Packet> originalPacket) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
90 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
91 |
if (m_pingStatus) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
92 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
93 |
return; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
94 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
95 |
uint16_t protocol; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
96 |
Ptr<Packet> packet = originalPacket->Copy (); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
97 |
EthernetHeader header (false); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
98 |
packet->RemoveHeader (header); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
99 |
protocol = header.GetLengthType (); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
100 |
Ipv4Header v4hdr; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
101 |
Icmpv4Header icmphdr; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
102 |
Ipv6Header v6hdr; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
103 |
Icmpv6Header icmp6hdr; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
104 |
switch (protocol) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
105 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
106 |
case 0x0800: //IPv4 |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
107 |
packet->RemoveHeader (v4hdr); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
108 |
packet->RemoveHeader (icmphdr); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
109 |
if (icmphdr.GetType () == Icmpv4Header::ECHO_REPLY) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
110 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
111 |
m_pingStatus = true; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
112 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
113 |
break; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
114 |
case 0x86DD: //IPv6 |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
115 |
packet->RemoveHeader (v6hdr); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
116 |
packet->RemoveHeader (icmp6hdr); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
117 |
if (icmp6hdr.GetType () == Icmpv6Header::ICMPV6_ECHO_REPLY) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
118 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
119 |
m_pingStatus = true; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
120 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
121 |
break; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
122 |
default: |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
123 |
break; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
124 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
125 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
126 |
// std::cout << context << " " << packet << " protocol " << protocol << std::endl; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
127 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
128 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
129 |
DceDceSubModuleTestCase::DceDceSubModuleTestCase (std::string testname, Time maxDuration, bool useK, bool skip) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
130 |
: TestCase (skip ? "(SKIP) " + testname + (useK ? " (kernel)" : " (ns3)") : "" "Check that process \"" + testname |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
131 |
+ (useK ? " (kernel)" : " (ns3)") + "\" completes correctly."), |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
132 |
m_testname (testname), |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
133 |
m_maxDuration (maxDuration), |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
134 |
m_useKernel (useK), |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
135 |
m_pingStatus (false), |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
136 |
m_debug (false), |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
137 |
m_skip (skip) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
138 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
139 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
140 |
void |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
141 |
DceDceSubModuleTestCase::Finished (int *pstatus, uint16_t pid, int status) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
142 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
143 |
*pstatus = status; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
144 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
145 |
void |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
146 |
DceDceSubModuleTestCase::DoRun (void) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
147 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
148 |
if (m_skip) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
149 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
150 |
return; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
151 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
152 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
153 |
// |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
154 |
// Step 1 |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
155 |
// Node Basic Configuration |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
156 |
// |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
157 |
std::string routerPort; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
158 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
159 |
NodeContainer nodes; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
160 |
nodes.Create (2); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
161 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
162 |
CsmaHelper csma; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
163 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
164 |
NetDeviceContainer devices, dev1, dev2; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
165 |
devices = csma.Install (nodes); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
166 |
dev1 = csma.Install (nodes.Get (0)); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
167 |
dev2 = csma.Install (nodes.Get (1)); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
168 |
DceManagerHelper processManager; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
169 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
170 |
// processManager.SetLoader ("ns3::DlmLoaderFactory"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
171 |
processManager.SetTaskManagerAttribute ("FiberManagerType", |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
172 |
EnumValue (0)); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
173 |
// |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
174 |
// Step 2 |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
175 |
// Address Configuration |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
176 |
// |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
177 |
// |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
178 |
if (m_useKernel == false) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
179 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
180 |
Ipv4AddressHelper ipv4AddrHelper; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
181 |
Ipv6AddressHelper ipv6AddrHelper; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
182 |
// Internet stack install |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
183 |
InternetStackHelper stack; // IPv4 is required for GlobalRouteMan |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
184 |
Ipv4DceRoutingHelper ipv4RoutingHelper; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
185 |
stack.SetRoutingHelper (ipv4RoutingHelper); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
186 |
stack.Install (nodes); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
187 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
188 |
ipv4AddrHelper.SetBase ("10.0.0.0", "255.255.255.0"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
189 |
ipv4AddrHelper.Assign (devices); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
190 |
ipv6AddrHelper.NewNetwork ("2001:db8:0:1::", Ipv6Prefix (64)); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
191 |
ipv6AddrHelper.Assign (devices); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
192 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
193 |
ipv4AddrHelper.SetBase ("11.0.0.0", "255.255.255.0"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
194 |
ipv4AddrHelper.Assign (dev1); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
195 |
ipv6AddrHelper.NewNetwork ("2001:db8:0:2::", Ipv6Prefix (64)); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
196 |
ipv6AddrHelper.Assign (dev1); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
197 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
198 |
ipv4AddrHelper.SetBase ("12.0.0.0", "255.255.255.0"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
199 |
ipv4AddrHelper.Assign (dev2); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
200 |
ipv6AddrHelper.NewNetwork ("2001:db8:0:3::", Ipv6Prefix (64)); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
201 |
ipv6AddrHelper.Assign (dev2); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
202 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
203 |
processManager.SetNetworkStack ("ns3::Ns3SocketFdFactory"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
204 |
processManager.Install (nodes); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
205 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
206 |
routerPort = "ns3-device0"; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
207 |
if (m_debug) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
208 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
209 |
Ptr<OutputStreamWrapper> routingStream = Create<OutputStreamWrapper> ("routes-" + m_testname + ".log", std::ios::out); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
210 |
ipv4RoutingHelper.PrintRoutingTableAllEvery (Seconds (10), routingStream); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
211 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
212 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
213 |
else if (m_useKernel == true) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
214 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
215 |
processManager.SetNetworkStack ("ns3::LinuxSocketFdFactory", |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
216 |
"Library", StringValue ("liblinux.so")); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
217 |
processManager.Install (nodes); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
218 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
219 |
// IP address configuration |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
220 |
AddAddress (nodes.Get (0), Seconds (0.1), "sim0", "2001:db8:0:1::1/64"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
221 |
AddAddress (nodes.Get (0), Seconds (0.1), "sim1", "2001:db8:0:2::1/64"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
222 |
RunIp (nodes.Get (0), Seconds (0.11), "-f inet addr add 10.0.0.1/24 dev sim0"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
223 |
RunIp (nodes.Get (0), Seconds (0.11), "-f inet addr add 11.0.0.1/24 dev sim1"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
224 |
RunIp (nodes.Get (0), Seconds (0.11), "link set lo up"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
225 |
RunIp (nodes.Get (0), Seconds (0.11), "link set sim0 up"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
226 |
RunIp (nodes.Get (0), Seconds (0.11), "link set sim1 up"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
227 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
228 |
AddAddress (nodes.Get (1), Seconds (0.1), "sim0", "2001:db8:0:1::2/64"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
229 |
AddAddress (nodes.Get (1), Seconds (0.1), "sim1", "2001:db8:0:3::2/64"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
230 |
RunIp (nodes.Get (1), Seconds (0.11), "-f inet addr add 10.0.0.2/24 dev sim0"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
231 |
RunIp (nodes.Get (1), Seconds (0.11), "-f inet addr add 12.0.0.1/24 dev sim1"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
232 |
RunIp (nodes.Get (1), Seconds (0.11), "link set lo up"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
233 |
RunIp (nodes.Get (1), Seconds (0.11), "link set sim0 up"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
234 |
RunIp (nodes.Get (1), Seconds (0.11), "link set sim1 up"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
235 |
if (m_debug) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
236 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
237 |
RunIp (nodes.Get (0), Seconds (0.2), "link show"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
238 |
RunIp (nodes.Get (0), Seconds (60.3), "route show table all"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
239 |
RunIp (nodes.Get (1), Seconds (60.3), "route show table all"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
240 |
RunIp (nodes.Get (0), Seconds (0.4), "addr list"); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
241 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
242 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
243 |
routerPort = "sim0"; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
244 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
245 |
DceSubModuleHelper submod; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
246 |
submod.Install (nodes); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
247 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
248 |
if (m_debug) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
249 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
250 |
csma.EnablePcapAll ("dce-submodule-test-" + m_testname + "-" + (m_useKernel ? "kern" : "ns3")); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
251 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
252 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
253 |
// |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
254 |
// Step 3 |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
255 |
// Set up test application if you have |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
256 |
// |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
257 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
258 |
// |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
259 |
// Step 4 |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
260 |
// Now It's ready to GO! |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
261 |
// |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
262 |
if (m_maxDuration.IsStrictlyPositive ()) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
263 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
264 |
Simulator::Stop (m_maxDuration); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
265 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
266 |
Simulator::Run (); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
267 |
Simulator::Destroy (); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
268 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
269 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
270 |
// |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
271 |
// Step 5 |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
272 |
// Vetify the test |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
273 |
// |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
274 |
NS_TEST_ASSERT_MSG_EQ (m_pingStatus, true, "DceSubModule test " << m_testname << " with " << |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
275 |
(m_useKernel ? "kernel" : "ns3") << " did not return successfully: " << g_testError); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
276 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
277 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
278 |
static class DceDceSubModuleTestSuite : public TestSuite |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
279 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
280 |
public: |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
281 |
DceDceSubModuleTestSuite (); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
282 |
private: |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
283 |
} g_processTests; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
284 |
// |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
285 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
286 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
287 |
DceDceSubModuleTestSuite::DceDceSubModuleTestSuite () |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
288 |
: TestSuite ("dce-submodule", UNIT) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
289 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
290 |
typedef struct |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
291 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
292 |
const char *name; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
293 |
int duration; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
294 |
bool useKernel; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
295 |
} testPair; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
296 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
297 |
const testPair tests[] = { |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
298 |
{ "test1", 120, false}, |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
299 |
{ "test2", 120, false}, |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
300 |
}; |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
301 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
302 |
for (unsigned int i = 0; i < sizeof(tests) / sizeof(testPair); i++) |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
303 |
{ |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
304 |
AddTestCase (new DceDceSubModuleTestCase (std::string (tests[i].name), |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
305 |
Seconds (tests[i].duration), tests[i].useKernel, |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
306 |
tests[i].useKernel)); |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
307 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
308 |
} |
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
309 |
|
2661206e024b
initial import for dce submodule
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff
changeset
|
310 |
} // namespace ns3 |