summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/automation/regression/functional_tests/stl_basic_tests.py47
-rw-r--r--scripts/exp/imix.pcapbin39396 -> 39396 bytes
-rw-r--r--scripts/exp/pcap_with_vm.pcapbin2284 -> 2284 bytes
-rw-r--r--scripts/exp/udp_1pkt_simple_test.pcapbin1474 -> 1474 bytes
-rw-r--r--scripts/exp/udp_1pkt_simple_test2.pcapbin1474 -> 1474 bytes
-rw-r--r--scripts/stl/imix.py4
-rw-r--r--scripts/stl/pcap_with_vm.py2
-rw-r--r--scripts/stl/udp_1pkt_simple_test.py2
-rw-r--r--scripts/stl/udp_1pkt_simple_test2.py2
9 files changed, 46 insertions, 11 deletions
diff --git a/scripts/automation/regression/functional_tests/stl_basic_tests.py b/scripts/automation/regression/functional_tests/stl_basic_tests.py
index 8b8f2097..c8a51f6a 100644
--- a/scripts/automation/regression/functional_tests/stl_basic_tests.py
+++ b/scripts/automation/regression/functional_tests/stl_basic_tests.py
@@ -9,8 +9,16 @@ from nose.plugins.attrib import attr
from trex import CTRexScenario
from trex_stl_lib import trex_stl_sim
from trex_stl_lib.trex_stl_streams import STLProfile
-from trex_stl_lib.trex_stl_packet_builder_scapy import RawPcapReader, RawPcapWriter
+from trex_stl_lib.trex_stl_packet_builder_scapy import RawPcapReader, RawPcapWriter, Ether
+from trex_stl_lib.utils.text_opts import *
+
import sys
+
+if sys.version_info > (3,0):
+ from io import StringIO
+else:
+ from cStringIO import StringIO
+
import os
import subprocess
import shlex
@@ -64,9 +72,18 @@ class CStlBasic_Test(functional_general_test.CGeneralFunctional_Test):
raise Exception("cannot find '{0}'".format(name))
- def compare_caps (self, cap1, cap2, max_diff_sec = 0.01):
- pkts1 = list(RawPcapReader(cap1))
- pkts2 = list(RawPcapReader(cap2))
+ def scapy_pkt_show_to_str (self, scapy_pkt):
+ capture = StringIO()
+ save_stdout = sys.stdout
+ sys.stdout = capture
+ scapy_pkt.show()
+ sys.stdout = save_stdout
+ return capture.getvalue()
+
+
+ def compare_caps (self, output, golden, max_diff_sec = 0.01):
+ pkts1 = list(RawPcapReader(output))
+ pkts2 = list(RawPcapReader(golden))
assert_equal(len(pkts1), len(pkts2))
@@ -75,11 +92,29 @@ class CStlBasic_Test(functional_general_test.CGeneralFunctional_Test):
ts2 = float(pkt2[1][0]) + (float(pkt2[1][1]) / 1e6)
if abs(ts1-ts2) > 0.000005: # 5 nsec
- raise AssertionError("TS error: cap files '{0}', '{1}' differ in cap #{2} - '{3}' vs. '{4}'".format(cap1, cap2, i, ts1, ts2))
+ raise AssertionError("TS error: cap files '{0}', '{1}' differ in cap #{2} - '{3}' vs. '{4}'".format(output, golden, i, ts1, ts2))
if pkt1[0] != pkt2[0]:
- raise AssertionError("RAW error: cap files '{0}', '{1}' differ in cap #{2}".format(cap1, cap2, i))
+ errmsg = "RAW error: output file '{0}', differs from golden '{1}' in cap #{2}".format(output, golden, i)
+ print(errmsg)
+
+ print(format_text("\ndifferent fields for packet #{0}:".format(i), 'underline'))
+
+ scapy_pkt1_info = self.scapy_pkt_show_to_str(Ether(pkt1[0])).split('\n')
+ scapy_pkt2_info = self.scapy_pkt_show_to_str(Ether(pkt2[0])).split('\n')
+
+ print(format_text("\nGot:\n", 'bold', 'underline'))
+ for line, ref in zip(scapy_pkt1_info, scapy_pkt2_info):
+ if line != ref:
+ print(format_text(line, 'bold'))
+
+ print(format_text("\nExpected:\n", 'bold', 'underline'))
+ for line, ref in zip(scapy_pkt2_info, scapy_pkt1_info):
+ if line != ref:
+ print(format_text(line, 'bold'))
+ print("\n")
+ raise AssertionError(errmsg)
def run_sim (self, yaml, output, options = "", silent = False, obj = None):
diff --git a/scripts/exp/imix.pcap b/scripts/exp/imix.pcap
index aec8dac8..dff21f25 100644
--- a/scripts/exp/imix.pcap
+++ b/scripts/exp/imix.pcap
Binary files differ
diff --git a/scripts/exp/pcap_with_vm.pcap b/scripts/exp/pcap_with_vm.pcap
index b9476261..afc4bbef 100644
--- a/scripts/exp/pcap_with_vm.pcap
+++ b/scripts/exp/pcap_with_vm.pcap
Binary files differ
diff --git a/scripts/exp/udp_1pkt_simple_test.pcap b/scripts/exp/udp_1pkt_simple_test.pcap
index 2eeec462..a1d3a2e0 100644
--- a/scripts/exp/udp_1pkt_simple_test.pcap
+++ b/scripts/exp/udp_1pkt_simple_test.pcap
Binary files differ
diff --git a/scripts/exp/udp_1pkt_simple_test2.pcap b/scripts/exp/udp_1pkt_simple_test2.pcap
index 002d77dc..2cf16a8f 100644
--- a/scripts/exp/udp_1pkt_simple_test2.pcap
+++ b/scripts/exp/udp_1pkt_simple_test2.pcap
Binary files differ
diff --git a/scripts/stl/imix.py b/scripts/stl/imix.py
index 65e35108..82edbfa5 100644
--- a/scripts/stl/imix.py
+++ b/scripts/stl/imix.py
@@ -8,8 +8,8 @@ class STLImix(object):
def __init__ (self):
# default IP range
- self.ip_range = {'src': {'start': "10.0.0.1", 'end': "10.0.0.254"},
- 'dst': {'start': "8.0.0.1", 'end': "8.0.0.254"}}
+ self.ip_range = {'src': {'start': "16.0.0.1", 'end': "16.0.0.254"},
+ 'dst': {'start': "48.0.0.1", 'end': "48.0.0.254"}}
# default IMIX properties
self.imix_table = [ {'size': 60, 'pps': 28, 'isg':0 },
diff --git a/scripts/stl/pcap_with_vm.py b/scripts/stl/pcap_with_vm.py
index 7cf2906b..4e85bdf4 100644
--- a/scripts/stl/pcap_with_vm.py
+++ b/scripts/stl/pcap_with_vm.py
@@ -34,7 +34,7 @@ class STLPcap(object):
ipg_usec = 10.0,
loop_count = 5,
ip_src_range = None,
- ip_dst_range = {'start' : '10.0.0.1', 'end': '10.0.0.254'},
+ ip_dst_range = {'start' : '16.0.0.1', 'end': '16.0.0.254'},
**kwargs):
vm = self.create_vm(ip_src_range, ip_dst_range)
diff --git a/scripts/stl/udp_1pkt_simple_test.py b/scripts/stl/udp_1pkt_simple_test.py
index 3915412d..5f08af9d 100644
--- a/scripts/stl/udp_1pkt_simple_test.py
+++ b/scripts/stl/udp_1pkt_simple_test.py
@@ -15,7 +15,7 @@ class STLS1(object):
base_pkt_a = Ether()/IP(dst="48.0.0.1",options=IPOption(b'\x01\x01\x01\x00'))/UDP(dport=12,sport=1025)
vm1 = STLScVmRaw([
- STLVmFlowVar(name="src",min_value="10.0.0.1",max_value="10.0.0.10",size=4,op="inc"),
+ STLVmFlowVar(name="src",min_value="16.0.0.1",max_value="16.0.0.10",size=4,op="inc"),
STLVmWrFlowVar(fv_name="src",pkt_offset= "IP.src"),
# checksum
STLVmFixIpv4(offset = "IP")
diff --git a/scripts/stl/udp_1pkt_simple_test2.py b/scripts/stl/udp_1pkt_simple_test2.py
index 617d98b3..190e5439 100644
--- a/scripts/stl/udp_1pkt_simple_test2.py
+++ b/scripts/stl/udp_1pkt_simple_test2.py
@@ -15,7 +15,7 @@ class STLS1(object):
base_pkt_a = Ether()/IP()/IPv6()/IP(dst="48.0.0.1",options=IPOption(b'\x01\x01\x01\x00'))/UDP(dport=12,sport=1025)
vm1 = STLScVmRaw([
- STLVmFlowVar(name="src",min_value="10.0.0.1",max_value="10.0.0.10",size=4,op="inc"),
+ STLVmFlowVar(name="src",min_value="16.0.0.1",max_value="16.0.0.10",size=4,op="inc"),
STLVmWrFlowVar(fv_name="src",pkt_offset= "IP:1.src"),
# checksum
STLVmFixIpv4(offset = "IP:1")