From dc3efb44b1b30554f2aa46752cf0db119b79ee6c Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Thu, 6 Jun 2019 12:19:59 +0000 Subject: Python3: TRex driver Change-Id: I25f7598b52c87ec1a2d4c6f22680d5200b583e2c Signed-off-by: Peter Mikus --- resources/tools/trex/trex_server_info.py | 19 +++++-------------- resources/tools/trex/trex_stateless_profile.py | 19 +++++-------------- resources/tools/trex/trex_stateless_stop.py | 22 +++++----------------- 3 files changed, 15 insertions(+), 45 deletions(-) (limited to 'resources/tools/trex') diff --git a/resources/tools/trex/trex_server_info.py b/resources/tools/trex/trex_server_info.py index da49bfc742..eaab6d794a 100755 --- a/resources/tools/trex/trex_server_info.py +++ b/resources/tools/trex/trex_server_info.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 # Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); @@ -32,30 +32,21 @@ sys.path.insert(0, "/opt/trex-core-2.54/scripts/automation/"+\ "trex_control_plane/interactive/") from trex.stl.api import * -def get_server_system_info(): - """Check server info and quit. - - :return: nothing - """ - # create client +def main(): + """Check server info and quit.""" client = STLClient() - try: # connect to server client.connect() + # get server info print(client.get_server_system_info()) except STLError as ex_error: - sys.stderr.write(str(ex_error)) + print(ex_error, file=sys.stderr) sys.exit(1) finally: client.disconnect() -def main(): - """Main function.""" - get_server_system_info() - - if __name__ == "__main__": main() diff --git a/resources/tools/trex/trex_stateless_profile.py b/resources/tools/trex/trex_stateless_profile.py index e77c1365a4..15e2157057 100755 --- a/resources/tools/trex/trex_stateless_profile.py +++ b/resources/tools/trex/trex_stateless_profile.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 # Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); @@ -39,7 +39,6 @@ def fmt_latency(lat_min, lat_avg, lat_max): :return: Formatted and rounded output "min/avg/max" :rtype: string """ - try: t_min = int(round(float(lat_min))) except ValueError: @@ -96,7 +95,6 @@ def simple_burst(profile_file, duration, framesize, rate, warmup_time, port_0, :type async_start: bool :type unidirection: bool """ - client = None total_rcvd = 0 total_sent = 0 @@ -168,8 +166,7 @@ def simple_burst(profile_file, duration, framesize, rate, warmup_time, port_0, stats = client.get_stats() print("##### Warmup statistics #####") - print(json.dumps(stats, indent=4, separators=(',', ': '), - sort_keys=True)) + print(json.dumps(stats, indent=4, separators=(',', ': '))) lost_a = stats[port_0]["opackets"] - stats[port_1]["ipackets"] if not unidirection: @@ -201,8 +198,7 @@ def simple_burst(profile_file, duration, framesize, rate, warmup_time, port_0, stats = client.get_stats() print("##### Statistics #####") - print(json.dumps(stats, indent=4, separators=(',', ': '), - sort_keys=True)) + print(json.dumps(stats, indent=4, separators=(',', ': '))) lost_a = stats[port_0]["opackets"] - stats[port_1]["ipackets"] if not unidirection: @@ -232,8 +228,8 @@ def simple_burst(profile_file, duration, framesize, rate, warmup_time, port_0, print("packets lost from {p_1} --> {p_0}: {v} pkts".format( p_0=port_0, p_1=port_1, v=lost_b)) - except STLError as err: - sys.stderr.write("{0}\n".format(err)) + except STLError as ex_error: + print(ex_error, file=sys.stderr) sys.exit(1) finally: @@ -243,10 +239,6 @@ def simple_burst(profile_file, duration, framesize, rate, warmup_time, port_0, else: if client: client.disconnect() - if isinstance(rate, unicode): - rate = rate.encode("utf-8") - if isinstance(duration, unicode): - duration = duration.encode("utf-8") print("rate={0!r}, totalReceived={1}, totalSent={2}, " "frameLoss={3}, latencyStream0(usec)={4}, " "latencyStream1(usec)={5}, targetDuration={d!r}". @@ -260,7 +252,6 @@ def main(): It verifies the given command line arguments and runs "simple_burst" function. """ - parser = argparse.ArgumentParser() parser.add_argument("-p", "--profile", required=True, diff --git a/resources/tools/trex/trex_stateless_stop.py b/resources/tools/trex/trex_stateless_stop.py index 37988e72f4..9ded59a041 100755 --- a/resources/tools/trex/trex_stateless_stop.py +++ b/resources/tools/trex/trex_stateless_stop.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 # Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); @@ -33,14 +33,9 @@ sys.path.insert(0, "/opt/trex-core-2.54/scripts/automation/"+\ from trex.stl.api import * -def stop_all_traffic_streams(): - """Stop traffic if any is running. - - :return: nothing - """ - # create client +def main(): + """Stop traffic if any is running.""" client = STLClient() - try: # connect to server client.connect() @@ -52,8 +47,7 @@ def stop_all_traffic_streams(): stats = client.get_stats() print("#####statistics (approx.)#####") - print(json.dumps(stats, indent=4, - separators=(',', ': '), sort_keys=True)) + print(json.dumps(stats, indent=4, separators=(',', ': '))) lost_a = stats[0]["opackets"] - stats[1]["ipackets"] lost_b = stats[1]["opackets"] - stats[0]["ipackets"] @@ -61,16 +55,10 @@ def stop_all_traffic_streams(): print("\npackets lost from 0 --> 1: {0} pkts".format(lost_a)) print("packets lost from 1 --> 0: {0} pkts".format(lost_b)) except STLError as ex_error: - sys.stderr.write(str(ex_error)) + print(ex_error, file=sys.stderr) sys.exit(1) finally: client.disconnect() - -def main(): - """Main function.""" - stop_all_traffic_streams() - - if __name__ == "__main__": main() -- cgit 1.2.3-korg