parser: return error, we might need it

This commit is contained in:
Fatih Arslan 2015-10-12 10:37:37 +03:00
parent 0e668f87b2
commit 0a3fe0e81e
2 changed files with 6 additions and 3 deletions

View File

@ -24,7 +24,7 @@ func New(src []byte) *Parser {
}
// Parse returns the fully parsed source and returns the abstract syntax tree.
func (p *Parser) Parse() Node {
func (p *Parser) Parse() (Node, error) {
defer un(trace(p, "ParseSource"))
node := &Source{}
@ -39,7 +39,7 @@ func (p *Parser) Parse() Node {
}
}
return node
return node, nil
}
func (p *Parser) parseStatement() Node {

View File

@ -6,7 +6,10 @@ func TestAssignStatment(t *testing.T) {
src := `ami = "${var.foo}"`
p := New([]byte(src))
p.enableTrace = true
n := p.Parse()
n, err := p.Parse()
if err != nil {
t.Fatal(err)
}
if n.String() != src {
t.Errorf("AssignStatement is not parsed correctly\n\twant: '%s'\n\tgot : '%s'", src, n.String())