treerack/boot_test.go

81 lines
963 B
Go
Raw Normal View History

2017-06-25 17:51:08 +02:00
package parse
import (
"os"
"testing"
)
func TestBoot(t *testing.T) {
var trace Trace
b, err := initBoot(trace, bootDefinitions)
if err != nil {
t.Error(err)
return
}
f, err := os.Open("syntax.p")
if err != nil {
t.Error(err)
return
}
defer f.Close()
n0, err := b.Parse(f)
if err != nil {
t.Error(err)
return
}
2017-06-25 23:38:32 +02:00
// trace = NewTrace(1)
2017-06-25 17:51:08 +02:00
s0 := NewSyntax(trace)
if err := define(s0, n0); err != nil {
t.Error(err)
2017-06-25 23:38:32 +02:00
return
2017-06-25 17:51:08 +02:00
}
_, err = f.Seek(0, 0)
if err != nil {
t.Error(err)
return
}
2017-06-25 23:38:32 +02:00
err = s0.Init()
if err != nil {
t.Error(err)
return
}
2017-06-25 17:51:08 +02:00
n1, err := s0.Parse(f)
if err != nil {
t.Error(err)
return
}
checkNode(t, n1, n0)
if t.Failed() {
return
}
s1 := NewSyntax(trace)
if err := define(s1, n1); err != nil {
t.Error(err)
return
}
_, err = f.Seek(0, 0)
if err != nil {
t.Error(err)
return
}
n2, err := s1.Parse(f)
if err != nil {
t.Error(err)
return
}
checkNode(t, n2, n1)
}