Skip to content

Commit

Permalink
modified: cmd/immortal/main.go
Browse files Browse the repository at this point in the history
	modified:   parser.go
	modified:   parser_test.go
	deleted:    user.go
  • Loading branch information
nbari committed Jul 30, 2016
1 parent 3600d76 commit 302d91a
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 35 deletions.
4 changes: 1 addition & 3 deletions cmd/immortal/main.go
Expand Up @@ -12,9 +12,7 @@ import (
var version string

func main() {
parser := &immortal.Parse{
UserFinder: &immortal.User{},
}
parser := new(immortal.Parse)

// flag set
fs := flag.NewFlagSet(os.Args[0], flag.ExitOnError)
Expand Down
11 changes: 7 additions & 4 deletions parser.go
Expand Up @@ -4,17 +4,16 @@ import (
"flag"
"fmt"
"os"
"os/user"
)

type Parser interface {
Parse(fs *flag.FlagSet) (*Flags, error)
exists(path string) bool
UserFinder
}

type Parse struct {
Flags
UserFinder
}

func (self *Parse) Parse(fs *flag.FlagSet) (*Flags, error) {
Expand Down Expand Up @@ -87,9 +86,13 @@ func ParseArgs(p Parser, fs *flag.FlagSet) (*Flags, error) {

// if -u
if flags.User != "" {
usr, err := p.Lookup(flags.User)
usr, err := user.Lookup(flags.User)
if err != nil {
return nil, err
if _, ok := err.(user.UnknownUserError); ok {
return nil, fmt.Errorf("User %q does not exist.", flags.User)
} else if err != nil {
return nil, fmt.Errorf("Error looking up user: %q", flags.User)
}
}
flags.user = usr
}
Expand Down
6 changes: 2 additions & 4 deletions parser_test.go
Expand Up @@ -196,14 +196,12 @@ func TestParseArgsTable(t *testing.T) {
{[]string{"cmd", "-P", "/path/to/parent"}, true},
{[]string{"cmd", "-u", "root"}, true},
{[]string{"cmd", "-u", "root", "cmd"}, false},
{[]string{"cmd", "-u", "toornonexistent", "cmd"}, true},
{[]string{"cmd", "-u", "toor-nonexistent", "cmd"}, true},
}
var helpCalled = false
for _, f := range flagTest {
os.Args = f.flag
parser := &Parse{
UserFinder: &User{},
}
parser := new(Parse)
fs := flag.NewFlagSet("TestParseArgsTable", flag.ContinueOnError)
fs.Usage = func() { helpCalled = true }
_, err := ParseArgs(parser, fs)
Expand Down
24 changes: 0 additions & 24 deletions user.go

This file was deleted.

0 comments on commit 302d91a

Please sign in to comment.