diff options
Diffstat (limited to 'rules/CC/test')
-rw-r--r-- | rules/CC/test/EXPRESSIONS | 19 | ||||
-rw-r--r-- | rules/CC/test/RULES | 20 |
2 files changed, 36 insertions, 3 deletions
diff --git a/rules/CC/test/EXPRESSIONS b/rules/CC/test/EXPRESSIONS index 27d92f3..b12b80d 100644 --- a/rules/CC/test/EXPRESSIONS +++ b/rules/CC/test/EXPRESSIONS @@ -39,6 +39,7 @@ , "test-data" , "summarizer" , "summary artifacts" + , "LINT" ] , "imports": { "artifacts": ["./", "../..", "field_artifacts"] @@ -56,6 +57,7 @@ , "target properties": ["transitions", "target properties"] , "stage": ["./", "../..", "stage_singleton_field"] , "list_provider": ["./", "../..", "field_list_provider"] + , "lint": ["./", "..", "lint information"] } , "expression": { "type": "let*" @@ -96,6 +98,21 @@ , {"type": "CALL_EXPRESSION", "name": "run-libs-args-deps"} ] , ["binary", {"type": "CALL_EXPRESSION", "name": "binary"}] + , [ "lint" + , { "type": "if" + , "cond": {"type": "var", "name": "LINT"} + , "then": + { "type": "let*" + , "bindings": + [ ["hdrs", {"type": "empty_map"}] + , [ "lint-deps fieldnames" + , ["private-hdrs", "srcs", "private-deps"] + ] + ] + , "body": {"type": "CALL_EXPRESSION", "name": "lint"} + } + } + ] , [ "staged test binary" , { "type": "map_union" , "$1": @@ -212,6 +229,7 @@ { "type": "RESULT" , "artifacts": {"type": "var", "name": "test-results"} , "runfiles": {"type": "var", "name": "runfiles"} + , "provides": {"type": "env", "vars": ["lint"]} } } , "then": @@ -386,6 +404,7 @@ { "type": "RESULT" , "artifacts": {"type": "var", "name": "artifacts"} , "runfiles": {"type": "var", "name": "runfiles"} + , "provides": {"type": "env", "vars": ["lint"]} } } } diff --git a/rules/CC/test/RULES b/rules/CC/test/RULES index 244bca0..3401974 100644 --- a/rules/CC/test/RULES +++ b/rules/CC/test/RULES @@ -31,6 +31,7 @@ , "RUNS_PER_TEST" , "ARCH_DISPATCH" , "TEST_SUMMARY_EXECUTION_PROPERTIES" + , "LINT" ] , "implicit": { "defaults": [["./", "..", "defaults"]] @@ -151,6 +152,11 @@ [ "Additional remote-execution properties for the test-summarizing action" , "in case RUNS_PER_TEST is set; defaults to the empty map." ] + , "LINT": + [ "Also provide nodes describing compile actions and header files;" + , "those can be used by lint rules (doing also the config transition)" + , "for additional checks." + ] } , "artifacts_doc": [ "result: the result of this test (\"PASS\" or \"FAIL\"); useful for" @@ -178,6 +184,8 @@ , "config_transitions": { "defaults": [{"type": "CALL_EXPRESSION", "name": "host transition"}] , "private-deps": [{"type": "CALL_EXPRESSION", "name": "host transition"}] + , "private-hdrs": [{"type": "CALL_EXPRESSION", "name": "host transition"}] + , "srcs": [{"type": "CALL_EXPRESSION", "name": "host transition"}] , "data": [{"type": "CALL_EXPRESSION", "name": "host transition"}] , "runner": [{"type": "CALL_EXPRESSION", "name": "host transition"}] } @@ -197,12 +205,16 @@ , "$1": {"type": "FIELD", "name": "stage"} } ] + , ["host-trans", {"type": "CALL_EXPRESSION", "name": "host transition"}] , [ "srcs" , { "type": "to_subdir" , "subdir": {"type": "var", "name": "stage"} , "$1": { "type": "let*" - , "bindings": [["fieldname", "srcs"]] + , "bindings": + [ ["fieldname", "srcs"] + , ["transition", {"type": "var", "name": "host-trans"}] + ] , "body": {"type": "CALL_EXPRESSION", "name": "artifacts"} } } @@ -212,12 +224,14 @@ , "subdir": {"type": "var", "name": "stage"} , "$1": { "type": "let*" - , "bindings": [["fieldname", "private-hdrs"]] + , "bindings": + [ ["fieldname", "private-hdrs"] + , ["transition", {"type": "var", "name": "host-trans"}] + ] , "body": {"type": "CALL_EXPRESSION", "name": "artifacts"} } } ] - , ["host-trans", {"type": "CALL_EXPRESSION", "name": "host transition"}] , ["defaults-transition", {"type": "var", "name": "host-trans"}] , ["deps-transition", {"type": "var", "name": "host-trans"}] , ["deps-fieldnames", ["private-deps", "defaults"]] |