From 6aa6c63b05c0b72a5ad45496e6a37e20315d36b3 Mon Sep 17 00:00:00 2001 From: Itamar Turner-Trauring Date: Thu, 7 Sep 2023 17:21:45 -0400 Subject: [PATCH] Make benchmarking results visible by default. --- benchmarks/conftest.py | 6 ++++-- benchmarks/test_cli.py | 12 +++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/benchmarks/conftest.py b/benchmarks/conftest.py index 381bd5670..6ec01cfb8 100644 --- a/benchmarks/conftest.py +++ b/benchmarks/conftest.py @@ -5,6 +5,7 @@ The number of nodes is parameterized via a --number-of-nodes CLI option added to pytest. """ +import sys from shutil import which, rmtree from tempfile import mkdtemp from contextlib import contextmanager @@ -111,14 +112,15 @@ class Benchmarker: """Keep track of benchmarking results.""" @contextmanager - def record(self, name, **parameters): + def record(self, capsys: pytest.CaptureFixture[str], name, **parameters): """Record the timing of running some code, if it succeeds.""" start = time() yield elapsed = time() - start # For now we just print the outcome: parameters = " ".join(f"{k}={v}" for (k, v) in parameters.items()) - print(f"BENCHMARK RESULT: {name} {parameters} elapsed {elapsed} secs") + with capsys.disabled(): + print(f"\nBENCHMARK RESULT: {name} {parameters} elapsed {elapsed} secs\n") @pytest.fixture(scope="session") diff --git a/benchmarks/test_cli.py b/benchmarks/test_cli.py index c514cbd69..0c5f24c05 100644 --- a/benchmarks/test_cli.py +++ b/benchmarks/test_cli.py @@ -14,7 +14,13 @@ def cli_alias(client_node): @pytest.mark.parametrize("file_size", [1000, 100_000, 1_000_000, 10_000_000]) def test_get_put_one_file( - file_size, client_node, cli_alias, tmp_path, tahoe_benchmarker, number_of_nodes + file_size, + client_node, + cli_alias, + tmp_path, + tahoe_benchmarker, + number_of_nodes, + capsys, ): """ Upload a file with ``tahoe put`` and then download it with ``tahoe get``, @@ -26,12 +32,12 @@ def test_get_put_one_file( f.write(DATA) with tahoe_benchmarker.record( - "cli-put-file", file_size=file_size, number_of_nodes=number_of_nodes + capsys, "cli-put-file", file_size=file_size, number_of_nodes=number_of_nodes ): cli(client_node.process, "put", str(file_path), "cli:tostdout") with tahoe_benchmarker.record( - "cli-get-file", file_size=file_size, number_of_nodes=number_of_nodes + capsys, "cli-get-file", file_size=file_size, number_of_nodes=number_of_nodes ): p = Popen( [