From f063d4be6fcb0ac7cc9e5590321414efd063b43d Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Thu, 9 Feb 2017 21:56:06 +0100 Subject: [PATCH] Add a benchmark for qute:history --- misc/requirements/requirements-tests.txt | 1 + misc/requirements/requirements-tests.txt-raw | 1 + tests/unit/browser/test_qutescheme.py | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+) diff --git a/misc/requirements/requirements-tests.txt b/misc/requirements/requirements-tests.txt index 1fb75ae0c..703faa2ec 100644 --- a/misc/requirements/requirements-tests.txt +++ b/misc/requirements/requirements-tests.txt @@ -19,6 +19,7 @@ parse-type==0.3.4 py==1.4.32 pytest==3.0.6 pytest-bdd==2.18.1 +pytest-benchmark==3.0.0 pytest-catchlog==1.2.2 pytest-cov==2.4.0 pytest-faulthandler==1.3.1 diff --git a/misc/requirements/requirements-tests.txt-raw b/misc/requirements/requirements-tests.txt-raw index 619095ad8..d0f3bec52 100644 --- a/misc/requirements/requirements-tests.txt-raw +++ b/misc/requirements/requirements-tests.txt-raw @@ -6,6 +6,7 @@ httpbin hypothesis pytest pytest-bdd +pytest-benchmark pytest-catchlog pytest-cov pytest-faulthandler diff --git a/tests/unit/browser/test_qutescheme.py b/tests/unit/browser/test_qutescheme.py index f210c2e56..5ceecb7f8 100644 --- a/tests/unit/browser/test_qutescheme.py +++ b/tests/unit/browser/test_qutescheme.py @@ -119,3 +119,21 @@ class TestHistoryHandler: dates.tomorrow.strftime("%Y-%m-%d")) _mimetype, data = qutescheme.qute_history(url) assert "Next" not in data + + def test_qute_history_benchmark(self, dates, entries, fake_web_history, + benchmark): + for i in range(100000): + entry = history.Entry( + atime=str(dates.yesterday.timestamp()), + url=QUrl('www.yesterday.com/{}'.format(i)), + title='yesterday') + fake_web_history._add_entry(entry) + fake_web_history._add_entry(entries.today) + fake_web_history._add_entry(entries.tomorrow) + + url = QUrl("qute://history") + _mimetype, data = benchmark(qutescheme.qute_history, url) + + assert "today" in data + assert "tomorrow" not in data + assert "yesterday" not in data