summaryrefslogtreecommitdiff
path: root/test/RULES
blob: b8d8116c799930969f4c0b39a9ac89c0588aa58c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
{ "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"]
  , "field_doc":
    { "deps": ["The targets that suite is composed of."]
    , "stage":
      [ "The logical location this test suite is to be placed."
      , "Individual entries will be joined with \"/\"."
      ]
    }
  , "artifacts_doc":
    [ "The disjoint union of the runfiles of the \"deps\" targets"
    , "staged as the location given by \"stage\"."
    ]
  , "runfiles_doc": ["Same as artifacts."]
  , "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"]}
      }
    }
  }
}