summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYaroslav Brustinov <ybrustin@cisco.com>2016-10-30 16:10:59 +0200
committerYaroslav Brustinov <ybrustin@cisco.com>2016-10-30 21:00:40 +0200
commitf5817145486df18f92072212117a713cec1e4219 (patch)
treee15cc4f8cf54eaaa9d166b6d750c002dffda7a1f
parent599f4ecd1a2e9fdbe53a848b1dad71a08a67e048 (diff)
add ifdef guard to .h file
remove UUID from TUI STF Python API: show newlines instead of "\n\n\n" in Exception message STF Python API: remove "During handling of the above exception, another exception occurred:" in Python3.3+ dpdk_nic_bind.py: ensure needed PATH exists for lspci etc. t-rex-64: remove "stty: standard input: Inappropriate ioctl for device" t-rex-64: remove "cat: write error: Broken pipe" Signed-off-by: Yaroslav Brustinov <ybrustin@cisco.com>
-rwxr-xr-xscripts/automation/regression/trex_unit_test.py17
-rwxr-xr-xscripts/automation/trex_control_plane/stf/trex_stf_lib/trex_client.py4
-rwxr-xr-xscripts/automation/trex_control_plane/stf/trex_stf_lib/trex_exceptions.py5
-rw-r--r--scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_stats.py3
-rwxr-xr-xscripts/dpdk_nic_bind.py4
-rwxr-xr-xscripts/t-rex-6416
-rw-r--r--src/pal/linux/rte_ethdev_includes.h4
7 files changed, 34 insertions, 19 deletions
diff --git a/scripts/automation/regression/trex_unit_test.py b/scripts/automation/regression/trex_unit_test.py
index 1f066fa9..cd19c790 100755
--- a/scripts/automation/regression/trex_unit_test.py
+++ b/scripts/automation/regression/trex_unit_test.py
@@ -180,20 +180,14 @@ class CTRexTestConfiguringPlugin(Plugin):
CTRexScenario.test = options.test
if self.collect_only or self.functional:
return
-
if CTRexScenario.setup_dir and options.config_path:
raise Exception('Please either define --cfg or use env. variable SETUP_DIR, not both.')
-
- if not CTRexScenario.setup_dir and not options.config_path:
- raise Exception('Please specify path to config.yaml using --cfg parameter or env. variable SETUP_DIR')
-
- if not options.config_path:
+ if not options.config_path and CTRexScenario.setup_dir:
options.config_path = CTRexScenario.setup_dir
- if not CTRexScenario.setup_dir:
- CTRexScenario.setup_dir = options.config_path
-
- CTRexScenario.setup_name = os.path.basename(CTRexScenario.setup_dir)
-
+ if not options.config_path:
+ raise Exception('Please specify path to config.yaml using --cfg parameter or env. variable SETUP_DIR')
+ options.config_path = options.config_path.rstrip('/')
+ CTRexScenario.setup_name = os.path.basename(options.config_path)
self.configuration = misc_methods.load_complete_config_file(os.path.join(options.config_path, 'config.yaml'))
self.configuration.trex['trex_name'] = address_to_ip(self.configuration.trex['trex_name']) # translate hostname to ip
self.benchmark = misc_methods.load_benchmark_config_file(os.path.join(options.config_path, 'benchmark.yaml'))
@@ -327,6 +321,7 @@ if __name__ == "__main__":
if not CTRexScenario.setup_dir:
CTRexScenario.setup_dir = check_setup_path(os.path.join('setups', setup_dir))
+
nose_argv = ['', '-s', '-v', '--exe', '--rednose', '--detailed-errors']
test_client_package = False
if '--test-client-package' in sys.argv:
diff --git a/scripts/automation/trex_control_plane/stf/trex_stf_lib/trex_client.py b/scripts/automation/trex_control_plane/stf/trex_stf_lib/trex_client.py
index ecf6083b..e9d2b8a0 100755
--- a/scripts/automation/trex_control_plane/stf/trex_stf_lib/trex_client.py
+++ b/scripts/automation/trex_control_plane/stf/trex_stf_lib/trex_client.py
@@ -1087,7 +1087,9 @@ class CTRexClient(object):
"""
# handle known exceptions based on known error codes.
# if error code is not known, raise ProtocolError
- raise exception_handler.gen_exception(err)
+ exc = exception_handler.gen_exception(err)
+ exc.__cause__ = None # remove "During handling of the above exception, another exception occurred:" in Python3.3+
+ raise exc
class CTRexResult(object):
diff --git a/scripts/automation/trex_control_plane/stf/trex_stf_lib/trex_exceptions.py b/scripts/automation/trex_control_plane/stf/trex_stf_lib/trex_exceptions.py
index 0de38411..89134e7f 100755
--- a/scripts/automation/trex_control_plane/stf/trex_stf_lib/trex_exceptions.py
+++ b/scripts/automation/trex_control_plane/stf/trex_stf_lib/trex_exceptions.py
@@ -19,11 +19,12 @@ class RPCError(Exception):
def __str__(self):
return self.__repr__()
+
def __repr__(self):
if self.args[2] is not None:
- return u"[errcode:%r] %r. Extended data: %r" % (self.args[0], self.args[1], self.args[2])
+ return u"[errcode:%s] %s. Extended data: %s" % self.args
else:
- return u"[errcode:%r] %r" % (self.args[0], self.args[1])
+ return u"[errcode:%s] %s" % self.args[:2]
class TRexException(RPCError):
"""
diff --git a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_stats.py b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_stats.py
index 875ad24e..9f601484 100644
--- a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_stats.py
+++ b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_stats.py
@@ -217,8 +217,7 @@ class CTRexInfoGenerator(object):
stats_data_left = OrderedDict([("connection", "{host}, Port {port}".format(host=global_stats.connection_info.get("server"),
port=global_stats.connection_info.get("sync_port"))),
- ("version", "{ver}, UUID: {uuid}".format(ver=global_stats.server_version.get("version", "N/A"),
- uuid="N/A")),
+ ("version", "{ver}".format(ver=global_stats.server_version.get("version", "N/A"))),
("cpu_util.", "{0}% @ {2} cores ({3} per port) {1}".format( format_threshold(round_float(global_stats.get("m_cpu_util")), [85, 100], [0, 85]),
global_stats.get_trend_gui("m_cpu_util", use_raw = True),
diff --git a/scripts/dpdk_nic_bind.py b/scripts/dpdk_nic_bind.py
index ed0462ec..a85ecb71 100755
--- a/scripts/dpdk_nic_bind.py
+++ b/scripts/dpdk_nic_bind.py
@@ -45,6 +45,10 @@ import getpass
# The PCI device class for ETHERNET devices
ETHERNET_CLASS = "0200"
+PATH = os.getenv('PATH', '')
+needed_path = '.:/bin:/usr/bin:/usr/sbin'
+if needed_path not in PATH:
+ os.environ['PATH'] = '%s:%s' % (PATH, needed_path)
# global dict ethernet devices present. Dictionary indexed by PCI address.
# Each device within this is itself a dictionary of device properties
diff --git a/scripts/t-rex-64 b/scripts/t-rex-64
index 4d0d7813..d2388cfd 100755
--- a/scripts/t-rex-64
+++ b/scripts/t-rex-64
@@ -24,9 +24,16 @@ done <<< "$($PYTHON dpdk_setup_ports.py --dump-pci-description)"
cd $(dirname $0)
export LD_LIBRARY_PATH=$PWD
-saveterm="$(stty -g)"
+
+if [ -t 0 ] && [ -t 1 ]; then
+ export is_tty=true
+ saveterm="$(stty -g)"
+else
+ export is_tty=false
+fi
+
# if we have a new core run optimized trex
-if cat /proc/cpuinfo | grep -q avx ; then
+if grep -q avx /proc/cpuinfo ; then
./_$(basename $0) $INPUT_ARGS
RESULT=$?
if [ $RESULT -eq 132 ]; then
@@ -40,7 +47,10 @@ else
./_t-rex-64-o $INPUT_ARGS
RESULT=$?
fi
-stty $saveterm
+
+if $is_tty; then
+ stty $saveterm
+fi
if [ $RESULT -ne 0 ]; then
exit $RESULT
diff --git a/src/pal/linux/rte_ethdev_includes.h b/src/pal/linux/rte_ethdev_includes.h
index de115d77..e957b68b 100644
--- a/src/pal/linux/rte_ethdev_includes.h
+++ b/src/pal/linux/rte_ethdev_includes.h
@@ -1,3 +1,6 @@
+#ifndef __RTE_ETHDEV_INCLUDES_H__
+#define __RTE_ETHDEV_INCLUDES_H__
+
struct rte_eth_link {
int link_autoneg;
int link_speed;
@@ -21,3 +24,4 @@ struct rte_eth_fc_conf {
struct rte_eth_dev_info {
};
+#endif /* __RTE_ETHDEV_INCLUDES_H__ */