If you allow a flag to be set from environment variables or files and
a parse error occurs from one of them, it is very useful for the error
message to mention where the value came from.
Without this, it can be difficult to notice an error caused by an
unexpected environment variable being set.
Implements #1167.
{"foobar",true,&BoolFlag{Name:"debug",EnvVars:[]string{"DEBUG"}},`could not parse "foobar" as bool value for flag debug: .*`},
{"foobar",true,&BoolFlag{Name:"debug",EnvVars:[]string{"DEBUG"}},`could not parse "foobar" as bool value from environment variable "DEBUG" for flag debug: .*`},
{"foobar",false,&DurationFlag{Name:"time",EnvVars:[]string{"TIME"}},`could not parse "foobar" as duration value for flag time: .*`},
{"foobar",false,&DurationFlag{Name:"time",EnvVars:[]string{"TIME"}},`could not parse "foobar" as duration value from environment variable "TIME" for flag time: .*`},
{"foobar",0,&Float64Flag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "foobar" as float64 value for flag seconds: .*`},
{"foobar",0,&Float64Flag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "foobar" as float64 value from environment variable "SECONDS" for flag seconds: .*`},
{"1.2",0,&Int64Flag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "1.2" as int value for flag seconds: .*`},
{"foobar",0,&Int64Flag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "foobar" as int value for flag seconds: .*`},
{"1.2",0,&Int64Flag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "1.2" as int value from environment variable "SECONDS" for flag seconds: .*`},
{"foobar",0,&Int64Flag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "foobar" as int value from environment variable "SECONDS" for flag seconds: .*`},
{"1.2",0,&IntFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "1.2" as int value for flag seconds: .*`},
{"foobar",0,&IntFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "foobar" as int value for flag seconds: .*`},
{"1.2",0,&IntFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "1.2" as int value from environment variable "SECONDS" for flag seconds: .*`},
{"foobar",0,&IntFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "foobar" as int value from environment variable "SECONDS" for flag seconds: .*`},
{"1.2,2",newSetIntSlice(),&IntSliceFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "1.2,2" as int slice value for flag seconds: .*`},
{"foobar",newSetIntSlice(),&IntSliceFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "foobar" as int slice value for flag seconds: .*`},
{"1.2,2",newSetIntSlice(),&IntSliceFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "1.2,2" as int slice value from environment variable "SECONDS" for flag seconds: .*`},
{"foobar",newSetIntSlice(),&IntSliceFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "foobar" as int slice value from environment variable "SECONDS" for flag seconds: .*`},
{"1.2,2",newSetInt64Slice(),&Int64SliceFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "1.2,2" as int64 slice value for flag seconds: .*`},
{"foobar",newSetInt64Slice(),&Int64SliceFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "foobar" as int64 slice value for flag seconds: .*`},
{"1.2,2",newSetInt64Slice(),&Int64SliceFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "1.2,2" as int64 slice value from environment variable "SECONDS" for flag seconds: .*`},
{"foobar",newSetInt64Slice(),&Int64SliceFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "foobar" as int64 slice value from environment variable "SECONDS" for flag seconds: .*`},
{"1.2",0,&UintFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "1.2" as uint value for flag seconds: .*`},
{"foobar",0,&UintFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "foobar" as uint value for flag seconds: .*`},
{"1.2",0,&UintFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "1.2" as uint value from environment variable "SECONDS" for flag seconds: .*`},
{"foobar",0,&UintFlag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "foobar" as uint value from environment variable "SECONDS" for flag seconds: .*`},
{"1.2",0,&Uint64Flag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "1.2" as uint64 value for flag seconds: .*`},
{"foobar",0,&Uint64Flag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "foobar" as uint64 value for flag seconds: .*`},
{"1.2",0,&Uint64Flag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "1.2" as uint64 value from environment variable "SECONDS" for flag seconds: .*`},
{"foobar",0,&Uint64Flag{Name:"seconds",EnvVars:[]string{"SECONDS"}},`could not parse "foobar" as uint64 value from environment variable "SECONDS" for flag seconds: .*`},