| # fidlcparsequality |
| |
| fidlcparsequality is a simple tool which measures the quality of the error |
| reporting of the `fidlc` compiler. It works by taking a base library, and |
| running the compiler on successively mutated version of this base library, |
| then collecting and categorizing the errors reported by the compiler. |
| |
| ## Build and Run |
| |
| fx set core.x64 --with //tools/fidl/fidlcparsequality:host |
| fx build |
| |
| Then |
| |
| ./out/default/host_x64/fidlcparsequality --fidlc out/default/host_x64/fidlc |
| |
| Example output |
| |
| runs: 7382, hardExits: 0, unknownErr 0 |
| ^Invalid library name component .*: 212 |
| ^Multiple struct fields with the same name;: 6 |
| ^cannot specify strictness for .*: 1 |
| ^invalid character .*: 27 |
| ^invalid identifier .*: 15 |
| ^unexpected identifier .*, was expecting .*: 1047 |
| ^unexpected token .*, was expecting .*: 2108 |
| ^unknown type .*: 2388 |