Files
subcoding/test/integration_test.go

36 lines
581 B
Go
Raw Normal View History

2021-11-18 19:35:24 -10:00
package test
2021-11-18 17:43:13 -10:00
import "testing"
2021-11-18 19:35:24 -10:00
import "github.com/firestuff/subcoding/asm"
2021-11-18 17:43:13 -10:00
import "github.com/firestuff/subcoding/vm"
2021-11-18 19:35:24 -10:00
func TestLoop(t *testing.T) {
prog, err := asm.AssembleString(`
2021-11-18 17:43:13 -10:00
functions:
- - [add, f0, 1]
- [call, +1]
- [ltu, f0, 3]
- [jmpt, -3]
- - [add, g0, 1]
`)
if err != nil {
t.Fatal(err)
}
state, err := vm.NewState(prog)
if err != nil {
t.Fatal(err)
}
err = state.Execute()
if err != nil {
t.Fatal(err)
}
2021-11-18 17:53:38 -10:00
if state.GlobalMemory().MustReadUnsigned(0) != 3 {
t.Fatalf("Expected 3, found %d\n", state.GlobalMemory().MustReadUnsigned(0))
}
2021-11-18 17:43:13 -10:00
}