From c6a535a747a615dfe3bbcb78084c3971e5cc52ba Mon Sep 17 00:00:00 2001 From: ccamel Date: Mon, 23 Sep 2024 16:36:22 +0200 Subject: [PATCH] test(vm): put DebugHook into test --- engine/vm_test.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/engine/vm_test.go b/engine/vm_test.go index 285da4d..52d883c 100644 --- a/engine/vm_test.go +++ b/engine/vm_test.go @@ -1,6 +1,7 @@ package engine import ( + "bytes" "context" "os" "testing" @@ -328,3 +329,19 @@ func TestVM_ResetEnv(t *testing.T) { assert.Equal(t, uint64(20), maxVariables) }) } + +func TestVM_DebugHook(t *testing.T) { + var vm VM + vm.Register0(NewAtom("foo"), func(_ *VM, k Cont, env *Env) *Promise { + return k(env) + }) + + buf := &bytes.Buffer{} + vm.InstallHook(DebugHookFn(buf)) + + var env Env + ok, err := Call(&vm, NewAtom("foo"), Success, &env).Force(context.Background()) + assert.NoError(t, err) + assert.True(t, ok) + assert.Equal(t, "enter\ncall(foo/0)\nexit\n", buf.String()) +}