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


./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