tree: 61086e526018b5d4ba201cebf8ed1ff427832269 [path history] [tgz]
  1. BUILD.gn
  2. README.md
  3. main.go
tools/fidl/fidlcparsequality/README.md

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