Add `doc` param to `unittest.make` (#464)

This commit is contained in:
UebelAndre 2023-10-31 00:52:17 -07:00 committed by GitHub
parent 8da4759611
commit d77c6fbaf7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 2 deletions

View File

@ -426,7 +426,7 @@ Registers the toolchains for unittest users.
## unittest.make ## unittest.make
<pre> <pre>
unittest.make(<a href="#unittest.make-impl">impl</a>, <a href="#unittest.make-attrs">attrs</a>) unittest.make(<a href="#unittest.make-impl">impl</a>, <a href="#unittest.make-attrs">attrs</a>, <a href="#unittest.make-doc">doc</a>)
</pre> </pre>
Creates a unit test rule from its implementation function. Creates a unit test rule from its implementation function.
@ -462,6 +462,7 @@ Recall that names of test rules must end in `_test`.
| :------------- | :------------- | :------------- | | :------------- | :------------- | :------------- |
| <a id="unittest.make-impl"></a>impl | The implementation function of the unit test. | none | | <a id="unittest.make-impl"></a>impl | The implementation function of the unit test. | none |
| <a id="unittest.make-attrs"></a>attrs | An optional dictionary to supplement the attrs passed to the unit test's <code>rule()</code> constructor. | <code>{}</code> | | <a id="unittest.make-attrs"></a>attrs | An optional dictionary to supplement the attrs passed to the unit test's <code>rule()</code> constructor. | <code>{}</code> |
| <a id="unittest.make-doc"></a>doc | A description of the rule that can be extracted by documentation generating tools. | <code>""</code> |
**RETURNS** **RETURNS**

View File

@ -148,7 +148,7 @@ def _impl_function_name(impl):
impl_name = impl_name.partition("<function ")[-1] impl_name = impl_name.partition("<function ")[-1]
return impl_name.rpartition(">")[0] return impl_name.rpartition(">")[0]
def _make(impl, attrs = {}): def _make(impl, attrs = {}, doc = ""):
"""Creates a unit test rule from its implementation function. """Creates a unit test rule from its implementation function.
Each unit test is defined in an implementation function that must then be Each unit test is defined in an implementation function that must then be
@ -178,6 +178,7 @@ def _make(impl, attrs = {}):
impl: The implementation function of the unit test. impl: The implementation function of the unit test.
attrs: An optional dictionary to supplement the attrs passed to the attrs: An optional dictionary to supplement the attrs passed to the
unit test's `rule()` constructor. unit test's `rule()` constructor.
doc: A description of the rule that can be extracted by documentation generating tools.
Returns: Returns:
A rule definition that should be stored in a global whose name ends in A rule definition that should be stored in a global whose name ends in
@ -188,6 +189,7 @@ def _make(impl, attrs = {}):
return rule( return rule(
impl, impl,
doc = doc,
attrs = attrs, attrs = attrs,
_skylark_testable = True, _skylark_testable = True,
test = True, test = True,