|
|
@ -2,6 +2,7 @@ package main
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
import (
|
|
|
|
"errors"
|
|
|
|
"errors"
|
|
|
|
|
|
|
|
"os"
|
|
|
|
"reflect"
|
|
|
|
"reflect"
|
|
|
|
"testing"
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
)
|
|
|
@ -10,6 +11,7 @@ var usageTestTable = []struct {
|
|
|
|
argv []string
|
|
|
|
argv []string
|
|
|
|
opts Options
|
|
|
|
opts Options
|
|
|
|
err error
|
|
|
|
err error
|
|
|
|
|
|
|
|
env map[string]string
|
|
|
|
}{
|
|
|
|
}{
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{"start", "smug"},
|
|
|
|
[]string{"start", "smug"},
|
|
|
@ -24,6 +26,7 @@ var usageTestTable = []struct {
|
|
|
|
Settings: map[string]string{},
|
|
|
|
Settings: map[string]string{},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
nil,
|
|
|
|
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{"start", "smug", "-w", "foo"},
|
|
|
|
[]string{"start", "smug", "-w", "foo"},
|
|
|
@ -38,6 +41,7 @@ var usageTestTable = []struct {
|
|
|
|
Settings: map[string]string{},
|
|
|
|
Settings: map[string]string{},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
nil,
|
|
|
|
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{"start", "smug:foo,bar"},
|
|
|
|
[]string{"start", "smug:foo,bar"},
|
|
|
@ -52,6 +56,7 @@ var usageTestTable = []struct {
|
|
|
|
Settings: map[string]string{},
|
|
|
|
Settings: map[string]string{},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
nil,
|
|
|
|
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{"start", "smug", "--attach", "--debug", "--detach"},
|
|
|
|
[]string{"start", "smug", "--attach", "--debug", "--detach"},
|
|
|
@ -66,6 +71,7 @@ var usageTestTable = []struct {
|
|
|
|
Settings: map[string]string{},
|
|
|
|
Settings: map[string]string{},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
nil,
|
|
|
|
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{"start", "smug", "-ad"},
|
|
|
|
[]string{"start", "smug", "-ad"},
|
|
|
@ -80,6 +86,7 @@ var usageTestTable = []struct {
|
|
|
|
Settings: map[string]string{},
|
|
|
|
Settings: map[string]string{},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
nil,
|
|
|
|
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{"start", "-f", "test.yml"},
|
|
|
|
[]string{"start", "-f", "test.yml"},
|
|
|
@ -94,6 +101,7 @@ var usageTestTable = []struct {
|
|
|
|
Settings: map[string]string{},
|
|
|
|
Settings: map[string]string{},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
nil,
|
|
|
|
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{"start", "-f", "test.yml", "-w", "win1", "-w", "win2"},
|
|
|
|
[]string{"start", "-f", "test.yml", "-w", "win1", "-w", "win2"},
|
|
|
@ -108,6 +116,7 @@ var usageTestTable = []struct {
|
|
|
|
Settings: map[string]string{},
|
|
|
|
Settings: map[string]string{},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
nil,
|
|
|
|
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{"start", "project", "a=b", "x=y"},
|
|
|
|
[]string{"start", "project", "a=b", "x=y"},
|
|
|
@ -125,6 +134,7 @@ var usageTestTable = []struct {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
nil,
|
|
|
|
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{"start", "-f", "test.yml", "a=b", "x=y"},
|
|
|
|
[]string{"start", "-f", "test.yml", "a=b", "x=y"},
|
|
|
@ -142,6 +152,7 @@ var usageTestTable = []struct {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
nil,
|
|
|
|
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{"start", "-f", "test.yml", "-w", "win1", "-w", "win2", "a=b", "x=y"},
|
|
|
|
[]string{"start", "-f", "test.yml", "-w", "win1", "-w", "win2", "a=b", "x=y"},
|
|
|
@ -159,11 +170,13 @@ var usageTestTable = []struct {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
nil,
|
|
|
|
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{"start", "--help"},
|
|
|
|
[]string{"start", "--help"},
|
|
|
|
Options{},
|
|
|
|
Options{},
|
|
|
|
ErrHelp,
|
|
|
|
ErrHelp,
|
|
|
|
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{"test"},
|
|
|
|
[]string{"test"},
|
|
|
@ -174,6 +187,7 @@ var usageTestTable = []struct {
|
|
|
|
Settings: map[string]string{},
|
|
|
|
Settings: map[string]string{},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
nil,
|
|
|
|
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{"test", "-w", "win1", "-w", "win2", "a=b", "x=y"},
|
|
|
|
[]string{"test", "-w", "win1", "-w", "win2", "a=b", "x=y"},
|
|
|
@ -184,26 +198,47 @@ var usageTestTable = []struct {
|
|
|
|
Settings: map[string]string{"a": "b", "x": "y"},
|
|
|
|
Settings: map[string]string{"a": "b", "x": "y"},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
nil,
|
|
|
|
|
|
|
|
nil,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
[]string{"test"},
|
|
|
|
|
|
|
|
Options{
|
|
|
|
|
|
|
|
Command: "start",
|
|
|
|
|
|
|
|
Project: "test",
|
|
|
|
|
|
|
|
Config: "",
|
|
|
|
|
|
|
|
Windows: []string{},
|
|
|
|
|
|
|
|
Settings: map[string]string{},
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
nil,
|
|
|
|
|
|
|
|
map[string]string{
|
|
|
|
|
|
|
|
"SMUG_SESSION_CONFIG_PATH": "test",
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{},
|
|
|
|
[]string{},
|
|
|
|
Options{},
|
|
|
|
Options{},
|
|
|
|
ErrHelp,
|
|
|
|
ErrHelp,
|
|
|
|
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{"--help"},
|
|
|
|
[]string{"--help"},
|
|
|
|
Options{},
|
|
|
|
Options{},
|
|
|
|
ErrHelp,
|
|
|
|
ErrHelp,
|
|
|
|
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
[]string{"start", "--test"},
|
|
|
|
[]string{"start", "--test"},
|
|
|
|
Options{},
|
|
|
|
Options{},
|
|
|
|
errors.New("unknown flag: --test"),
|
|
|
|
errors.New("unknown flag: --test"),
|
|
|
|
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func TestParseOptions(t *testing.T) {
|
|
|
|
func TestParseOptions(t *testing.T) {
|
|
|
|
for _, v := range usageTestTable {
|
|
|
|
for _, v := range usageTestTable {
|
|
|
|
|
|
|
|
for k, v := range v.env {
|
|
|
|
|
|
|
|
os.Setenv(k, v)
|
|
|
|
|
|
|
|
}
|
|
|
|
opts, err := ParseOptions(v.argv)
|
|
|
|
opts, err := ParseOptions(v.argv)
|
|
|
|
if v.err != nil && err != nil && err.Error() != v.err.Error() {
|
|
|
|
if v.err != nil && err != nil && err.Error() != v.err.Error() {
|
|
|
|
t.Errorf("expected error %v, got %v", v.err, err)
|
|
|
|
t.Errorf("expected error %v, got %v", v.err, err)
|
|
|
|