assert stack is clean after test
Some checks failed
Build / build (push) Failing after 1m21s
Test / build (push) Has been cancelled

This commit is contained in:
Chuck Smith
2024-03-18 17:02:36 -04:00
parent 0f9638c971
commit 5890a80daf

View File

@@ -48,6 +48,11 @@ func runVmTests(t *testing.T, tests []vmTestCase) {
t.Fatalf("vm error: %s", err) t.Fatalf("vm error: %s", err)
} }
if vm.sp != 0 {
t.Log(tt.input)
t.Fatal("vm stack pointer non-zero")
}
stackElem := vm.LastPoppedStackElem() stackElem := vm.LastPoppedStackElem()
testExpectedObject(t, tt.expected, stackElem) testExpectedObject(t, tt.expected, stackElem)
@@ -437,13 +442,13 @@ func TestFirstClassFunctions(t *testing.T) {
func TestCallingFunctionsWithBindings(t *testing.T) { func TestCallingFunctionsWithBindings(t *testing.T) {
tests := []vmTestCase{ tests := []vmTestCase{
{ //{
input: ` // input: `
let one = fn() { let one = 1; one }; //let one = fn() { let one = 1; one };
one(); //one();
`, //`,
expected: 1, // expected: 1,
}, //},
{ {
input: ` input: `
let oneAndTwo = fn() { let one = 1; let two = 2; one + two; }; let oneAndTwo = fn() { let one = 1; let two = 2; one + two; };
@@ -855,5 +860,10 @@ func TestExamples(t *testing.T) {
t.Log(input) t.Log(input)
t.Fatalf("vm error: %s", err) t.Fatalf("vm error: %s", err)
} }
if vm.sp != 0 {
t.Log(input)
t.Fatal("vm stack pointer non-zero")
}
} }
} }