added gun, ppbench tests, and warnings and coding covention violation checking.
authorjjose <jjose@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 17 Aug 2010 16:00:35 +0000 (16:00 +0000)
committerjjose <jjose@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 17 Aug 2010 16:00:35 +0000 (16:00 +0000)
CMakeLists.txt
test/CMakeLists.txt
test/Violation.cmake [new file with mode: 0644]
test/Warnings.cmake [new file with mode: 0644]
test/continuous-build.cmake [new file with mode: 0644]
test/gun/CMakeLists.txt [new file with mode: 0644]
test/ppbench/CMakeLists.txt [new file with mode: 0644]

index 505f2f6..4734391 100644 (file)
@@ -192,5 +192,8 @@ Add_subdirectory(VZERO)
 Add_subdirectory(ZDC) 
 Add_subdirectory(ALIROOT)
 add_subdirectory(test)
+add_test ("Aliroot_executable" aliroot -q) 
+#copy testing files
+execute_process(COMMAND "cmake" "-E" "copy_directory" "${ALICE_ROOT}/test" "${ALICE_INSTALL}/test")
 
-add_test ("Aliroot_executable" aliroot -q) 
\ No newline at end of file
+message("Note : In order for the warnings test to execute successfully you need to log your make build output to make.log in the ALICE_INSTALL Directory using this command \n make -k > make.log 2>&1")
\ No newline at end of file
index e69de29..2c5b1a3 100644 (file)
@@ -0,0 +1,4 @@
+add_test("Warnings" cmake -P Warnings.cmake)
+add_test("Violations" cmake -P Violation.cmake)
+add_subdirectory(gun)
+add_subdirectory(ppbench)
\ No newline at end of file
diff --git a/test/Violation.cmake b/test/Violation.cmake
new file mode 100644 (file)
index 0000000..3ec3bb0
--- /dev/null
@@ -0,0 +1,204 @@
+cmake_minimum_required(VERSION 2.8)
+
+if(COMMAND CMAKE_POLICY)
+  if(POLICY CMP0009)
+    cmake_policy(SET CMP0009 NEW)
+  endif(POLICY CMP0009)
+endif(COMMAND CMAKE_POLICY)
+
+#Run Checkaliroot to get latest violations
+execute_process(COMMAND make -k check-all
+  WORKING_DIRECTORY $ENV{ALICE_INSTALL}
+  OUTPUT_FILE CheckAliroot.log )
+
+find_program(svn_command svn)
+
+#Function to count no of lines in a file equivalent to wc -l
+function (wcl _nLinesVar fileName)
+  file(READ ${fileName} fileData)
+  if(fileData)
+    if(WIN32)
+      string(REGEX MATCHALL "\r\n" nLines ${fileData})
+    else()
+      string(REGEX MATCHALL "[\r\n]" nLines ${fileData})
+    endif(WIN32)
+    list(LENGTH nLines nLines)
+    set(${_nLinesVar} ${nLines} PARENT_SCOPE)
+  else()
+    set(${_nLinesVar} -1 PARENT_SCOPE)
+  endif()
+endfunction()
+
+file(GLOB_RECURSE violExc "$ENV{ALICE_ROOT}/*THerwig6.viol"                     
+  "$ENV{ALICE_ROOT}/*AliRawReaderDateV3.viol"            
+  "$ENV{ALICE_ROOT}/*dateStream.viol"                      
+  "$ENV{ALICE_ROOT}/TTherminator/*.viol"                         
+  "$ENV{ALICE_ROOT}/*esdAna.viol"                         
+  "$ENV{ALICE_ROOT}/*TIsajet*.viol"                              
+  "$ENV{ALICE_ROOT}/*RecAna.viol"                         
+  "$ENV{ALICE_ROOT}/*LHAPDFWrap.viol"                     
+  "$ENV{ALICE_ROOT}/RAW/check/event.viol"                
+  "$ENV{ALICE_ROOT}/THerwig/check/HCommon.viol"          
+  "$ENV{ALICE_ROOT}/*HBTprocCOMMON.viol"                  
+  "$ENV{ALICE_ROOT}/*EPOScommon.viol"                     
+  "$ENV{ALICE_ROOT}/*DPMcommon.viol"                      
+  "$ENV{ALICE_ROOT}/*Hcommon.viol"                        
+  "$ENV{ALICE_ROOT}/*TPHICcommon.viol"                    
+  "$ENV{ALICE_ROOT}/JETAN/check/fastjet/*.viol"                            
+  "$ENV{ALICE_ROOT}/HLT/check/JET/fastjet/*.viol"                            
+  "$ENV{ALICE_ROOT}/PYTHIA8/*.viol"                              
+  "$ENV{ALICE_ROOT}/TEvtGen/*.viol"                              
+  "$ENV{ALICE_ROOT}/LHAPDF/*.viol"                         
+  "$ENV{ALICE_ROOT}/*HydCommon.viol"                      
+  "$ENV{ALICE_ROOT}/*AliHLTDataBuffer.viol")
+file(GLOB_RECURSE violFiles "$ENV{ALICE_ROOT}/*.viol")  
+list(REMOVE_ITEM violFiles ${violExc})
+
+#Total list of files
+list(LENGTH violFiles totf)
+#Total no of lines
+set(totl 0)
+#Count the number Violations per file and sort 
+foreach( violFile ${violFiles} )
+  file(READ ${violFile} fileData)
+  math(EXPR violLen "0")
+  if(fileData)
+    string(REGEX MATCHALL "violated:" violList ${fileData}) 
+    list(LENGTH violList violLen)   
+  endif(fileData)
+  math(EXPR totl "${totl} + ${violLen}")
+  math(EXPR violLen "999999 - ${violLen}") 
+  list(APPEND violCount "${violLen}:${violFile}")
+endforeach( violFile )  
+list(SORT violCount)
+list(LENGTH violCount max)
+if(max GREATER 10)
+  set(max 10)
+endif(max GREATER 10)
+message("==============================Overall Violations==============================\n")
+message("COUNT : VIOLATION FILE NAME\n------------------------------------------------------------------------------")
+#Print out top 10 violations 
+foreach(i RANGE ${max})
+  list(GET violCount ${i} line)
+  string(LENGTH ${line} lineLen)
+  math(EXPR lineLen "${lineLen}-7")
+  string(SUBSTRING ${line} 0 6 count)
+  string(SUBSTRING ${line} 7 ${lineLen} lineLen)
+
+  string(REPLACE "check/" "" args ${lineLen})
+  string(REPLACE "viol" "*" args ${args})
+  file(GLOB args "${args}")
+  foreach(arg ${args})
+   list(APPEND argList "${arg}")
+  endforeach(arg)
+
+  string(REPLACE "$ENV{ALICE_ROOT}/" "" module ${lineLen}) 
+  math(EXPR count "999999 - ${count}")
+  string(LENGTH ${count} digit)
+  if(${digit} EQUAL 1)
+    set(space "    ")
+  elseif(${digit} EQUAL 2)
+    set(space "   ")
+  elseif(${digit} EQUAL 3)
+    set(space "  ")
+  endif(${digit} EQUAL 1)
+  message("${space}${count} : ${module}")
+
+endforeach(i)
+
+set(tot 0)
+set (anlys "${anlys}\n\n==============================Detailed Analysis==============================\n")
+#Blaming people
+set (anlys "${anlys}+--| AliRoot\n")
+foreach( blameFile ${argList} )
+  string(REPLACE "$ENV{ALICE_ROOT}/" "" mainFile ${blameFile})
+  set(anlys "${anlys}   |\n")
+  execute_process(COMMAND "${svn_command}" "blame" "${blameFile}"
+    WORKING_DIRECTORY "$ENV{ALICE_ROOT}"
+    OUTPUT_FILE tmpViols
+    OUTPUT_VARIABLE tmpVio)
+  wcl(fileLen "$ENV{ALICE_ROOT}/tmpViols")
+  set(anlys "${anlys}   |--| ${mainFile} |-- ${fileLen} lines\n")  
+  set(nameList "")
+  file(STRINGS "$ENV{ALICE_ROOT}/tmpViols" violData)
+  # file(READ "tmpViols" violData)
+  # string(REGEX REPLACE "\n" ";" "violData" "${violData}")
+  foreach(violLine ${violData})
+    string(REGEX MATCH "[0-9]+[ ]+[a-zA-Z0-9]+" "name" "${violLine}")
+    string(REGEX REPLACE "^[0-9]+[ ]+" "" "name" "${name}")
+    list(APPEND nameList ${name})
+    list(APPEND fullViolList ${name})
+  endforeach(violLine)
+  list(LENGTH violData tot)
+  set (userList ${nameList})
+  set(finale "")  
+  if(userList)
+    list(REMOVE_DUPLICATES userList)
+  endif(userList)
+  foreach(name ${userList})
+    string(REGEX MATCHALL "${name}" "nameCount" "${nameList}")
+    list(LENGTH nameCount nameCount)
+    math(EXPR num "(${nameCount}*100)/${tot}")
+    math(EXPR dec "((10000*${nameCount}/${tot}-100*${num}+5))")
+    if( ${dec} GREATER 99 )
+      set(dec 0)
+      math(EXPR num "${num}+1")
+    endif(${dec} GREATER 99)
+    math(EXPR dec "${dec}/10")
+    math(EXPR pcnt "99999 - ${num}${dec}")
+    string(LENGTH ${num} digit)
+    if(digit EQUAL 1)
+      set(space "  ")
+    elseif(digit EQUAL 2)
+      set(space " ")
+    endif(digit EQUAL 1) 
+    list(APPEND finale "${pcnt}-${space}${num}.${dec}% | ${name} |-- ${nameCount} lines")
+  endforeach(name)
+  list(SORT finale)
+  foreach(record ${finale})
+    string(LENGTH ${record} recLen)
+    math(EXPR recLen "${recLen}-6")
+    string(SUBSTRING ${record} 6 ${recLen}  record)
+    set(anlys "${anlys}      +--|${record}\n")
+  endforeach(record)
+endforeach( blameFile)
+
+list(LENGTH fullViolList tot)
+set(nameList ${fullViolList})
+set(finale "")
+#Sorting Names
+if(nameList)
+  list(REMOVE_DUPLICATES nameList)
+endif(nameList)
+foreach(name ${nameList})
+  string(REGEX MATCHALL "${name}" "nameCount" "${fullViolList}")
+  list(LENGTH nameCount nameCount)
+  math(EXPR num "(${nameCount}*100)/${tot}")
+  math(EXPR dec "((10000*${nameCount}/${tot}-100*${num}+5))")
+  if( ${dec} GREATER 99 )
+    set(dec 0)
+    math(EXPR num "${num}+1")
+  endif(${dec} GREATER 99)
+  math(EXPR dec "${dec}/10")
+  math(EXPR pcnt "99999 - ${num}${dec}")
+  string(LENGTH ${num} digit)
+  if(digit EQUAL 1)
+    set(space "  ")
+  elseif(digit EQUAL 2)
+    set(space " ")
+  endif(digit EQUAL 1) 
+  list(APPEND finale "${pcnt}-${space}${num}.${dec}% | ${name}")
+endforeach(name)
+
+#Print Code Percentages
+list(SORT finale)
+message("\n\n==============================Overall Percentages==============================\n")
+foreach(record ${finale})
+  string(LENGTH ${record} recLen)
+  math(EXPR recLen "${recLen}-6")
+  string(SUBSTRING ${record} 6 ${recLen}  record)
+  message("${record}")
+endforeach(record)
+
+#Print Detailed Analysis
+message("${anlys}")
diff --git a/test/Warnings.cmake b/test/Warnings.cmake
new file mode 100644 (file)
index 0000000..e4bb256
--- /dev/null
@@ -0,0 +1,149 @@
+cmake_minimum_required(VERSION 2.8)
+
+if(COMMAND CMAKE_POLICY)
+  if(POLICY CMP0009)
+    cmake_policy(SET CMP0009 NEW)
+  endif(POLICY CMP0009)
+endif(COMMAND CMAKE_POLICY)
+set(rs "$ENV{ROOTSYS}")
+set(ar "$ENV{ALICE_ROOT}")
+#warnings exceptions
+set(exceptions "always evaluates both arguments" "std::" "TGeoMatrix::operator\\*" "struct AliRawDataHeader" "/usr/local/dim" " from " "JETAN/fastjet/fastjet/" "G__" "base class .struct AliHLTCaloChannelDataStruct. has a non-virtual destructor")
+
+#Function to count no of lines in a file equivalent to wc -l
+function (wcl _nLinesVar fileName)
+  file(READ ${fileName} fileData)
+  if(fileData)
+    if(WIN32)
+      string(REGEX MATCHALL "\r\n" nLines ${fileData})
+    else()
+      string(REGEX MATCHALL "[\r\n]" nLines ${fileData})
+    endif(WIN32)
+    list(LENGTH nLines nLines)
+    set(${_nLinesVar} ${nLines} PARENT_SCOPE)
+  else()
+    set(${_nLinesVar} -1 PARENT_SCOPE)
+  endif()
+endfunction()
+
+find_program(svn_command svn)
+
+if(ar AND rs)
+  #Read build log from (default - make.log)
+  set(buildLog "$ENV{ALICE_INSTALL}/make.log")
+  file(READ ${buildLog} lineList)
+  string(REGEX REPLACE "\n" ";" "lineList" "${lineList}")
+  foreach (line ${lineList})
+    set(warning "")
+    string(REGEX MATCH ".+warning:.+" "warning" "${line}")
+    if(warning)
+      #    message("${warning}")
+      list(APPEND warnList "${line}")
+      string(REGEX MATCH "(.+):[0-9]+" "file" "${line}")
+      string(REGEX REPLACE ":[0-9]+" "" "file" "${file}")
+      list(APPEND fileList "${file}")
+    endif(warning)
+  endforeach(line)
+  list(REMOVE_DUPLICATES fileList)
+  set(rootOut "+--| ROOT\n")
+  set(aliOut "+--| ALIROOT\n")
+  list(SORT fileList)
+  foreach(file ${fileList})
+    set(root "")
+    set(aliroot "")
+    string(REGEX MATCH "${rs}" "root" "${file}")  
+    string(REGEX MATCH "${ar}" "aliroot" "${aliroot}")
+    if(root)
+      string(REGEX REPLACE "${root}[/]*" "" "file" "${file}")
+      set(rootOut "${rootOut}   |\n")
+      set(rootOut "${rootOut}   +--| ${file}\n")
+    else()
+      set(aliroot ${ar})
+      string(REGEX REPLACE "${aliroot}[/]*" "" "file" "${file}")
+      set(aliOut "${aliOut}   |\n")
+      set(aliOut "${aliOut}   +--| ${file}\n")
+    endif(root)
+    list(REMOVE_DUPLICATES warnList)
+    foreach(line ${warnList})
+      set(match "")
+      string(REGEX MATCH "${file}[:]*" "match" "${line}")
+      if(match)
+       string(REGEX REPLACE "${match}" "" "line" "${line}")
+       if(aliroot)
+         string(REGEX REPLACE "${aliroot}" "" "line" "${line}")
+         set(aliOut "${aliOut}      +--| ${line}\n")
+       elseif(root)
+           string(REGEX REPLACE "${root}" "" "line" "${line}")
+           set(rootOut "${rootOut}      +--| ${line}\n")
+         endif(aliroot)
+       endif(match)
+      endforeach(line)
+    endforeach(file)
+
+set(tot 0)
+set (anlys "${anlys}\n\n==============================Detailed Analysis==============================\n")
+#Blaming people
+set (anlys "${anlys}+--| AliRoot\n")
+foreach( blameFile ${fileList} )
+  string(REPLACE "$ENV{ALICE_ROOT}/" "" mainFile ${blameFile})
+  set(anlys "${anlys}   |\n")
+  execute_process(COMMAND "${svn_command}" "blame" "${blameFile}"
+    WORKING_DIRECTORY "$ENV{ALICE_ROOT}"
+    OUTPUT_FILE tmpViols
+    OUTPUT_VARIABLE tmpVio)
+  wcl(fileLen "$ENV{ALICE_ROOT}/tmpViols")
+  set(anlys "${anlys}   |--| ${mainFile} |-- ${fileLen} lines\n")  
+  set(nameList "")
+  file(STRINGS "$ENV{ALICE_ROOT}/tmpViols" violData)
+  # file(READ "tmpViols" violData)
+  # string(REGEX REPLACE "\n" ";" "violData" "${violData}")
+  foreach(violLine ${violData})
+    string(REGEX MATCH "[0-9]+[ ]+[a-zA-Z0-9]+" "name" "${violLine}")
+    string(REGEX REPLACE "^[0-9]+[ ]+" "" "name" "${name}")
+    list(APPEND nameList ${name})
+    list(APPEND fullViolList ${name})
+  endforeach(violLine)
+  list(LENGTH violData tot)
+  set (userList ${nameList})
+  set(finale "")  
+  if(userList)
+    list(REMOVE_DUPLICATES userList)
+  endif(userList)
+  foreach(name ${userList})
+    string(REGEX MATCHALL "${name}" "nameCount" "${nameList}")
+    list(LENGTH nameCount nameCount)
+    math(EXPR num "(${nameCount}*100)/${tot}")
+    math(EXPR dec "((10000*${nameCount}/${tot}-100*${num}+5))")
+    if( ${dec} GREATER 99 )
+      set(dec 0)
+      math(EXPR num "${num}+1")
+    endif(${dec} GREATER 99)
+    math(EXPR dec "${dec}/10")
+    math(EXPR pcnt "99999 - ${num}${dec}")
+    string(LENGTH ${num} digit)
+    if(digit EQUAL 1)
+      set(space "  ")
+    elseif(digit EQUAL 2)
+      set(space " ")
+    endif(digit EQUAL 1) 
+    list(APPEND finale "${pcnt}-${space}${num}.${dec}% | ${name} |-- ${nameCount} lines")
+  endforeach(name)
+  list(SORT finale)
+  foreach(record ${finale})
+    string(LENGTH ${record} recLen)
+    math(EXPR recLen "${recLen}-6")
+    string(SUBSTRING ${record} 6 ${recLen}  record)
+    set(anlys "${anlys}      +--|${record}\n")
+  endforeach(record)
+endforeach( blameFile)
+
+
+
+message("${anlys}")
+    message("==============================ROOT FILE  WARNINGS==============================\n")
+    message("${rootOut}")
+    message("\n\n==============================ALIROOT FILE WARNINGS==============================\n")
+    message("${aliOut}")
+  else()
+    message(WARNING "Environment Variable ALICE_ROOT and ROOTSYS must be set")
+  endif(ar AND rs)
\ No newline at end of file
diff --git a/test/continuous-build.cmake b/test/continuous-build.cmake
new file mode 100644 (file)
index 0000000..34ccfcf
--- /dev/null
@@ -0,0 +1,124 @@
+#****Macros****
+find_program(UNAME NAMES uname)
+macro(getuname name flag)
+  exec_program("${UNAME}" ARGS "${flag}" OUTPUT_VARIABLE "${name}")
+endmacro(getuname)
+
+#****Configuration Variables****
+#Set Project Name
+set(CTEST_PROJECT_NAME "AliRoot")
+set(ALICE_ROOT $ENV{ALICE_ROOT})
+set(ALICE_INSTALL $ENV{ALICE_INSTALL})
+
+if(NOT ALICE_INSTALL)
+message(FATAL_ERROR "Please set environment variable ALICE_INSTALL to the AliRoot installation directory")
+endif(NOT ALICE_INSTALL)
+if(NOT ALICE_ROOT)
+message(FATAL_ERROR "Please set environment variable ALICE_ROOT to the AliRoot source directory")
+endif(NOT ALICE_ROOT)
+
+#Set hostname of current machine
+find_program(HOSTNAME_CMD NAMES hostname)
+exec_program(${HOSTNAME_CMD} ARGS OUTPUT_VARIABLE HOSTNAME)
+set(CTEST_SITE "${HOSTNAME}")
+
+#Set build name
+getuname(osname -s)
+getuname(osrel  -r)
+getuname(cpu    -m)
+set(CTEST_BUILD_NAME        "${osname}-${cpu}-prod")
+
+#Detect SVN and Make
+find_program(CTEST_SVN_COMMAND NAMES svn)
+find_program(MAKE NAMES make)
+find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
+set(CTEST_MEMORYCHECK_COMMAND_OPTIONS "--leak-check=full --error-limit=yes --leak-resolution=low")
+
+#AliRoot Repository and build settings
+set(ALICE_REPO "https://alisoft.cern.ch/AliRoot/trunk")
+set(MODEL "Continuous")
+
+
+#Set Nightly build start time
+set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
+set(CTEST_TEST_TIMEOUT 0)
+#Default drop site
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "alirootbuildcmake.cern.ch")
+set(CTEST_DROP_LOCATION "/~johny/submit.php?project=AliRoot")
+set(CTEST_DROP_SITE_CDASH TRUE)
+
+set(OLDREV 0)
+set(NEWREV 0)
+set(CYCLE 0)
+set(CLEARCYCLE 5)
+set(TESTCYCLE 2)
+#Get Revision
+execute_process(COMMAND svn info ${ALICE_ROOT} OUTPUT_VARIABLE _svn_out )
+string(REGEX REPLACE "^.*Revision: ([^\n]*).*$" "\\1" ALIROOT_SVN_REVISION ${_svn_out})
+set(OLDREV ${ALIROOT_SVN_REVISION})       
+set(NEWREV ${ALIROOT_SVN_REVISION})       
+message("Starting build of revision ${OLDREV}")
+#Setup Directories
+set(CTEST_BINARY_DIRECTORY  "${ALICE_INSTALL}")
+set(CTEST_SOURCE_DIRECTORY  "${ALICE_ROOT}")
+set(CTEST_DASHBOARD_ROOT    "$ENV{HOME}/Dashboards")
+#  set(CTEST_CHECKOUT_COMMAND "${CTEST_SVN_COMMAND} co ${ALICE_REPO} $ENV{ALICE_ROOT}")
+set(CTEST_UPDATE_COMMAND "${CTEST_SVN_COMMAND}")
+set(CTEST_CMAKE_COMMAND "\"${CMAKE_EXECUTABLE_NAME}\" -D Continuous")
+
+#CMake Generator
+set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
+
+message("Continuous Build Starting")
+
+#****Testing Process****
+while (${CTEST_ELAPSED_TIME} LESS 36000)
+  
+  set (START_TIME ${CTEST_ELAPSED_TIME})    
+  ctest_start (Continuous)
+      
+  #Build only if new revision of source is available
+  while(${OLDREV} EQUAL ${NEWREV} AND ${CYCLE} GREATER 0)
+    message("Updating source")
+    message("Current revision : ${OLDREV}")
+    ctest_update(BUILD "${CTEST_SOURCE_DIRECTORY}")
+    execute_process(COMMAND svn info ${ALICE_ROOT} OUTPUT_VARIABLE _svn_out)
+    string(REGEX REPLACE "^.*Revision: ([^\n]*).*$" "\\1" ALIROOT_SVN_REVISION ${_svn_out})
+    set(NEWREV ${ALIROOT_SVN_REVISION})             
+    message("New revision : ${NEWREV}")
+    if(${OLDREV} EQUAL ${NEWREV})
+      message("Source not updated, no need to build source")
+      ctest_sleep(300)
+    endif(${OLDREV} EQUAL ${NEWREV})
+  endwhile()
+  #    ctest_submit (PARTS Update)
+  set(OLDREV ${NEWREV})
+  math(EXPR CYCLE "${CYCLE} + 1")
+  message("Build #${CYCLE} ")
+  message("Revision : ${OLDREV}")
+  set (START_TIME ${CTEST_ELAPSED_TIME})    
+  math(EXPR CLEAR "${CYCLE}%${CLEARCYCLE}")
+  
+  #Clear build directory every CLEARCYCLE build
+  if(${CLEAR} EQUAL 0)
+    message("Clearing build directory")
+    ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
+  endif(${CLEAR} EQUAL 0) 
+  message(STATUS "Building source")
+  ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}")
+  
+  #Test every other build
+  math(EXPR TEST "${CYCLE}%${TESTCYCLE}")
+  if(${TEST} EQUAL 0)
+    message(STATUS "Running tests")
+    ctest_test (BUILD "${CTEST_BINARY_DIRECTORY}")
+  endif(${TEST} EQUAL 0)
+  ctest_submit ()
+  message("Build ${CYCLE} completed")
+  ctest_sleep(300)
+endwhile()
+
+
+
+
diff --git a/test/gun/CMakeLists.txt b/test/gun/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b8e12d8
--- /dev/null
@@ -0,0 +1 @@
+add_test("Gun_test" runtest.sh)
\ No newline at end of file
diff --git a/test/ppbench/CMakeLists.txt b/test/ppbench/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e155c27
--- /dev/null
@@ -0,0 +1 @@
+add_test("PPBench_test" runtest.sh)
\ No newline at end of file