Merge with head
authorClaudio-Daniel Freire <claudio-daniel.freire@inria.fr>
Wed, 25 May 2011 15:48:27 +0000 (17:48 +0200)
committerClaudio-Daniel Freire <claudio-daniel.freire@inria.fr>
Wed, 25 May 2011 15:48:27 +0000 (17:48 +0200)
examples/big_buck_bunny_480p_h264.ts
src/nepi/testbeds/ns3/factories_metadata_v3_9_RC3.py
src/nepi/testbeds/ns3/traces_metadata_v3_9_RC3.py
test/testbeds/ns3/execute.py

index 938d236..514789a 100644 (file)
Binary files a/examples/big_buck_bunny_480p_h264.ts and b/examples/big_buck_bunny_480p_h264.ts differ
index 4e695dd..990b6ca 100644 (file)
@@ -163,6 +163,17 @@ def wimaxpcap_trace(testbed_instance, guid, trace_id):
     helper = testbed_instance.ns3.WimaxHelper()
     helper.EnablePcap(filepath, element, explicitFilename = True)
 
+def rtt_trace(testbed_instance, guid, trace_id):
+    element = testbed_instance._elements[guid]
+    helper = testbed_instance.ns3.PlotHelper()
+    prefix = "trace-app-%d" % (guid, )
+    filename = helper.GetFilenameFromSource(prefix, element, trace_id)
+    testbed_instance.follow_trace(guid, trace_id, filename)
+    filepath = testbed_instance.trace_filename(guid, trace_id)
+    prefix = filepath[:filepath.find(prefix)+len(prefix)]
+    helper.EnableTrace(element, trace_id, prefix, "T")
+
+
 trace_functions = dict({
     "P2PPcapTrace": p2ppcap_trace,
     "P2PAsciiTrace": p2pascii_trace,
@@ -172,6 +183,7 @@ trace_functions = dict({
     "YansWifiPhyPcapTrace": yanswifipcap_trace,
     "WimaxPcapTrace": wimaxpcap_trace,
     "WimaxAsciiTrace": wimaxascii_trace,
+    "Rtt": rtt_trace,
     })
 
 ### Creation functions ###
@@ -796,6 +808,7 @@ factories_info = dict({
             "Size",
             "StartTime",
             "StopTime"],
+        "traces": ["rtt"],
     }),
      "ns3::dot11s::PeerLink": dict({
         "category": "",
index 9fe457f..b7b074c 100644 (file)
@@ -34,4 +34,8 @@ traces = dict({
                 "name": "WimaxAsciiTrace",
                 "help": "Ascii trace from a wimax network station"
               }),
+    "rtt": dict({
+                "name": "Rtt",
+                "help": "Gnuplot-able trace of round trip times"
+    })
 })
index f82ebf1..a8db9aa 100755 (executable)
@@ -60,6 +60,7 @@ class Ns3ExecuteTestCase(unittest.TestCase):
         instance.defer_create_set(17, "Remote", "10.0.0.2")
         instance.defer_create_set(17, "StartTime", "0s")
         instance.defer_create_set(17, "StopTime", "10s")
+        instance.defer_add_trace(17, "Rtt")
         instance.defer_connect(17, "node", 2, "apps")
 
         instance.do_setup()
@@ -73,8 +74,20 @@ class Ns3ExecuteTestCase(unittest.TestCase):
         while instance.status(17) != STATUS_FINISHED:
             time.sleep(0.1)
         ping_result = instance.trace(14, "P2PAsciiTrace")
+        ping_rtt = instance.trace(17, "Rtt")
         comp_result = "- 9.021 /NodeList/1/DeviceList/0/$ns3::PointToPointNetDevice/TxQueue/Dequeue ns3::PppHeader (Point-to-Point Protocol: IP (0x0021)) ns3::Ipv4Header (tos 0x0 ttl 64 id 9 protocol 1 offset 0 flags [none] length: 84 10.0.0.2 > 10.0.0.1) ns3::Icmpv4Header (type=0, code=0) ns3::Icmpv4Echo (identifier=0, sequence=9)"
+        comp_rtt_result = """41992186ns        41992186ns
+1041992186ns   41992186ns
+2041992186ns   41992186ns
+3041992186ns   41992186ns
+4041992186ns   41992186ns
+5041992186ns   41992186ns
+6041992186ns   41992186ns
+7041992186ns   41992186ns
+8041992186ns   41992186ns
+9041992186ns   41992186ns"""
         self.assertNotEqual(ping_result.find(comp_result), -1)
+        self.assertEqual(ping_rtt.strip(), comp_rtt_result, -1)
         instance.stop()
         instance.shutdown()