From 917daac5c578b5b19769cb733b611e68c1e58ce1 Mon Sep 17 00:00:00 2001 From: Erik Gilling Date: Mon, 18 Apr 2022 19:05:16 +0000 Subject: [PATCH] pw_transfer: Add transfer rate to integration test Change-Id: Id6e8e060d22cfa950ac41383af5e5af6e9c9d41d Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/91981 Reviewed-by: Ted Pudlik Commit-Queue: Erik Gilling --- .../integration_test/cross_language_integration_test.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pw_transfer/integration_test/cross_language_integration_test.py b/pw_transfer/integration_test/cross_language_integration_test.py index 2d40bf5cce..8fe1828f4b 100644 --- a/pw_transfer/integration_test/cross_language_integration_test.py +++ b/pw_transfer/integration_test/cross_language_integration_test.py @@ -26,6 +26,7 @@ import random import sys import tempfile +import time from typing import List import unittest @@ -256,12 +257,18 @@ async def _perform_write(self, server_config: config_pb2.ServerConfig, await self._server.wait_for_line( "stderr", "Starting pw_rpc server on port", TIMEOUT) + start = time.monotonic() + await self._start_client(client_type, client_config) # No timeout: the client will only exit once the transfer # completes, and this can take a long time for large payloads. await self._client.wait_for_termination(None) self.assertEqual(self._client.returncode(), 0) + duration = time.monotonic() - start + rate = len(payload) / duration + print(f'Client transfer rate: {rate} B/s') + # Wait for the server to exit. await self._server.wait_for_termination(TIMEOUT) self.assertEqual(self._server.returncode(), 0)