• [gentoo-dev] [PATCH 2/3] tree-sitter-grammar.eclass: Add src_test imple

    From matoro@21:1/5 to All on Sat Dec 3 19:40:02 2022
    These packages have a standard way of implementing a test corpus that
    can be invoked by "tree-sitter test" from dev-util/tree-sitter-cli.
    Some have additional platform-specific tests that are invoked in a
    custom manner, but these are on top of the basic test corpus.

    See:
    https://tree-sitter.github.io/tree-sitter/creating-parsers#command-test
    Bug: https://bugs.gentoo.org/844223
    Closes: https://github.com/gentoo/gentoo/pull/28529
    Signed-off-by: Matoro Mahri <matoro@users.noreply.github.com>
    ---
    eclass/tree-sitter-grammar.eclass | 15 ++++++++++++++-
    1 file changed, 14 insertions(+), 1 deletion(-)

    diff --git a/eclass/tree-sitter-grammar.eclass b/eclass/tree-sitter-grammar.eclass
    index acdb8a7ad73..958b2ce21c7 100644
    --- a/eclass/tree-sitter-grammar.eclass
    +++ b/eclass/tree-sitter-grammar.eclass
    @@ -29,7 +29,10 @@ S="${WORKDIR}"/${PN}-${TS_PV:-${PV}}/src
    # Needed for tree_sitter/parser.h
    DEPEND="dev-libs/tree-sitter"

    -EXPORT_FUNCTIONS src_compile src_install
    +BDEPEND+=" test? ( dev-util/tree-sitter-cli )"
    +IUSE+=" test"
    +
    +EXPORT_FUNCTIONS src_compile src_test src_install

    # @ECLASS_VARIABLE: TS_PV
    # @PRE_INHERIT
    @@ -89,6 +92,16 @@ tree-sitter-grammar_src_compile() {
    -o "${WORKDIR}"/${soname}
    }

    +# @FUNCTION: tree-sitter-grammar_src_test
    +# @DESCRIPTION:
    +# Runs the Tree Sitter parser's test suite.
    +# See:
    https://tree-sitter.github.io/tree-sitter/creating-parsers#command-test +tree-sitter-grammar_src_test() {
    + debug-pri