diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/Manifest.gz | bin | 37679 -> 37678 bytes | |||
-rw-r--r-- | eclass/tree-sitter-grammar.eclass | 16 |
2 files changed, 15 insertions, 1 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz Binary files differindex 7a15e5a976b7..489a820d2fdf 100644 --- a/eclass/Manifest.gz +++ b/eclass/Manifest.gz diff --git a/eclass/tree-sitter-grammar.eclass b/eclass/tree-sitter-grammar.eclass index acdb8a7ad73b..c607ea9ddfb7 100644 --- a/eclass/tree-sitter-grammar.eclass +++ b/eclass/tree-sitter-grammar.eclass @@ -29,7 +29,11 @@ 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" +RESTRICT+=" !test? ( test )" + +EXPORT_FUNCTIONS src_compile src_test src_install # @ECLASS_VARIABLE: TS_PV # @PRE_INHERIT @@ -89,6 +93,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-print-function ${FUNCNAME} "${@}" + + (cd .. && tree-sitter test) || die "Test suite failed" +} + # @FUNCTION: tree-sitter-grammar_src_install # @DESCRIPTION: # Installs the Tree Sitter parser library. |