mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00
Add lru_cache to load_consensus_plugin
This commit is contained in:
parent
fa26113e98
commit
ee2fa053d9
@ -16,6 +16,7 @@ import copy
|
|||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import collections
|
import collections
|
||||||
|
from functools import lru_cache
|
||||||
|
|
||||||
from pkg_resources import iter_entry_points, ResolutionError
|
from pkg_resources import iter_entry_points, ResolutionError
|
||||||
|
|
||||||
@ -218,6 +219,7 @@ def autoconfigure(filename=None, config=None, force=False):
|
|||||||
set_config(newconfig) # sets bigchaindb.config
|
set_config(newconfig) # sets bigchaindb.config
|
||||||
|
|
||||||
|
|
||||||
|
@lru_cache()
|
||||||
def load_consensus_plugin(name=None):
|
def load_consensus_plugin(name=None):
|
||||||
"""Find and load the chosen consensus plugin.
|
"""Find and load the chosen consensus plugin.
|
||||||
|
|
||||||
|
@ -19,3 +19,7 @@ def speedtest_validate_transaction():
|
|||||||
b.validate_transaction(tx_signed)
|
b.validate_transaction(tx_signed)
|
||||||
|
|
||||||
profiler.print_stats()
|
profiler.print_stats()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
speedtest_validate_transaction()
|
||||||
|
@ -58,12 +58,15 @@ def test_load_consensus_plugin_raises_with_invalid_subclass(monkeypatch):
|
|||||||
# Monkeypatch entry_point.load to return something other than a
|
# Monkeypatch entry_point.load to return something other than a
|
||||||
# ConsensusRules instance
|
# ConsensusRules instance
|
||||||
from bigchaindb import config_utils
|
from bigchaindb import config_utils
|
||||||
|
import time
|
||||||
monkeypatch.setattr(config_utils,
|
monkeypatch.setattr(config_utils,
|
||||||
'iter_entry_points',
|
'iter_entry_points',
|
||||||
lambda *args: [type('entry_point', (object), {'load': lambda: object})])
|
lambda *args: [type('entry_point', (object), {'load': lambda: object})])
|
||||||
|
|
||||||
with pytest.raises(TypeError):
|
with pytest.raises(TypeError):
|
||||||
config_utils.load_consensus_plugin()
|
# Since the function is decorated with `lru_cache`, we need to
|
||||||
|
# "miss" the cache using a name that has not been used previously
|
||||||
|
config_utils.load_consensus_plugin(str(time.time()))
|
||||||
|
|
||||||
|
|
||||||
def test_map_leafs_iterator():
|
def test_map_leafs_iterator():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user