func New(t T, URL string) *Runner {
	r := &Runner{
		t:         t,
		rootURL:   URL,
		vars:      make(map[string]*parse.Value),
		DoRequest: http.DefaultTransport.RoundTrip,
		Log: func(s string) {
			fmt.Println(s)
		},
		Verbose: func(args ...interface{}) {
			if !testing.Verbose() {
				return
			}
			fmt.Println(args...)
		},
		ParseBody:  ParseJSONBody,
		NewRequest: http.NewRequest,
	}
	// capture environment variables by default
	for _, e := range os.Environ() {
		pair := strings.Split(e, "=")
		r.vars[pair[0]] = parse.ParseValue([]byte(pair[1]))
	}
	return r
}
func New(t T, URL string) *Runner {
	r := &Runner{
		t:         t,
		rootURL:   URL,
		vars:      make(map[string]*parse.Value),
		DoRequest: http.DefaultTransport.RoundTrip,
		Log: func(s string) {
			fmt.Println(s)
		},
		Verbose: func(args ...interface{}) {
			if !testing.Verbose() {
				return
			}
			fmt.Println(args...)
		},
		ParseBody:  ParseJSONBody,
		NewRequest: http.NewRequest,
	}
	
	for _, e := range os.Environ() {
		pair := strings.Split(e, "=")
		r.vars[pair[0]] = parse.ParseValue([]byte(pair[1]))
	}
	return r
}
func New ( t T , URL string ) * Runner { r := & Runner { t : t , rootURL : URL , vars : make ( map [ string ] * parse . Value ) , DoRequest : http . DefaultTransport . RoundTrip , Log : func ( s string ) { fmt . Println ( s ) } , Verbose : func ( args ... interface { } ) { if ! testing . Verbose ( ) { return } fmt . Println ( args ... ) } , ParseBody : ParseJSONBody , NewRequest : http . NewRequest , } // capture environment variables by default for _ , e := range os . Environ ( ) { pair := strings . Split ( e , " " ) r . vars [ pair [ 0 ] ] = parse . ParseValue ( [ ] byte ( pair [ 1 ] ) ) } return r }
// New makes a new Runner with the given testing T target and the
// root URL.
New makes a new Runner with the given testing T target and the root URL .