-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathccl-config-schema.json
More file actions
124 lines (124 loc) · 3.28 KB
/
ccl-config-schema.json
File metadata and controls
124 lines (124 loc) · 3.28 KB
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://catconflang.com/schemas/ccl-config.json",
"title": "CCL Test Runner Configuration",
"description": "Configuration schema for CCL (Categorical Configuration Language) test runner",
"type": "object",
"required": ["functions"],
"additionalProperties": false,
"definitions": {
"behaviorName": {
"type": "string",
"enum": [
"array_order_insertion",
"array_order_lexicographic",
"boolean_lenient",
"boolean_strict",
"continuation_tab_preserve",
"continuation_tab_to_space",
"crlf_normalize_to_lf",
"crlf_preserve_literal",
"delimiter_first_equals",
"delimiter_prefer_spaced",
"indent_spaces",
"indent_tabs",
"list_coercion_disabled",
"list_coercion_enabled",
"multiline_values",
"path_traversal",
"tabs_as_content",
"tabs_as_whitespace",
"toplevel_indent_preserve",
"toplevel_indent_strip"
]
}
},
"properties": {
"functions": {
"type": "array",
"description": "CCL functions your implementation supports",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"parse",
"parse_indented",
"build_hierarchy",
"build_model",
"get_string",
"get_int",
"get_bool",
"get_float",
"get_list",
"filter",
"compose",
"expand_dotted",
"canonical_format",
"load",
"print"
]
}
},
"features": {
"type": "array",
"description": "Optional CCL features your implementation supports",
"uniqueItems": true,
"items": {
"type": "string",
"oneOf": [
{
"enum": [
"comments",
"empty_keys",
"multiline",
"multiline_continuation",
"multiline_keys",
"unicode",
"whitespace"
]
},
{
"pattern": "^experimental_"
},
{
"pattern": "^optional_"
}
]
}
},
"behaviors": {
"type": "array",
"description": "Behavioral choices for your implementation (mutually exclusive pairs documented via conflicts field in tests)",
"uniqueItems": true,
"items": { "$ref": "#/definitions/behaviorName" }
},
"optional_behaviors": {
"type": "array",
"description": "Behaviors your implementation supports as opt-in (e.g. via function options) but does not select as primary. Used by tests that allow multiple behavior choices.",
"uniqueItems": true,
"items": { "$ref": "#/definitions/behaviorName" }
},
"variants": {
"type": "array",
"description": "Specification variant choice",
"uniqueItems": true,
"maxItems": 1,
"items": {
"type": "string",
"enum": [
"proposed_behavior",
"reference_compliant"
]
}
},
"skip_tests": {
"type": "array",
"description": "Specific test names to skip",
"uniqueItems": true,
"items": {
"type": "string"
}
}
}
}