mirror of https://github.com/explosion/spaCy.git
Add config resolver test
This commit is contained in:
parent
b57be94c78
commit
8d6448ccf7
|
@ -8,6 +8,7 @@ from spacy.util import registry, load_model_from_config, load_config
|
|||
from spacy.ml.models import build_Tok2Vec_model, build_tb_parser_model
|
||||
from spacy.ml.models import MultiHashEmbed, MaxoutWindowEncoder
|
||||
from spacy.schemas import ConfigSchema, ConfigSchemaPretrain
|
||||
from catalogue import RegistryError
|
||||
|
||||
|
||||
from ..util import make_tempdir
|
||||
|
@ -291,7 +292,6 @@ def test_serialize_parser(parser_config_string):
|
|||
assert model.get_ref("lower").get_dim("nI") == 66
|
||||
|
||||
|
||||
|
||||
def test_config_nlp_roundtrip():
|
||||
"""Test that a config prduced by the nlp object passes training config
|
||||
validation."""
|
||||
|
@ -447,3 +447,21 @@ def test_config_validate_literal(parser_config_string):
|
|||
nlp.add_pipe("parser", config=config)
|
||||
config["model"]["state_type"] = "ner"
|
||||
nlp.add_pipe("parser", config=config)
|
||||
|
||||
|
||||
def test_config_only_resolve_relevant_blocks():
|
||||
"""Test that only the relevant blocks are resolved in the different methods
|
||||
and that invalid blocks are ignored if needed. For instance, the [initialize]
|
||||
shouldn't be resolved at runtime.
|
||||
"""
|
||||
nlp = English()
|
||||
config = nlp.config
|
||||
config["training"]["before_to_disk"] = {"@misc": "nonexistent"}
|
||||
config["initialize"]["lookups"] = {"@misc": "nonexistent"}
|
||||
# This shouldn't resolve [training] or [initialize]
|
||||
nlp = load_model_from_config(config, auto_fill=True)
|
||||
# This will raise for nonexistent value
|
||||
with pytest.raises(RegistryError):
|
||||
nlp.initialize()
|
||||
nlp.config["initialize"]["lookups"] = None
|
||||
nlp.initialize()
|
||||
|
|
Loading…
Reference in New Issue