From 51f318c924c114e9646f08650057bfa426c92586 Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Sat, 20 Nov 2021 10:23:54 -1000 Subject: [PATCH] Execute code between assembly and disassembly --- test/{integration_test.go => complex_test.go} | 0 test/disasm_test.go | 14 ++++++++++++++ 2 files changed, 14 insertions(+) rename test/{integration_test.go => complex_test.go} (100%) diff --git a/test/integration_test.go b/test/complex_test.go similarity index 100% rename from test/integration_test.go rename to test/complex_test.go diff --git a/test/disasm_test.go b/test/disasm_test.go index 95255e0..4ecca28 100644 --- a/test/disasm_test.go +++ b/test/disasm_test.go @@ -3,6 +3,7 @@ package test import "testing" import "github.com/firestuff/subcoding/asm" +import "github.com/firestuff/subcoding/vm" func TestRoundTrip(t *testing.T) { src := `functions: @@ -20,6 +21,19 @@ func TestRoundTrip(t *testing.T) { t.Fatal(err) } + state, err := vm.NewState(prog) + if err != nil { + t.Fatal(err) + } + + err = state.Execute() + if err != nil { + t.Fatal(err) + } + + expectGlobalMemory(t, state, 0, 1) + expectGlobalMemorySigned(t, state, 1, -5) + dis, err := asm.Disassemble(prog) if err != nil { t.Fatal(err)