2020-07-05 06:18:21 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import "github.com/spf13/cobra"
|
|
|
|
|
|
|
|
var (
|
2020-07-07 07:11:10 +00:00
|
|
|
chaindata string
|
|
|
|
referenceChaindata string
|
|
|
|
block uint64
|
|
|
|
unwind uint64
|
|
|
|
unwindEvery uint64
|
|
|
|
reset bool
|
|
|
|
bucket string
|
2020-07-05 06:18:21 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
func must(err error) {
|
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func withChaindata(cmd *cobra.Command) {
|
2020-07-07 04:00:25 +00:00
|
|
|
cmd.Flags().StringVar(&chaindata, "chaindata", "", "path to the db")
|
|
|
|
must(cmd.MarkFlagDirname("chaindata"))
|
|
|
|
must(cmd.MarkFlagRequired("chaindata"))
|
2020-07-05 06:18:21 +00:00
|
|
|
}
|
|
|
|
|
2020-07-07 07:11:10 +00:00
|
|
|
func withReferenceChaindata(cmd *cobra.Command) {
|
|
|
|
cmd.Flags().StringVar(&referenceChaindata, "reference_chaindata", "", "path to the 2nd (reference/etalon) db")
|
2020-07-07 10:07:14 +00:00
|
|
|
must(cmd.MarkFlagDirname("reference_chaindata"))
|
2020-07-07 07:11:10 +00:00
|
|
|
}
|
|
|
|
|
2020-07-07 04:00:25 +00:00
|
|
|
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")
|
|
|
|
}
|
|
|
|
|
2020-07-07 07:11:10 +00:00
|
|
|
func withReset(cmd *cobra.Command) {
|
2020-07-07 04:00:25 +00:00
|
|
|
cmd.Flags().BoolVar(&reset, "reset", false, "reset given stage")
|
2020-07-05 06:18:21 +00:00
|
|
|
}
|
2020-07-07 07:11:10 +00:00
|
|
|
|
|
|
|
func withBucket(cmd *cobra.Command) {
|
|
|
|
cmd.Flags().StringVar(&bucket, "bucket", "", "reset given stage")
|
|
|
|
}
|