Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Generate tests for memcheck.
authornavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 25 May 2010 14:29:28 +0000 (14:29 +0000)
committernavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 25 May 2010 14:29:28 +0000 (14:29 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7795 48e7efb5-ca39-0410-a469-dd3cf9ba447f

buildtools/Cmake/AddTests.cmake
buildtools/Cmake/generate_memcheck_tests.pl
buildtools/Cmake/memcheck_tests.cmake

index 957ab16..5436bb5 100644 (file)
@@ -11,6 +11,7 @@ if(enable_memcheck)
        if(VALGRIND_VERSION AND PERL_EXECUTABLE)
                string(REGEX MATCH "[0-9].[0-9].[0-9]" NEW_VALGRIND_VERSION "${VALGRIND_VERSION}")
                if(NEW_VALGRIND_VERSION)
        if(VALGRIND_VERSION AND PERL_EXECUTABLE)
                string(REGEX MATCH "[0-9].[0-9].[0-9]" NEW_VALGRIND_VERSION "${VALGRIND_VERSION}")
                if(NEW_VALGRIND_VERSION)
+                       exec_program("${PROJECT_DIRECTORY}/buildtools/Cmake/generate_memcheck_tests.pl ${PROJECT_DIRECTORY} ${PROJECT_DIRECTORY}/buildtools/Cmake/AddTests.cmake > ${PROJECT_DIRECTORY}/buildtools/Cmake/memcheck_tests.cmake")
                else(NEW_VALGRIND_VERSION)
                        set(enable_memcheck false)
                        message("Command valgrind not found --> enable_memcheck autoset to false.")
                else(NEW_VALGRIND_VERSION)
                        set(enable_memcheck false)
                        message("Command valgrind not found --> enable_memcheck autoset to false.")
index 312d8e4..c4b6db6 100755 (executable)
@@ -26,20 +26,25 @@ while(defined($line=<MAKETEST>)) {
        last;
     }
     if($dump) {
        last;
     }
     if($dump) {
-       if($line =~ /ADD_TEST/) {
-           if($line =~ /ADD_TEST\(([\S]+)\s+.*\/tools\/tesh\/tesh\s*--cd\s*(\S+)\s+(.*)\)$/) {
+       if($line =~ /ADD_TEST/) 
+       {
+           if($line =~ /ADD_TEST\(([\S]+)\s+.*\$\{CMAKE_BINARY_DIR\}\/bin\/tesh\s*--cd\s*(\S+)\s+(.*)\)$/) 
+           {
                my($name_test,$path,$tesh_file)=($1,$2,$3);
                $path=~ s/\"//g;
                my($complete_tesh_file)=$path."/".$tesh_file;
                my($count)=0;
                my($count_first)=0;
                my($count_second)=0;
                my($name_test,$path,$tesh_file)=($1,$2,$3);
                $path=~ s/\"//g;
                my($complete_tesh_file)=$path."/".$tesh_file;
                my($count)=0;
                my($count_first)=0;
                my($count_second)=0;
-               $complete_tesh_file =~ s/\${PROJECT_DIRECTORY}/$proj_dir/g;
+               $complete_tesh_file =~ s/\$\{CMAKE_BINARY_DIR\}/$proj_dir/g;
+               $complete_tesh_file =~ s/\$\{PROJECT_DIRECTORY\}/$proj_dir/g;
                open TESH_FILE, $complete_tesh_file or die "Unable to open $complete_tesh_file $!\n";
                my($l);
                open TESH_FILE, $complete_tesh_file or die "Unable to open $complete_tesh_file $!\n";
                my($l);
-               while(defined($l=<TESH_FILE>)) {
+               while(defined($l=<TESH_FILE>))
+               {
                    chomp $l;
                    chomp $l;
-                   if($l =~ /^\$ (.*)$/) {
+                   if($l =~ /^\$ (.*)$/) 
+                   {
                        my($command) = $1;
                        $command =~ s/\${srcdir:=.}/./g;
                        $command =~ s/\${EXEEXT:=}//g;
                        my($command) = $1;
                        $command =~ s/\${srcdir:=.}/./g;
                        $command =~ s/\${EXEEXT:=}//g;
@@ -47,22 +52,29 @@ while(defined($line=<MAKETEST>)) {
                        $command =~ s/\$SG_TEST_ENV //g;
                        $command =~ s/\$SG_EXENV_TEST //g; 
                        $command =~ s/\$EXEEXT//g;
                        $command =~ s/\$SG_TEST_ENV //g;
                        $command =~ s/\$SG_EXENV_TEST //g; 
                        $command =~ s/\$EXEEXT//g;
+                       $command =~ s/\${EXEEXT}//g;
                        $command =~ s/\${srcdir}/\${PROJECT_DIRECTORY}\/src/g;
                        $command =~ s/ \$ARGS//g;
                        $command =~ s/ \$@ //g; 
                        $command =~ s/\${srcdir}/\${PROJECT_DIRECTORY}\/src/g;
                        $command =~ s/ \$ARGS//g;
                        $command =~ s/ \$@ //g; 
+                       $command =~ s/..\/..\/bin\/smpirun/\${CMAKE_BINARY_DIR\}\/bin\/smpirun/g;
                        print "ADD_TEST(memcheck-$name_test-$count $command --cd $path\/)\n";
                        #push @test_list, "memcheck-$name_test-$count";
                        $count++;
                    }
                        print "ADD_TEST(memcheck-$name_test-$count $command --cd $path\/)\n";
                        #push @test_list, "memcheck-$name_test-$count";
                        $count++;
                    }
-                   if($l =~ /^\& (.*)$/) {
+                   if($l =~ /^\& (.*)$/) 
+                   {
                        last;
                    }
                }
                close(TESH_FILE);
                        last;
                    }
                }
                close(TESH_FILE);
-           } else {
+           } 
+           else 
+           {
                next;
            }
                next;
            }
-       } else {
+       } 
+       else 
+       {
            print $line."\n";
        }
     }   
            print $line."\n";
        }
     }   
index d0a6568..c16568b 100644 (file)
@@ -143,12 +143,14 @@ ADD_TEST(memcheck-msg-masterslave_cpu_ti-3 masterslave/masterslave_bypass --log=
 
 IF(HAVE_TRACING)
 ADD_TEST(memcheck-tracing-ms-0 tracing/ms ./tracing/platform.xml ./tracing/deployment.xml --cd ${PROJECT_DIRECTORY}/examples/msg/)
 
 IF(HAVE_TRACING)
 ADD_TEST(memcheck-tracing-ms-0 tracing/ms ./tracing/platform.xml ./tracing/deployment.xml --cd ${PROJECT_DIRECTORY}/examples/msg/)
-ADD_TEST(memcheck-tracing-ms-1 cat ./tracing/../simulation.trace --cd ${PROJECT_DIRECTORY}/examples/msg/)
+ADD_TEST(memcheck-tracing-ms-1 cat ./tracing/../ms.trace --cd ${PROJECT_DIRECTORY}/examples/msg/)
 ADD_TEST(memcheck-tracing-categories-0 tracing/categories ./tracing/platform.xml ./tracing/deployment.xml --cd ${PROJECT_DIRECTORY}/examples/msg/)
 ADD_TEST(memcheck-tracing-categories-1 cat ./tracing/../categories.trace --cd ${PROJECT_DIRECTORY}/examples/msg/)
 ADD_TEST(memcheck-tracing-categories-0 tracing/categories ./tracing/platform.xml ./tracing/deployment.xml --cd ${PROJECT_DIRECTORY}/examples/msg/)
 ADD_TEST(memcheck-tracing-categories-1 cat ./tracing/../categories.trace --cd ${PROJECT_DIRECTORY}/examples/msg/)
+ADD_TEST(memcheck-tracing-volume-0 tracing/volume ./tracing/platform.xml ./tracing/deployment.xml --cd ${PROJECT_DIRECTORY}/examples/msg/)
+ADD_TEST(memcheck-tracing-tasks-0 tracing/tasks ./tracing/platform.xml ./tracing/deployment.xml --cd ${PROJECT_DIRECTORY}/examples/msg/)
+ADD_TEST(memcheck-tracing-process-migration-0 tracing/procmig ./tracing/platform.xml ./tracing/procmig-deploy.xml --cd ${PROJECT_DIRECTORY}/examples/msg/)
 ENDIF(HAVE_TRACING)
 
 ENDIF(HAVE_TRACING)
 
-
 IF(${ARCH_32_BITS})
 ADD_TEST(memcheck-gras-ping-sg-32-0 ./ping_simulator ./../../msg/small_platform.xml ./ping.xml --cd ${PROJECT_DIRECTORY}/examples/gras/ping/)
 ADD_TEST(memcheck-gras-rpc-sg-32-0 ./rpc_simulator ./../../msg/small_platform.xml ./rpc.xml --log=root.fmt:"'[%h:%P:(%i)] [%c/%p] %m%n'" --cd ${PROJECT_DIRECTORY}/examples/gras/rpc/)
 IF(${ARCH_32_BITS})
 ADD_TEST(memcheck-gras-ping-sg-32-0 ./ping_simulator ./../../msg/small_platform.xml ./ping.xml --cd ${PROJECT_DIRECTORY}/examples/gras/ping/)
 ADD_TEST(memcheck-gras-rpc-sg-32-0 ./rpc_simulator ./../../msg/small_platform.xml ./rpc.xml --log=root.fmt:"'[%h:%P:(%i)] [%c/%p] %m%n'" --cd ${PROJECT_DIRECTORY}/examples/gras/rpc/)
@@ -176,11 +178,11 @@ ADD_TEST(memcheck-gras-properties-sg-0 ./properties_simulator ./../../platforms/
 
 # amok examples
 IF(${ARCH_32_BITS})
 
 # amok examples
 IF(${ARCH_32_BITS})
-ADD_TEST(memcheck-amok-bandwidth-sg-32-0 bandwidth/bandwidth_simulator${EXEEXT} ./../msg/small_platform.xml ./bandwidth/bandwidth.xml --cd ${PROJECT_DIRECTORY}/examples/amok/)
-ADD_TEST(memcheck-amok-saturate-sg-32-0 saturate/saturate_simulator${EXEEXT} ./../msg/small_platform.xml ./saturate/saturate.xml --cd ${PROJECT_DIRECTORY}/examples/amok/)
+ADD_TEST(memcheck-amok-bandwidth-sg-32-0 bandwidth/bandwidth_simulator ./../msg/small_platform.xml ./bandwidth/bandwidth.xml --cd ${PROJECT_DIRECTORY}/examples/amok/)
+ADD_TEST(memcheck-amok-saturate-sg-32-0 saturate/saturate_simulator ./../msg/small_platform.xml ./saturate/saturate.xml --cd ${PROJECT_DIRECTORY}/examples/amok/)
 ELSE(${ARCH_32_BITS})
 ELSE(${ARCH_32_BITS})
-ADD_TEST(memcheck-amok-bandwidth-sg-64-0 bandwidth/bandwidth_simulator${EXEEXT} ./../msg/small_platform.xml ./bandwidth/bandwidth.xml --cd ${PROJECT_DIRECTORY}/examples/amok/)
-ADD_TEST(memcheck-amok-saturate-sg-64-0 saturate/saturate_simulator${EXEEXT} ./../msg/small_platform.xml ./saturate/saturate.xml --cd ${PROJECT_DIRECTORY}/examples/amok/)
+ADD_TEST(memcheck-amok-bandwidth-sg-64-0 bandwidth/bandwidth_simulator ./../msg/small_platform.xml ./bandwidth/bandwidth.xml --cd ${PROJECT_DIRECTORY}/examples/amok/)
+ADD_TEST(memcheck-amok-saturate-sg-64-0 saturate/saturate_simulator ./../msg/small_platform.xml ./saturate/saturate.xml --cd ${PROJECT_DIRECTORY}/examples/amok/)
 ENDIF(${ARCH_32_BITS})
 
 # simdag examples
 ENDIF(${ARCH_32_BITS})
 
 # simdag examples
@@ -189,13 +191,15 @@ ADD_TEST(memcheck-simdag-test_simdag2-0 ./sd_test2 ./2clusters.xml --cd ${PROJEC
 ADD_TEST(memcheck-simdag-test_prop-0 properties/sd_prop ./../platforms/prop.xml --cd ${PROJECT_DIRECTORY}/examples/simdag/)
 ADD_TEST(memcheck-simdag-metaxml_test-0 metaxml/sd_meta ./../platforms/metaxml.xml --cd ${PROJECT_DIRECTORY}/examples/simdag/)
 
 ADD_TEST(memcheck-simdag-test_prop-0 properties/sd_prop ./../platforms/prop.xml --cd ${PROJECT_DIRECTORY}/examples/simdag/)
 ADD_TEST(memcheck-simdag-metaxml_test-0 metaxml/sd_meta ./../platforms/metaxml.xml --cd ${PROJECT_DIRECTORY}/examples/simdag/)
 
+if(enable_smpi)
 # smpi examples
 # smpi examples
-ADD_TEST(memcheck-smpi-bcast-0 ../../src/smpi/smpirun -map -hostfile ./hostfile -platform ./../msg/small_platform.xml -np 3 ./bcast -q --cd ${PROJECT_DIRECTORY}/examples/smpi/)
-ADD_TEST(memcheck-smpi-bcast-1 ../../src/smpi/smpirun -map -hostfile ./hostfile -platform ./../msg/small_platform.xml -np 6 ./bcast -q --cd ${PROJECT_DIRECTORY}/examples/smpi/)
-ADD_TEST(memcheck-smpi-bcast-2 ../../src/smpi/smpirun -map -hostfile ./hostfile -platform ./../msg/small_platform.xml -np 12 ./bcast -q --cd ${PROJECT_DIRECTORY}/examples/smpi/)
-ADD_TEST(memcheck-smpi-reduce-0 ../../src/smpi/smpirun -map -hostfile ./hostfile -platform ./../msg/small_platform.xml -np 3 ./reduce -q --cd ${PROJECT_DIRECTORY}/examples/smpi/)
-ADD_TEST(memcheck-smpi-reduce-1 ../../src/smpi/smpirun -map -hostfile ./hostfile -platform ./../msg/small_platform.xml -np 6 ./reduce -q --cd ${PROJECT_DIRECTORY}/examples/smpi/)
-ADD_TEST(memcheck-smpi-reduce-2 ../../src/smpi/smpirun -map -hostfile ./hostfile -platform ./../msg/small_platform.xml -np 12 ./reduce -q  --cd ${PROJECT_DIRECTORY}/examples/smpi/)
+ADD_TEST(memcheck-smpi-bcast-0 ${CMAKE_BINARY_DIR}/bin/smpirun -map -hostfile ./hostfile -platform ./../msg/small_platform.xml -np 3 ./bcast -q --cd ${PROJECT_DIRECTORY}/examples/smpi/)
+ADD_TEST(memcheck-smpi-bcast-1 ${CMAKE_BINARY_DIR}/bin/smpirun -map -hostfile ./hostfile -platform ./../msg/small_platform.xml -np 6 ./bcast -q --cd ${PROJECT_DIRECTORY}/examples/smpi/)
+ADD_TEST(memcheck-smpi-bcast-2 ${CMAKE_BINARY_DIR}/bin/smpirun -map -hostfile ./hostfile -platform ./../msg/small_platform.xml -np 12 ./bcast -q --cd ${PROJECT_DIRECTORY}/examples/smpi/)
+ADD_TEST(memcheck-smpi-reduce-0 ${CMAKE_BINARY_DIR}/bin/smpirun -map -hostfile ./hostfile -platform ./../msg/small_platform.xml -np 3 ./reduce -q --cd ${PROJECT_DIRECTORY}/examples/smpi/)
+ADD_TEST(memcheck-smpi-reduce-1 ${CMAKE_BINARY_DIR}/bin/smpirun -map -hostfile ./hostfile -platform ./../msg/small_platform.xml -np 6 ./reduce -q --cd ${PROJECT_DIRECTORY}/examples/smpi/)
+ADD_TEST(memcheck-smpi-reduce-2 ${CMAKE_BINARY_DIR}/bin/smpirun -map -hostfile ./hostfile -platform ./../msg/small_platform.xml -np 12 ./reduce -q  --cd ${PROJECT_DIRECTORY}/examples/smpi/)
+endif(enable_smpi)
 
 if(HAVE_GTNETS)
 ADD_TEST(memcheck-msg-gtnets-waxman-0 gtnets/gtnets gtnets/waxman-p.xml gtnets/waxman-d.xml --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets --cd ${PROJECT_DIRECTORY}/examples/msg/)
 
 if(HAVE_GTNETS)
 ADD_TEST(memcheck-msg-gtnets-waxman-0 gtnets/gtnets gtnets/waxman-p.xml gtnets/waxman-d.xml --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets --cd ${PROJECT_DIRECTORY}/examples/msg/)
@@ -217,4 +221,5 @@ ADD_TEST(memcheck-ruby-masterslave-0 ruby -I../../src/bindings/ruby MasterSlave.
 ADD_TEST(memcheck-ruby-ping_pong-0 ruby -I ../../src/bindings/ruby PingPong.rb --cd ${PROJECT_DIRECTORY}/examples/ruby/)
 ADD_TEST(memcheck-ruby-quicksort-0 ruby -I ../../src/bindings/ruby Quicksort.rb --cd ${PROJECT_DIRECTORY}/examples/ruby/)
 endif(HAVE_RUBY)
 ADD_TEST(memcheck-ruby-ping_pong-0 ruby -I ../../src/bindings/ruby PingPong.rb --cd ${PROJECT_DIRECTORY}/examples/ruby/)
 ADD_TEST(memcheck-ruby-quicksort-0 ruby -I ../../src/bindings/ruby Quicksort.rb --cd ${PROJECT_DIRECTORY}/examples/ruby/)
 endif(HAVE_RUBY)
+
 endif(enable_memcheck)
 endif(enable_memcheck)