Reconf tests: Fix async measurements 20/22120/19
authorVratko Polak <vrpolak@cisco.com>
Mon, 23 Sep 2019 13:00:00 +0000 (15:00 +0200)
committerVratko Polak <vrpolak@cisco.com>
Tue, 24 Sep 2019 07:47:06 +0000 (07:47 +0000)
commitbab0b570345ceb6ffeaec9e47a50e62d7303387e
tree4ddb29534d9dd1048d1561cc0b93474323c6705b
parentc7c31d5a09cd56ac5faab8d6f690aea00fa9e051
Reconf tests: Fix async measurements

TRex does not zero the server counters.
It copies the values to use as reference,
and subtracts them when asked for results.

But the reference is stored in the client (not the server).
And CSIT uses different scripts to start and stop async traffic,
which means different clients.

This patch introduces a workaround.
Async start will return xstats objects to use as reference,
and async stop will use the objects to compute the correct results.
The xstats objects are stored in TrafficGenerator instance.
Sync measurement does not export the counters, to shorten logs.

Other improvements:
+ Make stop_traffic_on_tg return measurement results directly.
+ Rename --async to --async_start as "async" is reserved in Python 3.7
+ Minor pylint, docstring and typo fixes.

Change-Id: I5fc56a0763afb7d62cfa7c0651f96b6867de3e15
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
resources/libraries/python/TrafficGenerator.py
resources/libraries/robot/performance/performance_utils.robot
resources/tools/trex/trex_stateless_profile.py
resources/tools/trex/trex_stateless_stop.py