X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=support%2Fregression%2Fgenerate-cases.py;h=e2c08cc7b98f031a270e4df8af77c94397f263c7;hb=3bd25d75bcad68055bb616dcc29dde8a2965965e;hp=9c9bb04585ce5dc122a0f9aff0970e74531bf45f;hpb=96d7ac4503dd8dfdbf0fda88fa5a9de577f2f124;p=fw%2Fsdcc diff --git a/support/regression/generate-cases.py b/support/regression/generate-cases.py index 9c9bb045..e2c08cc7 100644 --- a/support/regression/generate-cases.py +++ b/support/regression/generate-cases.py @@ -9,27 +9,21 @@ outdir = sys.argv[2] # Start of the test function table definition testfuntableheader = """ -static TESTFUNP _tests[] = { +void +__runSuite(void) +{ """ - # End of the test function table definition -testfuntablefooter = """\tNULL -}; +testfuntablefooter = """} """ # Code to generate the suite function testfunsuite = """ -TESTFUNP * -suite(void) -{ - return _tests; -} - -const char * -getSuiteName(void) +code const char * +__getSuiteName(void) { - return "{testcase}"; + return "{testcase}"; } """ @@ -111,15 +105,19 @@ class InstanceGenerator: # Emmit the suite table fout.write(testfuntableheader) + n = 0; for fun in self.functions: - # Turn the function definition into a pointer - fun = re.sub(r'\(\w+\)', '', fun) - fout.write("\t" + fun + ",\n") + # Turn the function definition into a function call + fout.write(" __prints(\"Running " + fun + "\\n\");\n"); + fout.write(' ' + fun + "();\n") + n += 1; fout.write(testfuntablefooter) + fout.write("\nconst int __numCases = " + str(n) + ";\n") fout.write(testfunsuite); fout.close() + return n def readfile(self): """Read in all of the input file.""" @@ -158,14 +156,16 @@ class InstanceGenerator: None else: # Pull out any test function names - if re.search(r'^test\w+\(\w+\)', line) != None: - self.functions.append(line) + m = re.match(r'^(?:\W*void\W+)?\W*(test\w*)\W*\(\W*void\W*\)', line) + if m != None: + self.functions.append(m.group(1)) def generate(self): """Main function. Generates all of the instances.""" self.readfile() self.parse() - self.writetemplate() + if self.writetemplate() == 0: + sys.stderr.write("Empty function list in " + self.inname + "!\n") # Create the output directory if it doesn't exist createdir(outdir) @@ -189,4 +189,3 @@ def main(): if __name__ == '__main__': main() -