summaryrefslogtreecommitdiff
path: root/rules/test
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2024-08-20 17:04:45 +0200
committerKlaus Aehlig <klaus.aehlig@huawei.com>2024-08-20 17:04:45 +0200
commitca95cae08face337fc9072030ffa882173b9bd55 (patch)
tree695323cb9b7956bf3660b98ba181509b559f56ab /rules/test
parent1a485e949b79054d3bb7c896f27b302a8e7203c5 (diff)
parent591339c7e794162250b01aec5a8b43049b49079b (diff)
downloadrules-cc-ca95cae08face337fc9072030ffa882173b9bd55.tar.gz
Merge subtree 'rules' into rules-cc
Diffstat (limited to 'rules/test')
-rw-r--r--rules/test/RULES45
1 files changed, 45 insertions, 0 deletions
diff --git a/rules/test/RULES b/rules/test/RULES
new file mode 100644
index 0000000..9fb11e3
--- /dev/null
+++ b/rules/test/RULES
@@ -0,0 +1,45 @@
+{ "suite":
+ { "doc":
+ [ "Form a compound target out of many test targets."
+ , ""
+ , "More precisely, take the runfiles of the given \"deps\", take their"
+ , "disjoint union and stage the result. Also propagate relevant"
+ , "providers."
+ ]
+ , "tainted": ["test"]
+ , "target_fields": ["deps"]
+ , "string_fields": ["stage"]
+ , "imports":
+ { "runfiles": ["", "field_runfiles"]
+ , "list_provider": ["", "field_list_provider"]
+ }
+ , "expression":
+ { "type": "let*"
+ , "bindings":
+ [ ["fieldname", "deps"]
+ , ["runfiles", {"type": "CALL_EXPRESSION", "name": "runfiles"}]
+ , [ "stage"
+ , { "type": "join"
+ , "separator": "/"
+ , "$1": {"type": "FIELD", "name": "stage"}
+ }
+ ]
+ , [ "staged results"
+ , { "type": "to_subdir"
+ , "subdir": {"type": "var", "name": "stage"}
+ , "$1": {"type": "var", "name": "runfiles"}
+ }
+ ]
+ , ["provider", "lint"]
+ , ["lint", {"type": "CALL_EXPRESSION", "name": "list_provider"}]
+ , ["lint", {"type": "nub_right", "$1": {"type": "var", "name": "lint"}}]
+ ]
+ , "body":
+ { "type": "RESULT"
+ , "artifacts": {"type": "var", "name": "staged results"}
+ , "runfiles": {"type": "var", "name": "staged results"}
+ , "provides": {"type": "env", "vars": ["lint"]}
+ }
+ }
+ }
+}