mirror of
https://github.com/pressly/goose.git
synced 2025-05-31 11:42:04 +00:00
Merge pull request #125 from pressly/fix_goose_panic
clean up arg parsing a bit
This commit is contained in:
commit
82b1074b4c
@ -19,28 +19,24 @@ func main() {
|
|||||||
flags.Parse(os.Args[1:])
|
flags.Parse(os.Args[1:])
|
||||||
|
|
||||||
args := flags.Args()
|
args := flags.Args()
|
||||||
|
if len(args) == 0 || args[0] == "-h" || args[0] == "--help" {
|
||||||
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 {
|
|
||||||
flags.Usage()
|
flags.Usage()
|
||||||
return
|
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()
|
flags.Usage()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -25,20 +25,21 @@ func main() {
|
|||||||
flags.Parse(os.Args[1:])
|
flags.Parse(os.Args[1:])
|
||||||
|
|
||||||
args := flags.Args()
|
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 {
|
if err := goose.Run("create", nil, *dir, args[1:]...); err != nil {
|
||||||
log.Fatalf("goose run: %v", err)
|
log.Fatalf("goose run: %v", err)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
case "fix":
|
||||||
|
|
||||||
// TODO clean up arg/flag parsing flow
|
|
||||||
if args[0] == "fix" {
|
|
||||||
if err := goose.Run("fix", nil, *dir); err != nil {
|
if err := goose.Run("fix", nil, *dir); err != nil {
|
||||||
log.Fatalf("goose run: %v", err)
|
log.Fatalf("goose run: %v", err)
|
||||||
}
|
}
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(args) < 3 {
|
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 version",
|
||||||
"./bin/goose -dir=examples/sql-migrations sqlite3 sql.db down",
|
"./bin/goose -dir=examples/sql-migrations sqlite3 sql.db down",
|
||||||
"./bin/goose -dir=examples/sql-migrations sqlite3 sql.db status",
|
"./bin/goose -dir=examples/sql-migrations sqlite3 sql.db status",
|
||||||
|
"./bin/goose",
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, cmd := range commands {
|
for _, cmd := range commands {
|
||||||
args := strings.Split(cmd, " ")
|
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 {
|
if err != nil {
|
||||||
t.Fatalf("%s:\n%v\n\n%s", err, cmd, out)
|
t.Fatalf("%s:\n%v\n\n%s", err, cmd, out)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user