mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-07 02:02: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>
42 lines
1.3 KiB
Markdown
42 lines
1.3 KiB
Markdown
# Specs checker tool
|
|
|
|
This simple tool helps downloading and parsing [ETH2 specs](https://github.com/ethereum/eth2.0-specs/tree/dev/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:
|
|
```golang
|
|
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:
|
|
```bash
|
|
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:
|
|
```bash
|
|
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:
|
|
```bash
|
|
bazel run //tools/specs-checker check -- --dir $PWD
|
|
```
|