mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-25 12:57:18 +00:00
3d3b9d1217
* Add specdocs static code analyzer * docs pulling script * update content pulling script * add test * better parsing of incoming docs * update test * implements analyzer * separate tool * remove analyzer code * cleanup * deep source fixes * untrack raw specs files * add back phase0 defs * update spec texts * re-arrange code * updated spec list * cleanup * more comments and readme * add merkle proofs specs * add extra.md * mark wrong length issue * update readme * update readme * remove non-def snippets * update comment * check numrows * ignore last empty line Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
1.3 KiB
1.3 KiB
Specs checker tool
This simple tool helps downloading and parsing ETH2 specs, to be later used for making sure that our reference comments match specs definitions precisely.
Updating the reference specs
See main.go
for a list of files to be downloaded, currently:
var specDirs = map[string][]string{
"specs/phase0": {
"beacon-chain.md",
"fork-choice.md",
"validator.md",
"weak-subjectivity.md",
},
"ssz": {
"merkle-proofs.md",
},
}
To download/update specs:
bazel run //tools/specs-checker download -- --dir=$PWD/tools/specs-checker/data
This will pull the files defined in specDirs
, parse them (extract Python code snippets, discarding any other text),
and save them to the folder from which bazel run //tools/specs-checker check
will be able to embed.
Checking against the reference specs
To check whether reference comments have the matching version of Python specs:
bazel run //tools/specs-checker check -- --dir $PWD/beacon-chain
bazel run //tools/specs-checker check -- --dir $PWD/validator
bazel run //tools/specs-checker check -- --dir $PWD/shared
Or, to check the whole project:
bazel run //tools/specs-checker check -- --dir $PWD