Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Don't execute unsupported factories tests for memcheck
[simgrid.git] / tools / cmake / scripts / generate_memcheck_tests.pl
index 62ec9f6..f57f8a2 100755 (executable)
@@ -108,6 +108,7 @@ while ( defined( $line = <MAKETEST> ) ) {
             }
 
             my ($count)        = 0;
             }
 
             my ($count)        = 0;
+            my ($close)        = 0;
             open TESH_FILE, $tesh_file or die "Unable to open tesh file: \"$tesh_file\". $!\n";
             my ($input) = "";
             my ($l);
             open TESH_FILE, $tesh_file or die "Unable to open tesh file: \"$tesh_file\". $!\n";
             my ($input) = "";
             my ($l);
@@ -149,6 +150,17 @@ while ( defined( $line = <MAKETEST> ) ) {
                     }
                     if ($factories) {
                       foreach my $factory (split(';', $factories)) {
                     }
                     if ($factories) {
                       foreach my $factory (split(';', $factories)) {
+                        $close=0;
+                        if( $factory =~ /^raw/) {
+                            print "${indent}if(HAVE_RAWCTX)\n";
+                            $close=1;
+                        }elsif( $factory =~ /^boost/) {
+                            print "${indent}if(HAVE_BOOST_CONTEXT)\n";
+                            $close=1;
+                        }elsif( $factory =~ /^ucontext/) {
+                            print "${indent}if(CONTEXT_UCONTEXT)\n";
+                            $close=1;
+                        }
                         print "${indent}ADD_TEST(NAME memcheck-$name_test-$factory-$count\n";
                         print "${indent}         WORKING_DIRECTORY $path\/\n";
                         print "${indent}         COMMAND $command --cfg=contexts/factory:$factory)\n";
                         print "${indent}ADD_TEST(NAME memcheck-$name_test-$factory-$count\n";
                         print "${indent}         WORKING_DIRECTORY $path\/\n";
                         print "${indent}         COMMAND $command --cfg=contexts/factory:$factory)\n";
@@ -156,6 +168,9 @@ while ( defined( $line = <MAKETEST> ) ) {
                             print "${indent}set_tests_properties(memcheck-$name_test-$factory-$count\n";
                             print "${indent}                     PROPERTIES DEPENDS memcheck-$name_test-$factory-" . ($count - 1) . ")\n";
                         }
                             print "${indent}set_tests_properties(memcheck-$name_test-$factory-$count\n";
                             print "${indent}                     PROPERTIES DEPENDS memcheck-$name_test-$factory-" . ($count - 1) . ")\n";
                         }
+                       if ($close > 0){
+                        print "${indent}endif()\n";
+                        }
                       }
                     } else {
                       print "${indent}ADD_TEST(NAME memcheck-$name_test-$count\n";
                       }
                     } else {
                       print "${indent}ADD_TEST(NAME memcheck-$name_test-$count\n";