Codegen: move rust.doc_test_signature to parametrized pragmas

This commit is contained in:
Paolo Tranquilli
2024-09-20 09:53:57 +02:00
parent 70997e8189
commit 9d6ee09f65
4 changed files with 2 additions and 5 deletions

View File

@@ -55,7 +55,7 @@ def generate(opts, renderer):
continue
assert not adding_code, "Unterminated code block in docstring: " + "\n".join(cls.doc)
test_name = inflection.underscore(cls.name)
signature = cls.rust_doc_test_function
signature = cls.pragmas.get("rust_doc_test_signature", "() -> ()")
fn = signature and Function(f"test_{test_name}", signature)
if fn:
indent = 4 * " "

View File

@@ -98,7 +98,6 @@ class Class:
doc: List[str] = field(default_factory=list)
hideable: bool = False
test_with: Optional[str] = None
rust_doc_test_function: Optional["FunctionInfo"] = "() -> ()" # TODO: parametrized pragmas
def __post_init__(self):
if not isinstance(self.pragmas, dict):

View File

@@ -241,7 +241,7 @@ cpp.add(_Pragma("skip"))
rust.add(_Pragma("skip_doc_test"))
rust.doc_test_signature = lambda signature: _annotate(rust_doc_test_function=signature)
rust.add(_ParametrizedClassPragma("doc_test_signature", lambda signature: signature))
def group(name: str = "") -> _ClassDecorator:

View File

@@ -56,8 +56,6 @@ def _get_class(cls: type) -> schema.Class:
for n, a in cls.__dict__.get("__annotations__", {}).items()
],
doc=schema.split_doc(cls.__doc__),
rust_doc_test_function=cls.__dict__.get("_rust_doc_test_function",
schema.Class.rust_doc_test_function)
)