* fixed GCC 4.4.0 mingw compilation:
[fw/sdcc] / support / regression / generate-cases.py
index 70da87d9163596332220e9a9b0fc34126be00116..e2c08cc7b98f031a270e4df8af77c94397f263c7 100644 (file)
@@ -107,8 +107,7 @@ class InstanceGenerator:
 
         n = 0;
         for fun in self.functions:
-            # Turn the function definition into a pointer
-            fun = re.sub(r'\(\w+\)', '', fun)
+            # Turn the function definition into a function call
             fout.write("  __prints(\"Running " + fun + "\\n\");\n");
             fout.write('  ' + fun + "();\n")
             n += 1;
@@ -118,6 +117,7 @@ class InstanceGenerator:
         fout.write(testfunsuite);
         
         fout.close()
+        return n
 
     def readfile(self):
         """Read in all of the input file."""
@@ -156,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)