flag.PrintDefaults包含`-test`标志

时间:2017-07-29 16:43:34

标签: go command-line

我正在Go中构建一个CLI应用程序。

flag.IntVar(&connections, "c", 1, "Connections to keep open per endpoint")
flag.IntVar(&duration, "T", 10, "Exit after the specified amount of time in seconds")
flag.IntVar(&txsRate, "r", 1000, "Txs per second to send in a connection")
flag.BoolVar(&verbose, "v", false, "Verbose output")

flag.Usage = func() {
    fmt.Println(`....`)
    fmt.Println("Flags:")
    flag.PrintDefaults()
}

flag.Parse()

if flag.NArg() == 0 {
    flag.Usage()
    os.Exit(1)
}

Full listing on Github

由于一些奇怪的原因,上面的代码段产生:

Flags:


-T int
        Exit after the specified amount of time in seconds (default 10)
  -c int
        Connections to keep open per endpoint (default 1)
  -r int
        Txs per second to send in a connection (default 1000)
  -test.bench regexp
        run only benchmarks matching regexp
  -test.benchmem
        print memory allocations for benchmarks
  -test.benchtime d
        run each benchmark for duration d (default 1s)
  -test.blockprofile file
        write a goroutine blocking profile to file
  -test.blockprofilerate rate
        set blocking profile rate (see runtime.SetBlockProfileRate) (default 1)
  -test.count n
        run tests and benchmarks n times (default 1)
  -test.coverprofile file
        write a coverage profile to file
  -test.cpu list
        comma-separated list of cpu counts to run each test with
  -test.cpuprofile file
        write a cpu profile to file
  -test.memprofile file
        write a memory profile to file
  -test.memprofilerate rate
        set memory profiling rate (see runtime.MemProfileRate)
  -test.mutexprofile string
        write a mutex contention profile to the named file after execution
  -test.mutexprofilefraction int
        if >= 0, calls runtime.SetMutexProfileFraction() (default 1)
  -test.outputdir dir
        write profiles to dir
  -test.parallel n
        run at most n tests in parallel (default 2)
  -test.run regexp
        run only tests and examples matching regexp
  -test.short
        run smaller test suite to save time
  -test.timeout d
        fail test binary execution after duration d (0 means unlimited)
  -test.trace file
        write an execution trace to file
  -test.v
        verbose: print additional output
  -v    Verbose output

为什么Go包含-test标志?谢谢!

1 个答案:

答案 0 :(得分:1)

我可以看到你的代码中有很多依赖项。我发现库github.com/tendermint/tmlibs/log依赖于标准库中的包testingsearches for testing。此标准库包含您想知道的所有标记:testing package