Fixed neglected tests

This commit is contained in:
2022-11-26 16:29:49 +00:00
parent 5231572578
commit a66ef1abae
4 changed files with 29 additions and 17 deletions

View File

@@ -1,7 +1,7 @@
CC=gcc CC=gcc
IDIR+=. ../Toy/source ../core IDIR+=. ../Toy/source ../core
CFLAGS+=$(addprefix -I,$(IDIR)) -g -Wall -W -Wno-unused-parameter -Wno-unused-function -Wno-unused-variable CFLAGS+=$(addprefix -I,$(IDIR)) -DSDL_MAIN_HANDLED -g -Wall -W -Wno-unused-parameter -Wno-unused-function -Wno-unused-variable
LIBS+=-lSDL2 -lSDL2_image -ltoy -lcore LIBS+=-lSDL2 -lSDL2_image -ltoy -lcore
ODIR = obj ODIR = obj

View File

@@ -1,14 +1,14 @@
var tally: int = 0; var tally: int = 0;
fn onInit(node) { fn onInit(node: opaque) {
print "child init called"; print "child init called";
} }
fn onStep(node) { fn onStep(node: opaque) {
print "child step called"; print "child step called";
print ++tally; print ++tally;
} }
fn onFree(node) { fn onFree(node: opaque) {
print "child free called"; print "child free called";
} }

View File

@@ -1,11 +1,11 @@
fn onInit(node) { fn onInit(node: opaque) {
print "init called"; print "init called";
} }
fn onStep(node) { fn onStep(node: opaque) {
print "step called"; print "step called";
} }
fn onFree(node) { fn onFree(node: opaque) {
print "free called"; print "free called";
} }

View File

@@ -34,13 +34,20 @@ int main() {
initEngineNode(node, &interpreter, tb, size); initEngineNode(node, &interpreter, tb, size);
callEngineNode(node, &interpreter, "onInit"); Literal nodeLiteral = TO_OPAQUE_LITERAL(node, 0);
callEngineNode(node, &interpreter, "onStep");
callEngineNode(node, &interpreter, "onFree");
//argument list to pass in the node
LiteralArray arguments;
initLiteralArray(&arguments);
//call each function
callRecursiveEngineNode(node, &interpreter, "onInit", &arguments);
callRecursiveEngineNode(node, &interpreter, "onStep", &arguments);
callRecursiveEngineNode(node, &interpreter, "onQuit", &arguments);
//cleanup
freeLiteralArray(&arguments);
freeEngineNode(node); freeEngineNode(node);
//free
free((void*)source); free((void*)source);
freeInterpreter(&interpreter); freeInterpreter(&interpreter);
} }
@@ -75,17 +82,22 @@ int main() {
free((void*)source); free((void*)source);
} }
//argument list to pass in each time
LiteralArray arguments;
initLiteralArray(&arguments);
//test the calls //test the calls
callEngineNode(node, &interpreter, "onInit"); callRecursiveEngineNode(node, &interpreter, "onInit", &arguments);
for (int i = 0; i < 10; i++) { for (int i = 0; i < 10; i++) {
callEngineNode(node, &interpreter, "onStep"); callRecursiveEngineNode(node, &interpreter, "onStep", &arguments);
} }
callEngineNode(node, &interpreter, "onFree"); callRecursiveEngineNode(node, &interpreter, "onFree", &arguments);
//free //cleanup
freeEngineNode(node); freeLiteralArray(&arguments);
freeEngineNode(node); //frees all children
free((void*)source); free((void*)source);
freeInterpreter(&interpreter); freeInterpreter(&interpreter);
} }