func InitCommandLineFlags(config config.Config) { config.IntVar(¶ms.iterations, "iterations", 1, "number of pushes to attempt") config.IntVar(¶ms.concurrency, "concurrency", 1, "max number of pushes to attempt in parallel") config.BoolVar(¶ms.silent, "silent", false, "true to run the commands and print output the terminal") config.StringVar(¶ms.output, "output", "", "if specified, writes benchmark results to a CSV file") config.StringVar(¶ms.workload, "workload", "gcf:push", "a comma-separated list of operations a user should issue (use -list-workloads to see available workload options)") config.IntVar(¶ms.interval, "interval", 0, "repeat a workload at n second interval, to be used with -stop") config.IntVar(¶ms.stop, "stop", 0, "stop a repeating interval after n second, to be used with -interval") config.BoolVar(¶ms.listWorkloads, "list-workloads", false, "Lists the available workloads") workloadList.DescribeParameters(config) store.DescribeParameters(config) }
func DescribeParameters(config config.Config) { config.StringVar(¶ms.csvDir, "csv-dir", "output/csvs", "Directory to Store CSVs") config.BoolVar(¶ms.useRedis, "use-redis", false, "True if redis should be used (requires the -redis-host, -redis-port and -redis-password arguments)") config.StringVar(¶ms.redisHost, "redis-host", "localhost", "Redis hostname") config.IntVar(¶ms.redisPort, "redis-port", 6379, "Redis port") config.StringVar(¶ms.redisPassword, "redis-password", "", "Redis password") config.EnvVar(¶ms.vcapServices, "VCAP_SERVICES", "", "The VCAP_SERVICES environment variable") }
func (r *rest) DescribeParameters(config config.Config) { config.StringVar(&r.target, "rest:target", "", "the target for the REST api") config.StringVar(&r.username, "rest:username", "", "username for REST api") config.StringVar(&r.password, "rest:password", "", "password for REST api") config.StringVar(&r.space_name, "rest:space", "dev", "space to target for REST api") }
import ( "os" "github.com/cloudfoundry-community/pat/config" "github.com/cloudfoundry-community/pat/laboratory" . "github.com/cloudfoundry-community/pat/store" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("Config", func() { var ( csvStoreDir string csvStore laboratory.Store redisHost string redisPort int redisPassword string redisStore laboratory.Store flags config.Config args []string ) BeforeEach(func() { flags = config.NewConfig() DescribeParameters(flags) args = []string{} csvStore = NewCsvStore("/tmp/fakecsvstore") redisStore = NewCsvStore("/tmp/fakeredisstore") CsvStoreFactory = func(dir string) laboratory.Store { csvStoreDir = dir return csvStore }
) BeforeEach(func() { experiments := []*DummyExperiment{&DummyExperiment{"a"}, &DummyExperiment{"b"}, &DummyExperiment{"c"}} lab = &DummyLab{} lab.experiments = experiments http.DefaultServeMux = http.NewServeMux() }) JustBeforeEach(func() { ServeWithLab(lab) }) Describe("VCAP_APP_PORT", func() { var ( listen string flags config.Config ) BeforeEach(func() { flags = config.NewConfig() os.Clearenv() InitCommandLineFlags(flags) ListenAndServe = func(bind string) error { listen = bind return nil } }) Context("When VCAP_APP_PORT does not exist", func() { BeforeEach(func() { os.Clearenv()
func InitCommandLineFlags(config config.Config) { config.EnvVar(¶ms.port, "VCAP_APP_PORT", "8080", "The port to bind to") store.DescribeParameters(config) }