[Cmake-commits] [cmake-commits] zach.mullen committed CMakeLists.txt NONE 1.1 CTestConfig.cmake NONE 1.1 lockFile.cxx NONE 1.1 test.cmake.in NONE 1.1

cmake-commits at cmake.org cmake-commits at cmake.org
Tue Sep 22 12:06:05 EDT 2009


Update of /cvsroot/CMake/CMake/Tests/CTestTestParallel
In directory public:/mounts/ram/cvs-serv2508/Tests/CTestTestParallel

Added Files:
	CMakeLists.txt CTestConfig.cmake lockFile.cxx test.cmake.in 
Log Message:
Added tests for ctest parallel options (PARALLEL_LEVEL, PROCESSORS, RUN_SERIAL)


--- NEW FILE: lockFile.cxx ---
#include <iostream>
#include <fstream>

//if run serially, works fine
//if run in parallel, someone will attempt to delete
//a locked file, which will fail
int main()
{
  std::string fname = "lockedFile.txt";
  std::fstream fout;
  fout.open(fname.c_str(), std::ios::out);

  for(int i = 0; i < 10000; i++)
  {
    fout << "x";
    fout.flush();
  }
  fout.close();
  return std::remove("lockedFile.txt");
}

--- NEW FILE: test.cmake.in ---
CMAKE_MINIMUM_REQUIRED(VERSION 2.1)

# Settings:
SET(CTEST_DASHBOARD_ROOT                "@CMake_BINARY_DIR@/Tests/CTestTest")
SET(CTEST_SITE                          "@SITE@")
SET(CTEST_BUILD_NAME                    "CTestTest- at BUILDNAME@-Parallel")

SET(CTEST_SOURCE_DIRECTORY              "@CMake_SOURCE_DIR@/Tests/CTestTestParallel")
SET(CTEST_BINARY_DIRECTORY              "@CMake_BINARY_DIR@/Tests/CTestTestParallel")
SET(CTEST_CVS_COMMAND                   "@CVSCOMMAND@")
SET(CTEST_CMAKE_GENERATOR               "@CMAKE_GENERATOR@")
SET(CTEST_BUILD_CONFIGURATION           "$ENV{CMAKE_CONFIG_TYPE}")
SET(CTEST_MEMORYCHECK_COMMAND           "@MEMORYCHECK_COMMAND@")
SET(CTEST_MEMORYCHECK_SUPPRESSIONS_FILE "@MEMORYCHECK_SUPPRESSIONS_FILE@")
SET(CTEST_MEMORYCHECK_COMMAND_OPTIONS   "@MEMORYCHECK_COMMAND_OPTIONS@")
SET(CTEST_COVERAGE_COMMAND              "@COVERAGE_COMMAND@")
SET(CTEST_NOTES_FILES                   "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")

#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})

FILE(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
CMAKE_CXX_FLAGS:STRING=@CMAKE_CXX_FLAGS@
CMAKE_C_FLAGS:STRING=@CMAKE_C_FLAGS@
CMAKE_C_COMPILER:STRING=@CMAKE_C_COMPILER@
CMAKE_CXX_COMPILER:STRING=@CMAKE_CXX_COMPILER@
CMAKE_C_COMPILER_ARG1:STRING=@CMAKE_C_COMPILER_ARG1@
CMAKE_CXX_COMPILER_ARG1:STRING=@CMAKE_CXX_COMPILER_ARG1@
")

CTEST_START(Experimental)
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
CTEST_BUILD(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
CTEST_TEST(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res PARALLEL_LEVEL 4)

--- NEW FILE: CMakeLists.txt ---
cmake_minimum_required (VERSION 2.6)
PROJECT(CTestTestParallel)

SET(DART_ROOT "" CACHE STRING "" FORCE)
ENABLE_TESTING()
INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)

GET_FILENAME_COMPONENT(CTEST_COMMAND "${CMAKE_COMMAND}" PATH)
SET(CTEST_COMMAND "${CTEST_COMMAND}/ctest")

ADD_EXECUTABLE (LockFile lockFile.cxx)
TARGET_LINK_LIBRARIES (NoBuild ${EXTRA_LIBS})

ENABLE_TESTING ()

ADD_TEST (TestRunSerial1 LockFile)
ADD_TEST (TestRunSerial2 LockFile)
SET_TESTS_PROPERTIES(TestRunSerial1 TestRunSerial2 PROPERTIES RUN_SERIAL true)

ADD_TEST (TestProcessorsGreaterThanMPL1 LockFile)
ADD_TEST (TestProcessorsGreaterThanMPL2 LockFile)
SET_TESTS_PROPERTIES(TestProcessorsGreaterThanMPL1 PROPERTIES PROCESSORS 10)

INCLUDE (CTest)

--- NEW FILE: CTestConfig.cmake ---
set(CTEST_PROJECT_NAME "CTestTestParallel")
set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
set(CTEST_DART_SERVER_VERSION "2")
set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "www.cdash.org")
set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
set(CTEST_DROP_SITE_CDASH TRUE)



More information about the Cmake-commits mailing list