func newAggregator(allBackends *libswarm.Client, server *libswarm.Server, args []string) (*aggregator, error) { a := &aggregator{server: server} for _, argString := range args { args, err := shlex.Split(argString) if err != nil { return nil, err } if len(args) == 0 { return nil, fmt.Errorf("empty backend string") } log.Printf("aggregator: spawning %s(%#v)\n", args[0], args[1:]) _, b, err := allBackends.Attach(args[0]) if err != nil { return nil, err } i, err := b.Spawn(args[1:]...) if err != nil { return nil, err } a.backends = append(a.backends, i) } return a, nil }
func child(t *testing.T, server *stubServer, i *libswarm.Client, name string) *libswarm.Client { _, child, err := i.Attach(name) if err != nil { t.Fatal(err) } return child }