void GenTestCase(int no) { Node *n1, *n2; unsigned v0; printf("void test%d(void)\n{\n", no); printf(" printf(\"-- Test %d (seed: %u) --\\n\");\n", no, mySeed); printf(" {\n"); printf(" int failed = 0;\n"); ReInit(); n1 = GenCommaExpr(); PrintDecls(n1); printf(" unsigned v0 = ("); PrintExpr(n1); printf(");\n"); n2 = DupExpr(n1); v0 = Eval(n2); CheckVars(n2); printf(" if (v0 != %uu) ", v0); printf("{ failed = 1; printf(\"v0 != %uu\\n\"); }\n", v0); printf(" if (failed)\n printf(\"Test %d failed\\n\");\n", no); printf(" errors += failed;\n"); printf(" }\n"); printf(" printf(\"\\n\");\n"); printf("}\n\n"); DelNode(n1); DelNode(n2); }
int SetVars(char *name) { if (!GetScriptInfo(name)) return(false); if (!CheckVars()) return(false); destsize = out.w * out.h; out.cw = out.w / xcharsize; out.ch = out.h / ycharsize; if ((usagemap = (long *)SafeMalloc(destsize * 4, "")) == NULL) return(false); if ((outpixels = (long *)SafeMalloc(destsize * 4, "")) == NULL) return(false); if ((bmptemp = (void *)SafeMalloc(destsize * 4, "")) == NULL) return(false); if ((map = (byte *)SafeMalloc(destsize / (xcharsize * ycharsize), "")) == NULL) return(false); if (GetFileDimensions() == false) return(false); if (dosort) SortInNames(); return(true); }
void CheckVars(Node* n) { switch (n->type) { case 'L': printf(" if (v%d != %uu) ", n->varNum, n->varVal); printf("{ failed = 1; printf(\"v%d != %uu\\n\"); }\n", n->varNum, n->varVal); break; default: if (n->child[2]) CheckVars(n->child[2]); CheckVars(n->child[0]); CheckVars(n->child[1]); break; } }