From 20f9a29d20bc198555858e62932bfcfdfd9d8bed Mon Sep 17 00:00:00 2001 From: Martin Lange <martin.lange@ufz.de> Date: Sun, 27 Nov 2022 00:11:23 +0100 Subject: [PATCH] put histograms in artifacts --- .gitignore | 1 + .gitlab-ci.yml | 5 ++++- benchmarks/data/test_tools.py | 14 ++++++++++++++ pyproject.toml | 2 +- 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 4ce653c6..0c434ec4 100644 --- a/.gitignore +++ b/.gitignore @@ -49,6 +49,7 @@ nosetests.xml coverage.xml *.cover .hypothesis/ +/bench/ # Translations *.mo diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b75b5cbf..9bf1a624 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -35,7 +35,10 @@ benchmark: stage: test script: - pip3 install --editable .[test] - - python -m pytest -v benchmarks/ + - python -m pytest -v benchmarks/ --benchmark-histogram bench/bench + artifacts: + paths: + - bench doctest: stage: test diff --git a/benchmarks/data/test_tools.py b/benchmarks/data/test_tools.py index 6b8d61d4..fcd7631b 100644 --- a/benchmarks/data/test_tools.py +++ b/benchmarks/data/test_tools.py @@ -23,12 +23,14 @@ class TestCheckXarray(unittest.TestCase): def setupBenchmark(self, benchmark): self.benchmark = benchmark + @pytest.mark.benchmark(group="tools") def test_check_xarray_01_2x1(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") xdata = full(0.0, "test", info, time) _result = self.benchmark(check, xdata=xdata, name="test", info=info, time=time) + @pytest.mark.benchmark(group="tools") def test_check_xarray_02_128x64(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((128, 64)), units="m") @@ -41,6 +43,7 @@ class TestToXarray(unittest.TestCase): def setupBenchmark(self, benchmark): self.benchmark = benchmark + @pytest.mark.benchmark(group="tools") def test_to_xarray_01_2x1(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") @@ -50,6 +53,7 @@ class TestToXarray(unittest.TestCase): to_xarray, data=data, name="test", info=info, time=time ) + @pytest.mark.benchmark(group="tools") def test_to_xarray_02_128x64(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((128, 64)), units="m") @@ -59,6 +63,7 @@ class TestToXarray(unittest.TestCase): to_xarray, data=data, name="test", info=info, time=time ) + @pytest.mark.benchmark(group="tools") def test_to_xarray_03_2048x1024(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2048, 1024)), units="m") @@ -74,18 +79,21 @@ class TestTimeTools(unittest.TestCase): def setupBenchmark(self, benchmark): self.benchmark = benchmark + @pytest.mark.benchmark(group="tools") def test_strip_time(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") xdata = full(0.0, "test", info, time) _result = self.benchmark(strip_time, xdata=xdata) + @pytest.mark.benchmark(group="tools") def test_assign_time_update(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") xdata = full(0.0, "test", info, time) _result = self.benchmark(assign_time, xdata=xdata, time=dt.datetime(2000, 1, 2)) + @pytest.mark.benchmark(group="tools") def test_assign_time_add(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") @@ -93,12 +101,14 @@ class TestTimeTools(unittest.TestCase): xdata = strip_time(xdata) _result = self.benchmark(assign_time, xdata=xdata, time=dt.datetime(2000, 1, 2)) + @pytest.mark.benchmark(group="tools") def test_get_time(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") xdata = full(0.0, "test", info, time) _result = self.benchmark(get_time, xdata=xdata) + @pytest.mark.benchmark(group="tools") def test_has_time(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") @@ -111,24 +121,28 @@ class TestUnitsTools(unittest.TestCase): def setupBenchmark(self, benchmark): self.benchmark = benchmark + @pytest.mark.benchmark(group="tools") def test_get_units(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") xdata = full(0.0, "test", info, time) _result = self.benchmark(get_units, xdata=xdata) + @pytest.mark.benchmark(group="tools") def test_to_units_2x1(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") xdata = full(0.0, "test", info, time) _result = self.benchmark(to_units, xdata=xdata, units="in") + @pytest.mark.benchmark(group="tools") def test_to_units_128x64(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((128, 64)), units="m") xdata = full(0.0, "test", info, time) _result = self.benchmark(to_units, xdata=xdata, units="in") + @pytest.mark.benchmark(group="tools") def test_to_units_2048x1024(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2048, 1024)), units="m") diff --git a/pyproject.toml b/pyproject.toml index c564e04d..bafe19e3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -67,7 +67,7 @@ doc = [ ] test = [ "pytest-cov>=3", - "pytest-benchmark>=4.0", + "pytest-benchmark[histogram]>=4.0", ] [tool.setuptools] -- GitLab