Files
subcoding/test/util.go

40 lines
912 B
Go
Raw Normal View History

2021-11-18 20:12:35 -10:00
package test
import "testing"
import "github.com/firestuff/subcoding/asm"
import "github.com/firestuff/subcoding/vm"
func assembleAndExecute(t *testing.T, src string) *vm.State {
prog, err := asm.AssembleString(src)
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)
}
return state
}
func expectGlobalMemory(t *testing.T, state *vm.State, i uint64, expected uint64) {
actual := state.GlobalMemory().MustReadUnsigned(i)
if actual != expected {
t.Fatalf("Global memory index %d: expected=%d actual=%d\n", i, expected, actual)
}
}
2021-11-19 07:24:16 -10:00
func expectGlobalMemorySigned(t *testing.T, state *vm.State, i uint64, expected int64) {
actual := int64(state.GlobalMemory().MustReadUnsigned(i))
if actual != expected {
t.Fatalf("Global memory index %d: expected=%d actual=%d\n", i, expected, actual)
}
}