| func TestParseArguments(t *testing.T) { |
| []string{"setuidhelper"}, |
| fmt.Errorf("--username missing"), |
| []string{"setuidhelper", "--username", testUserName}, |
| []string{"setuidhelper", "--username", testUserName, "--workspace", "/hello", |
| "--stdoutlog", "/stdout", "--stderrlog", "/stderr", "--run", "/bin/veyron", "--", "one", "two"}, |
| argv: []string{"one", "two"}, |
| for _, c := range cases { |
| fs := flag.NewFlagSet(c.cmdline[0], flag.ExitOnError) |
| if err := wp.ProcessArguments(fs, c.env); !reflect.DeepEqual(err, c.err) { |
| t.Fatalf("got %v, expected %v error", err, c.err) |
| if !reflect.DeepEqual(wp, c.expected) { |
| t.Fatalf("got %#v expected %#v", wp, c.expected) |