mirror of https://github.com/pressly/goose.git
Merge pull request #125 from pressly/fix_goose_panic
clean up arg parsing a bitpull/126/head v2.4.2
commit
82b1074b4c
|
@ -19,28 +19,24 @@ func main() {
|
|||
flags.Parse(os.Args[1:])
|
||||
|
||||
args := flags.Args()
|
||||
|
||||
if len(args) > 1 && args[0] == "create" {
|
||||
if err := goose.Run("create", nil, *dir, args[1:]...); err != nil {
|
||||
log.Fatalf("goose run: %v", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// TODO clean up arg/flag parsing flow
|
||||
if args[0] == "fix" {
|
||||
if err := goose.Run("fix", nil, *dir); err != nil {
|
||||
log.Fatalf("goose run: %v", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
if len(args) < 3 {
|
||||
if len(args) == 0 || args[0] == "-h" || args[0] == "--help" {
|
||||
flags.Usage()
|
||||
return
|
||||
}
|
||||
|
||||
if args[0] == "-h" || args[0] == "--help" {
|
||||
switch args[0] {
|
||||
case "create":
|
||||
if err := goose.Run("create", nil, *dir, args[1:]...); err != nil {
|
||||
log.Fatalf("goose run: %v", err)
|
||||
}
|
||||
return
|
||||
case "fix":
|
||||
if err := goose.Run("fix", nil, *dir); err != nil {
|
||||
log.Fatalf("goose run: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
if len(args) < 3 {
|
||||
flags.Usage()
|
||||
return
|
||||
}
|
||||
|
|
|
@ -25,20 +25,21 @@ func main() {
|
|||
flags.Parse(os.Args[1:])
|
||||
|
||||
args := flags.Args()
|
||||
if len(args) == 0 || args[0] == "-h" || args[0] == "--help" {
|
||||
flags.Usage()
|
||||
return
|
||||
}
|
||||
|
||||
if len(args) > 1 && args[0] == "create" {
|
||||
switch args[0] {
|
||||
case "create":
|
||||
if err := goose.Run("create", nil, *dir, args[1:]...); err != nil {
|
||||
log.Fatalf("goose run: %v", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// TODO clean up arg/flag parsing flow
|
||||
if args[0] == "fix" {
|
||||
case "fix":
|
||||
if err := goose.Run("fix", nil, *dir); err != nil {
|
||||
log.Fatalf("goose run: %v", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
if len(args) < 3 {
|
||||
|
|
|
@ -16,11 +16,18 @@ func TestDefaultBinary(t *testing.T) {
|
|||
"./bin/goose -dir=examples/sql-migrations sqlite3 sql.db version",
|
||||
"./bin/goose -dir=examples/sql-migrations sqlite3 sql.db down",
|
||||
"./bin/goose -dir=examples/sql-migrations sqlite3 sql.db status",
|
||||
"./bin/goose",
|
||||
}
|
||||
|
||||
for _, cmd := range commands {
|
||||
args := strings.Split(cmd, " ")
|
||||
out, err := exec.Command(args[0], args[1:]...).CombinedOutput()
|
||||
command := args[0]
|
||||
var params []string
|
||||
if len(args) > 1 {
|
||||
params = args[1:]
|
||||
}
|
||||
|
||||
out, err := exec.Command(command, params...).CombinedOutput()
|
||||
if err != nil {
|
||||
t.Fatalf("%s:\n%v\n\n%s", err, cmd, out)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue