Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
[tests] add benchmark
  • Loading branch information
pawelmhm committed Sep 17, 2021
commit ad8b7dbe19298b4f0a098e1feb829a644da0b4ea
6 changes: 0 additions & 6 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
Changes
=======

2.0.0 (2021-09-20)
------------------
* drop Python 2 support
* replace bsddb3 with Python's dbm for storing request data
* [dev workflow] changed from Travis to Github Actions

1.2.1 (2017-02-09)
------------------

Expand Down
31 changes: 31 additions & 0 deletions tests/benchmark.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import tempfile

import mock
from scrapy import Request, Spider
from scrapy.statscollectors import StatsCollector
from scrapy.utils.test import get_crawler

from scrapy_deltafetch import DeltaFetch


def benchmark_middleware(result):
spider_name = 'df_tests'
spider = Spider(spider_name)
temp_dir = tempfile.gettempdir()
crawler = get_crawler(Spider)
stats = StatsCollector(crawler)
mw = DeltaFetch(temp_dir, reset=False, stats=stats)
mw.spider_opened(spider)
response = mock.Mock()
response.request = Request('http://url',
meta={'deltafetch_key': 'key'})

for x in mw.process_spider_output(response, result, spider):
pass

def test_middleware(benchmark):
result = []
for x in range(50000):
request = Request(f'https://{x}')
result.append(request)
result = benchmark(benchmark_middleware, result)
4 changes: 3 additions & 1 deletion tests/requirements-test.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
-r ../requirements.txt
mock
pytest
pytest
pytest-benchmark