summaryrefslogtreecommitdiffstats
path: root/scripts/automation/trex_control_plane/server/trex_server.py
diff options
context:
space:
mode:
authorYaroslav Brustinov <ybrustin@cisco.com>2015-12-13 18:00:40 +0200
committerYaroslav Brustinov <ybrustin@cisco.com>2015-12-13 18:00:40 +0200
commitca565fd24f0336d704410d69fe67b70405f2a38c (patch)
treebf4479cfcceee977e43a4a87a49c033ff871b3f9 /scripts/automation/trex_control_plane/server/trex_server.py
parent301341ddb1bf17387d7fea19667bedd40fce4509 (diff)
parent3b66e1dd3b9c5b1895f7302c36c6bfc476492a56 (diff)
Merge branch 'get_logs_and_version'
Diffstat (limited to 'scripts/automation/trex_control_plane/server/trex_server.py')
-rwxr-xr-xscripts/automation/trex_control_plane/server/trex_server.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/scripts/automation/trex_control_plane/server/trex_server.py b/scripts/automation/trex_control_plane/server/trex_server.py
index b1ce54e1..9868d6c8 100755
--- a/scripts/automation/trex_control_plane/server/trex_server.py
+++ b/scripts/automation/trex_control_plane/server/trex_server.py
@@ -26,6 +26,7 @@ from trex_launch_thread import AsynchronousTRexSession
from zmq_monitor_thread import ZmqMonitorSession
from argparse import ArgumentParser, RawTextHelpFormatter
from json import JSONEncoder
+import re
# setup the logger
@@ -167,15 +168,17 @@ class CTRexServer(object):
logger.info("Processing get_trex_daemon_log() command.")
return self._pull_file('/var/log/trex/trex_daemon_server.log')
- # get Trex version from ./t-rex-64 --help (last 4 lines)
+ # get Trex version from ./t-rex-64 --help (last lines starting with "Version : ...")
def get_trex_version (self, base64 = True):
try:
logger.info("Processing get_trex_version() command.")
if not self.trex_version:
help_print = subprocess.Popen(['./t-rex-64', '--help'], cwd = self.TREX_PATH, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
- help_print.wait()
- help_print_stdout = help_print.stdout.read()
- self.trex_version = binascii.b2a_base64('\n'.join(help_print_stdout.split('\n')[-5:-1]))
+ (stdout, stderr) = help_print.communicate()
+ search_result = re.search('\n\s*(Version\s*:.+)', stdout, re.DOTALL)
+ if not search_result:
+ raise Exception('Could not determine version from ./t-rex-64 --help')
+ self.trex_version = binascii.b2a_base64(search_result.group(1))
if base64:
return self.trex_version
else: