From: mquinson Date: Fri, 12 Nov 2010 15:22:06 +0000 (+0000) Subject: always regenerate the unit tests when possible, even if not in maintainer_mode X-Git-Tag: v3_5~294 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/e1ca3c23e6193b55f52918a2e957596d4d6d96ab always regenerate the unit tests when possible, even if not in maintainer_mode git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8533 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/CMakeLists.txt b/CMakeLists.txt index da7ee4c53b..8e525e47ed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -134,6 +134,7 @@ include(${PROJECT_DIRECTORY}/buildtools/Cmake/DefinePackages.cmake) ### Build some Maintainer files include(${PROJECT_DIRECTORY}/buildtools/Cmake/MaintainerMode.cmake) +include(${PROJECT_DIRECTORY}/buildtools/Cmake/UnitTesting.cmake) ### Setup gcc flags include(${PROJECT_DIRECTORY}/buildtools/Cmake/Flags.cmake) diff --git a/buildtools/Cmake/MaintainerMode.cmake b/buildtools/Cmake/MaintainerMode.cmake index 477d66c9d7..3157bee9b6 100644 --- a/buildtools/Cmake/MaintainerMode.cmake +++ b/buildtools/Cmake/MaintainerMode.cmake @@ -132,87 +132,6 @@ else(HAVE_FLEXML AND HAVE_FLEX AND SED_EXE) message(FATAL_ERROR "Need to install all tools for maintainer mode !!!") endif(HAVE_FLEXML AND HAVE_FLEX AND SED_EXE) -if(PERL_EXECUTABLE) - - ADD_CUSTOM_COMMAND( - OUTPUT ${PROJECT_DIRECTORY}/src/cunit_unit.c - ${PROJECT_DIRECTORY}/src/ex_unit.c - ${PROJECT_DIRECTORY}/src/dynar_unit.c - ${PROJECT_DIRECTORY}/src/dict_unit.c - ${PROJECT_DIRECTORY}/src/set_unit.c - ${PROJECT_DIRECTORY}/src/swag_unit.c - ${PROJECT_DIRECTORY}/src/xbt_str_unit.c - ${PROJECT_DIRECTORY}/src/xbt_strbuff_unit.c - ${PROJECT_DIRECTORY}/src/xbt_sha_unit.c - ${PROJECT_DIRECTORY}/src/config_unit.c - ${PROJECT_DIRECTORY}/src/xbt_synchro_unit.c - - DEPENDS ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl - ${PROJECT_DIRECTORY}/src/xbt/cunit.c - ${PROJECT_DIRECTORY}/src/xbt/ex.c - ${PROJECT_DIRECTORY}/src/xbt/dynar.c - ${PROJECT_DIRECTORY}/src/xbt/dict.c - ${PROJECT_DIRECTORY}/src/xbt/set.c - ${PROJECT_DIRECTORY}/src/xbt/swag.c - ${PROJECT_DIRECTORY}/src/xbt/xbt_str.c - ${PROJECT_DIRECTORY}/src/xbt/xbt_strbuff.c - ${PROJECT_DIRECTORY}/src/xbt/xbt_sha.c - ${PROJECT_DIRECTORY}/src/xbt/config.c - ${PROJECT_DIRECTORY}/src/xbt/xbt_synchro.c - - COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/simgrid_units_main.c - COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/cunit_unit.c - COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/ex_unit.c - COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/dynar_unit.c - COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/dict_unit.c - COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/set_unit.c - COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/swag_unit.c - COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/xbt_str_unit.c - COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/xbt_strbuff_unit.c - COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/xbt_sha_unit.c - COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/config_unit.c - COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/xbt_synchro_unit.c - - COMMAND chmod a=rwx ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl - - #$(TEST_UNITS): $(TEST_CFILES) - COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/cunit.c - COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/ex.c - COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/dynar.c - COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/dict.c - COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/set.c - COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/swag.c - COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/xbt_str.c - COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/xbt_strbuff.c - COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/xbt_sha.c - COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/config.c - COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/xbt_synchro.c - - #@builddir@/simgrid_units_main.c: $(TEST_UNITS) - COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/cunit.c - - WORKING_DIRECTORY ${PROJECT_DIRECTORY}/src - - COMMENT "Generating *_units files for testall..." - ) - - add_custom_target(units_files - DEPENDS ${PROJECT_DIRECTORY}/src/cunit_unit.c - ${PROJECT_DIRECTORY}/src/ex_unit.c - ${PROJECT_DIRECTORY}/src/dynar_unit.c - ${PROJECT_DIRECTORY}/src/dict_unit.c - ${PROJECT_DIRECTORY}/src/set_unit.c - ${PROJECT_DIRECTORY}/src/swag_unit.c - ${PROJECT_DIRECTORY}/src/xbt_str_unit.c - ${PROJECT_DIRECTORY}/src/xbt_strbuff_unit.c - ${PROJECT_DIRECTORY}/src/xbt_sha_unit.c - ${PROJECT_DIRECTORY}/src/config_unit.c - ${PROJECT_DIRECTORY}/src/xbt_synchro_unit.c - ) - -else(PERL_EXECUTABLE) - message(FATAL_ERROR "Install perl before use maintainer mode") -endif(PERL_EXECUTABLE) endif(enable_maintainer_mode AND NOT WIN32) diff --git a/buildtools/Cmake/UnitTesting.cmake b/buildtools/Cmake/UnitTesting.cmake new file mode 100644 index 0000000000..c651532bd5 --- /dev/null +++ b/buildtools/Cmake/UnitTesting.cmake @@ -0,0 +1,109 @@ +if(PERL_EXECUTABLE) + + ADD_CUSTOM_COMMAND( + OUTPUT ${PROJECT_DIRECTORY}/src/cunit_unit.c + ${PROJECT_DIRECTORY}/src/ex_unit.c + ${PROJECT_DIRECTORY}/src/dynar_unit.c + ${PROJECT_DIRECTORY}/src/dict_unit.c + ${PROJECT_DIRECTORY}/src/set_unit.c + ${PROJECT_DIRECTORY}/src/swag_unit.c + ${PROJECT_DIRECTORY}/src/xbt_str_unit.c + ${PROJECT_DIRECTORY}/src/xbt_strbuff_unit.c + ${PROJECT_DIRECTORY}/src/xbt_sha_unit.c + ${PROJECT_DIRECTORY}/src/config_unit.c + ${PROJECT_DIRECTORY}/src/xbt_synchro_unit.c + + DEPENDS ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl + ${PROJECT_DIRECTORY}/src/xbt/cunit.c + ${PROJECT_DIRECTORY}/src/xbt/ex.c + ${PROJECT_DIRECTORY}/src/xbt/dynar.c + ${PROJECT_DIRECTORY}/src/xbt/dict.c + ${PROJECT_DIRECTORY}/src/xbt/set.c + ${PROJECT_DIRECTORY}/src/xbt/swag.c + ${PROJECT_DIRECTORY}/src/xbt/xbt_str.c + ${PROJECT_DIRECTORY}/src/xbt/xbt_strbuff.c + ${PROJECT_DIRECTORY}/src/xbt/xbt_sha.c + ${PROJECT_DIRECTORY}/src/xbt/config.c + ${PROJECT_DIRECTORY}/src/xbt/xbt_synchro.c + + COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/simgrid_units_main.c + COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/cunit_unit.c + COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/ex_unit.c + COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/dynar_unit.c + COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/dict_unit.c + COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/set_unit.c + COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/swag_unit.c + COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/xbt_str_unit.c + COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/xbt_strbuff_unit.c + COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/xbt_sha_unit.c + COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/config_unit.c + COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/xbt_synchro_unit.c + + COMMAND chmod a=rwx ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl + + #$(TEST_UNITS): $(TEST_CFILES) + COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/cunit.c + COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/ex.c + COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/dynar.c + COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/dict.c + COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/set.c + COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/swag.c + COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/xbt_str.c + COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/xbt_strbuff.c + COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/xbt_sha.c + COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/config.c + COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/xbt_synchro.c + + #@builddir@/simgrid_units_main.c: $(TEST_UNITS) + COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl xbt/cunit.c + + WORKING_DIRECTORY ${PROJECT_DIRECTORY}/src + + COMMENT "Generating *_units files for testall..." + ) + + add_custom_target(units_files + DEPENDS ${PROJECT_DIRECTORY}/src/cunit_unit.c + ${PROJECT_DIRECTORY}/src/ex_unit.c + ${PROJECT_DIRECTORY}/src/dynar_unit.c + ${PROJECT_DIRECTORY}/src/dict_unit.c + ${PROJECT_DIRECTORY}/src/set_unit.c + ${PROJECT_DIRECTORY}/src/swag_unit.c + ${PROJECT_DIRECTORY}/src/xbt_str_unit.c + ${PROJECT_DIRECTORY}/src/xbt_strbuff_unit.c + ${PROJECT_DIRECTORY}/src/xbt_sha_unit.c + ${PROJECT_DIRECTORY}/src/config_unit.c + ${PROJECT_DIRECTORY}/src/xbt_synchro_unit.c + ) + +else(PERL_EXECUTABLE) + ADD_CUSTOM_COMMAND( + OUTPUT ${PROJECT_DIRECTORY}/src/cunit_unit.c + ${PROJECT_DIRECTORY}/src/ex_unit.c + ${PROJECT_DIRECTORY}/src/dynar_unit.c + ${PROJECT_DIRECTORY}/src/dict_unit.c + ${PROJECT_DIRECTORY}/src/set_unit.c + ${PROJECT_DIRECTORY}/src/swag_unit.c + ${PROJECT_DIRECTORY}/src/xbt_str_unit.c + ${PROJECT_DIRECTORY}/src/xbt_strbuff_unit.c + ${PROJECT_DIRECTORY}/src/xbt_sha_unit.c + ${PROJECT_DIRECTORY}/src/config_unit.c + ${PROJECT_DIRECTORY}/src/xbt_synchro_unit.c + + DEPENDS ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl + ${PROJECT_DIRECTORY}/src/xbt/cunit.c + ${PROJECT_DIRECTORY}/src/xbt/ex.c + ${PROJECT_DIRECTORY}/src/xbt/dynar.c + ${PROJECT_DIRECTORY}/src/xbt/dict.c + ${PROJECT_DIRECTORY}/src/xbt/set.c + ${PROJECT_DIRECTORY}/src/xbt/swag.c + ${PROJECT_DIRECTORY}/src/xbt/xbt_str.c + ${PROJECT_DIRECTORY}/src/xbt/xbt_strbuff.c + ${PROJECT_DIRECTORY}/src/xbt/xbt_sha.c + ${PROJECT_DIRECTORY}/src/xbt/config.c + ${PROJECT_DIRECTORY}/src/xbt/xbt_synchro.c + + COMMAND ${CMAKE_COMMAND} message "Unit files need to be regenerated, but no Perl installed") +endif(PERL_EXECUTABLE) + +