summaryrefslogtreecommitdiff
path: root/eclass/tree-sitter-grammar.eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-12-06 03:08:16 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-12-06 03:08:16 +0000
commit7bf9e3db263e64d6cbc306440a7f3c44e551bb13 (patch)
tree69c4367f0e4c2350bfb04e76bb55bfc2e353b052 /eclass/tree-sitter-grammar.eclass
parent7ac0e89e1c8027ed5be76f6005e8cb52b1e5d484 (diff)
gentoo auto-resync : 06:12:2022 - 03:08:16
Diffstat (limited to 'eclass/tree-sitter-grammar.eclass')
-rw-r--r--eclass/tree-sitter-grammar.eclass16
1 files changed, 15 insertions, 1 deletions
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.