• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "object",
3  "required": [
4    "file-name",
5    "isa",
6    "commands"
7  ],
8  "additionalProperties": false,
9  "properties": {
10    "file-name": {
11      "type": "string"
12    },
13    "skip": {
14      "type": "boolean"
15    },
16    "only": {
17      "type": "boolean"
18    },
19    "isa": {
20      "type": "object",
21      "required": [
22        "title",
23        "description"
24      ],
25      "additionalProperties": false,
26      "properties": {
27        "title": {
28          "type": "string"
29        },
30        "description": {
31          "type": "string"
32        },
33        "properties": {
34          "type": "array",
35          "items": {
36            "type": "string"
37          }
38        },
39        "exceptions": {
40          "type": "array",
41          "items": {
42            "type": "string"
43          }
44        },
45        "verification": {
46          "type": "array",
47          "items": {
48            "type": "string"
49          }
50        },
51        "instructions": {
52          "type": "array",
53          "items": {
54            "type": "object",
55            "additionalProperties": true,
56            "required": [
57              "sig",
58              "format"
59            ],
60            "properties": {
61              "sig": {
62                "type": "string"
63              },
64              "format": {
65                "type": "array",
66                "items": {
67                  "type": "string"
68                }
69              },
70              "type": {
71                "type": "string"
72              },
73              "dtype": {
74                "type": "string"
75              }
76            }
77          }
78        }
79      }
80    },
81    "commands": {
82      "type": "array",
83      "items": {
84        "type": "object",
85        "additionalProperties": false,
86        "required": [
87          "file-name",
88          "code-template",
89          "isa"
90        ],
91        "properties": {
92          "isa": {
93            "type": "object",
94            "additionalProperties": false,
95            "properties": {
96              "instructions": {
97                "type": "array",
98                "items": {
99                  "type": "object",
100                  "additionalProperties": true,
101                  "required": [
102                    "sig",
103                    "format"
104                  ],
105                  "properties": {
106                    "sig": {
107                      "type": "string"
108                    },
109                    "format": {
110                      "type": "array",
111                      "items": {
112                        "type": "string"
113                      }
114                    },
115                    "type": {
116                      "type": "string"
117                    },
118                    "dtype": {
119                      "type": "string"
120                    }
121                  }
122                }
123              },
124              "description": {
125                "type": "string"
126              },
127              "exceptions": {
128                "type": "array",
129                "items": {
130                  "type": "string"
131                }
132              },
133              "properties": {
134                "type": "array",
135                "items": {
136                  "type": "string"
137                }
138              },
139              "verification": {
140                "type": "array",
141                "items": {
142                  "type": "string"
143                }
144              }
145            }
146          },
147          "only": {
148            "type": "boolean"
149          },
150          "skip": {
151            "type": "boolean"
152          },
153          "file-name": {
154            "type": "string"
155          },
156          "check-type": {
157            "type": "string",
158            "enum": ["empty", "none", "no-check", "exit-positive", "check-positive", "check-negative", "check-acc-nan-f32", "check-acc-nan-f64", "check-acc-1", "check-acc-minus-1"]
159          },
160          "header-template": {
161            "type": "array",
162            "items": {
163              "type": "string"
164            }
165          },
166          "code-template": {
167            "type": "string"
168          },
169          "ignore": {
170            "type": "boolean"
171          },
172          "tags": {
173            "type": "array",
174            "items": {
175              "type": "string"
176            }
177          },
178          "bugid": {
179            "type": "array",
180            "items": {
181              "type": "string"
182            }
183          },
184          "panda-options": {
185            "type": "string"
186          },
187          "runner-options": {
188            "type": "array",
189            "items": {
190              "type": "string",
191              "enum": ["compile-failure", "compile-only", "run-failure", "use-pa", "verifier-only", "verifier-failure", "verifier-config", ""]
192            }
193          },
194          "description": {
195            "type": "string"
196          },
197          "template-cases": {
198            "type": "array",
199            "items": {
200              "type": "object",
201              "additionalProperties": false,
202              "required": ["values"],
203              "properties": {
204                "ignore": {
205                  "type": "boolean"
206                },
207                "tags": {
208                  "type": "array",
209                  "items": {
210                    "type": "string"
211                  }
212                },
213                "bugid": {
214                  "type": "array",
215                  "items": {
216                    "type": "string"
217                  }
218                },
219                "values": {
220                  "type": "array",
221                  "items": {
222                    "type": [ "string","number" ]
223                  }
224                },
225                "exclude": {
226                  "type": "array",
227                  "items": {
228                    "type": [ "string","integer" ]
229                  }
230                }
231              }
232            }
233          },
234          "cases": {
235            "type": "array",
236            "items": {
237              "type": "object",
238              "additionalProperties": false,
239              "properties": {
240                "case-template": {
241                  "type": "string"
242                },
243                "case-header-template": {
244                  "type": "array",
245                  "items":  {
246                    "type": "string"
247                  }
248                },
249                "values": {
250                  "type": "array",
251                  "items": {
252                    "type": [ "string","number" ]
253                  }
254                },
255                "id": {
256                  "type": [ "string", "integer" ]
257                },
258                "ignore": {
259                  "type": "boolean"
260                },
261                "tags": {
262                  "type": "array",
263                  "items": {
264                    "type": "string"
265                  }
266                },
267                "bugid": {
268                  "type": "array",
269                  "items": {
270                    "type": "string"
271                  }
272                },
273                "case-check-type": {
274                  "type": "string",
275                  "enum": ["empty", "none", "no-check", "exit-positive", "check-positive", "check-negative", "check-acc-nan-f32", "check-acc-nan-f64", "check-acc-1", "check-acc-minus-1"]
276                },
277                "runner-options" : {
278                  "type": "array",
279                  "items": {
280                    "type": "string",
281                    "enum": ["compile-failure", "compile-only", "run-failure", "use-pa", "verifier-only", "verifier-failure", "verifier-config", ""]
282                  }
283                },
284                "description": {
285                  "type": "string"
286                }
287              },
288              "anyOf": [
289                { "required": ["values"] },
290                { "required": ["case-template"] }
291              ]
292            }
293          }
294        }
295      }
296    }
297  }
298}
299