erigon-pulse/cmd/integration/commands/flags.go
ledgerwatch c6f0f8897f
Small fixes in cmd/integration (#799)
* Add datadir option
2020-07-28 20:07:36 +07:00

61 lines
1.7 KiB
Go

package commands
import "github.com/spf13/cobra"
var (
chaindata string
compact bool
referenceChaindata string
block uint64
unwind uint64
unwindEvery uint64
reset bool
bucket string
datadir string
)
func must(err error) {
if err != nil {
panic(err)
}
}
func withChaindata(cmd *cobra.Command) {
cmd.Flags().StringVar(&chaindata, "chaindata", "", "path to the db")
must(cmd.MarkFlagDirname("chaindata"))
must(cmd.MarkFlagRequired("chaindata"))
}
func withCompact(cmd *cobra.Command) {
cmd.Flags().BoolVar(&compact, "compact", false, "compact db file. if remove much data form LMDB it slows down tx.Commit because it performs `realloc()` of free_list every commit")
}
func withReferenceChaindata(cmd *cobra.Command) {
cmd.Flags().StringVar(&referenceChaindata, "reference_chaindata", "", "path to the 2nd (reference/etalon) db")
must(cmd.MarkFlagDirname("reference_chaindata"))
}
func withBlock(cmd *cobra.Command) {
cmd.Flags().Uint64Var(&block, "block", 0, "block test at this block")
}
func withUnwind(cmd *cobra.Command) {
cmd.Flags().Uint64Var(&unwind, "unwind", 0, "how much blocks unwind on each iteration")
}
func withUnwindEvery(cmd *cobra.Command) {
cmd.Flags().Uint64Var(&unwindEvery, "unwind_every", 100, "each iteration test will move forward `--unwind_every` blocks, then unwind `--unwind` blocks")
}
func withReset(cmd *cobra.Command) {
cmd.Flags().BoolVar(&reset, "reset", false, "reset given stage")
}
func withBucket(cmd *cobra.Command) {
cmd.Flags().StringVar(&bucket, "bucket", "", "reset given stage")
}
func withDatadir(cmd *cobra.Command) {
cmd.Flags().StringVar(&datadir, "datadir", "", "data directory for temporary ELT files")
}