command fixes:
- positional tests - init on check syntax - close input files
This commit is contained in:
parent
8e0611f0b1
commit
9c97d790ab
@ -37,6 +37,8 @@ func check(args []string) int {
|
|||||||
return code
|
return code
|
||||||
}
|
}
|
||||||
|
|
||||||
|
defer input.Close()
|
||||||
|
|
||||||
_, err := s.Parse(input)
|
_, err := s.Parse(input)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
stderr(err)
|
stderr(err)
|
||||||
|
@ -189,6 +189,13 @@ var checkTests = []mainTest{
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
title: "input as positional",
|
||||||
|
args: []string{
|
||||||
|
"treerack", "check", "-syntax-string", `foo = "bar"`, "bar_test.txt",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
title: "input as string",
|
title: "input as string",
|
||||||
args: []string{
|
args: []string{
|
||||||
|
@ -22,6 +22,15 @@ func checkSyntax(args []string) int {
|
|||||||
}
|
}
|
||||||
|
|
||||||
o.syntax.positional = o.command.flagSet.Args()
|
o.syntax.positional = o.command.flagSet.Args()
|
||||||
_, code := o.syntax.openSyntax()
|
s, code := o.syntax.openSyntax()
|
||||||
|
if code != 0 {
|
||||||
return code
|
return code
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := s.Init(); err != nil {
|
||||||
|
stderr(err)
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
@ -111,6 +111,13 @@ var checkSyntaxTests = []mainTest{
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
title: "syntax as positional",
|
||||||
|
args: []string{
|
||||||
|
"treerack", "check-syntax", "foo_test.treerack",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
title: "syntax as string",
|
title: "syntax as string",
|
||||||
args: []string{
|
args: []string{
|
||||||
@ -125,6 +132,17 @@ var checkSyntaxTests = []mainTest{
|
|||||||
},
|
},
|
||||||
stdin: "invalid",
|
stdin: "invalid",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
title: "invalid syntax semantics",
|
||||||
|
args: []string{
|
||||||
|
"treerack", "check-syntax", "-syntax-string", `foo:alias = "bar"`,
|
||||||
|
},
|
||||||
|
exit: -1,
|
||||||
|
stderr: []string{
|
||||||
|
"root",
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCheckSyntax(t *testing.T) {
|
func TestCheckSyntax(t *testing.T) {
|
||||||
|
@ -37,6 +37,17 @@ var generateTests = []mainTest{
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
title: "syntax as positional",
|
||||||
|
args: []string{
|
||||||
|
"treerack", "generate", "-export", "-package-name", "foo", "foo_test.treerack",
|
||||||
|
},
|
||||||
|
stdout: []string{
|
||||||
|
"package foo",
|
||||||
|
"func Parse",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
title: "syntax as string",
|
title: "syntax as string",
|
||||||
args: []string{
|
args: []string{
|
||||||
|
@ -113,6 +113,8 @@ func (o *fileOptions) openSyntax() (*treerack.Syntax, int) {
|
|||||||
return nil, code
|
return nil, code
|
||||||
}
|
}
|
||||||
|
|
||||||
|
defer input.Close()
|
||||||
|
|
||||||
s := &treerack.Syntax{}
|
s := &treerack.Syntax{}
|
||||||
if err := s.ReadSyntax(input); err != nil {
|
if err := s.ReadSyntax(input); err != nil {
|
||||||
stderr(err)
|
stderr(err)
|
||||||
|
@ -74,6 +74,8 @@ func parse(args []string) int {
|
|||||||
return code
|
return code
|
||||||
}
|
}
|
||||||
|
|
||||||
|
defer input.Close()
|
||||||
|
|
||||||
n, err := s.Parse(input)
|
n, err := s.Parse(input)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
stderr(err)
|
stderr(err)
|
||||||
|
@ -46,6 +46,16 @@ var parseTests = []mainTest{
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
title: "input as positional",
|
||||||
|
args: []string{
|
||||||
|
"treerack", "parse", "-syntax-string", `foo = "bar"`, "bar_test.txt",
|
||||||
|
},
|
||||||
|
stdout: []string{
|
||||||
|
`"name":"foo"`,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
title: "input as string",
|
title: "input as string",
|
||||||
args: []string{
|
args: []string{
|
||||||
|
Loading…
Reference in New Issue
Block a user