diff --git a/spacy/cli/find_function.py b/spacy/cli/find_function.py index 9f12d2259..f99ce2adc 100644 --- a/spacy/cli/find_function.py +++ b/spacy/cli/find_function.py @@ -32,7 +32,7 @@ def find_function_cli( if not registry_name: msg.fail( - f"Couldn't find registered function: {func_name}", + f"Couldn't find registered function: '{func_name}'", exits=1, ) @@ -65,5 +65,5 @@ def find_function(func_name: str, registry_name: str) -> Tuple[str, int]: assert registry_path is not None assert line_no is not None - msg.good(f"Found registered function at {registry_path}:{line_no}") + msg.good(f"Found registered function '{func_name}' at {registry_path}:{line_no}") return str(registry_path), int(line_no) diff --git a/spacy/tests/test_cli_app.py b/spacy/tests/test_cli_app.py index 3a426113b..0e6d8e252 100644 --- a/spacy/tests/test_cli_app.py +++ b/spacy/tests/test_cli_app.py @@ -233,3 +233,37 @@ def test_project_push_pull(project_dir): result = CliRunner().invoke(app, ["project", "pull", remote, str(project_dir)]) assert result.exit_code == 0 assert test_file.is_file() + + +def test_find_function_valid(): + # example of architecture in main code base + function = "spacy.TextCatBOW.v2" + result = CliRunner().invoke(app, ["find-function", function, "-r", "architectures"]) + assert f"Found registered function '{function}'" in result.stdout + assert "textcat.py" in result.stdout + + result = CliRunner().invoke(app, ["find-function", function]) + assert f"Found registered function '{function}'" in result.stdout + assert "textcat.py" in result.stdout + + # example of architecture in spacy-legacy + function = "spacy.TextCatBOW.v1" + result = CliRunner().invoke(app, ["find-function", function]) + assert f"Found registered function '{function}'" in result.stdout + assert "spacy_legacy" in result.stdout + assert "textcat.py" in result.stdout + + +def test_find_function_invalid(): + # invalid registry + function = "spacy.TextCatBOW.v2" + registry = "foobar" + result = CliRunner().invoke( + app, ["find-function", function, "--registry", registry] + ) + assert f"Unknown function registry: '{registry}'" in result.stdout + + # invalid function + function = "spacy.TextCatBOW.v666" + result = CliRunner().invoke(app, ["find-function", function]) + assert f"Couldn't find registered function: '{function}'" in result.stdout