tests: Fix various memory leaks in tests
authorSebastian Dröge <sebastian@centricular.com>
Sun, 13 Apr 2014 19:38:48 +0000 (21:38 +0200)
committerSebastian Dröge <sebastian@centricular.com>
Sun, 13 Apr 2014 19:38:48 +0000 (21:38 +0200)
testsuite/perf_parse.c
testsuite/perf_parse_compare.c
testsuite/show_parse.c
testsuite/test-schro.c

index 731c142..5cc8dc8 100644 (file)
@@ -41,11 +41,14 @@ main (int argc, char *argv[])
   }
 
   n = orc_parse (code, &programs);
+  free (code);
 
   for(i=0;i<n;i++){
     printf("%-30s %g\n", programs[i]->name,
         orc_test_performance_full (programs[i], 0, NULL));
+    orc_program_free (programs[i]);
   }
+  free (programs);
 
   if (error) return 1;
   return 0;
index c0d4d76..f79a442 100644 (file)
@@ -41,6 +41,7 @@ main (int argc, char *argv[])
   }
 
   n = orc_parse (code, &programs);
+  free (code);
 
   for(i=0;i<n;i++){
     double perf_mmx;
@@ -48,7 +49,9 @@ main (int argc, char *argv[])
     perf_mmx = orc_test_performance_full (programs[i], 0, "mmx");
     perf_sse = orc_test_performance_full (programs[i], 0, "sse");
     printf("%g %g\n", perf_mmx, perf_sse);
+    orc_program_free (programs[i]);
   }
+  free (programs);
 
   if (error) return 1;
   return 0;
index 931ed9b..42b0ad7 100644 (file)
@@ -74,6 +74,7 @@ main (int argc, char *argv[])
   code = read_file (filename);
   if (code) {
     n = orc_parse (code, &programs);
+    free (code);
   } else {
     OrcStaticOpcode *opcode;
 
@@ -90,7 +91,9 @@ main (int argc, char *argv[])
 
   for(i=0;i<n;i++){
     show (programs[i]);
+    orc_program_free (programs[i]);
   }
+  free (programs);
 
   if (error) return 1;
   return 0;
@@ -389,6 +392,6 @@ show (OrcProgram *program)
   }
 
   orc_executor_free (ex);
-
+  orc_program_free (program);
 }
 
index 59ea5ab..4530a39 100644 (file)
@@ -224,6 +224,8 @@ test_program (int type)
   if (!ret) {
     error = TRUE;
   }
+
+  orc_program_free (p);
 }