diff options
Diffstat (limited to 'profiler')
-rw-r--r-- | profiler/requirements.txt | 1 | ||||
-rw-r--r-- | profiler/test_for_profiler.py | 24 |
2 files changed, 25 insertions, 0 deletions
diff --git a/profiler/requirements.txt b/profiler/requirements.txt new file mode 100644 index 0000000..c65a7f7 --- /dev/null +++ b/profiler/requirements.txt @@ -0,0 +1 @@ +pytest-profiling diff --git a/profiler/test_for_profiler.py b/profiler/test_for_profiler.py new file mode 100644 index 0000000..0d5e079 --- /dev/null +++ b/profiler/test_for_profiler.py @@ -0,0 +1,24 @@ +"""Test for profiling. + +This test can be useful for profiling, as most of the execution time +will be spent parsing and rendering instead of managing pytest execution +environment. To get and read profiler results: + - `tox -e profile` + - `firefox .tox/prof/combined.svg` +""" +import os +from pathlib import Path + +import tomli + + +def test_for_profiler() -> None: + path = Path(__file__).parent.parent / "benchmark" / "data.toml" + benchmark_toml = path.read_bytes().decode() + # increase the count here to reduce the impact of + # setting up pytest execution environment. Let's keep + # the count low by default because this is part of the + # standard test suite. + iterations = int(os.environ.get("PROFILER_ITERATIONS", 1)) + for _ in range(iterations): + tomli.loads(benchmark_toml) |