Mentions légales du service

Skip to content
Snippets Groups Projects
Commit eda3a100 authored by hhakim's avatar hhakim
Browse files

Separate gitlab ci jobs into quick and slow jobs and add job tags for win and macos.

Updating consistently CDashConfScriptLinux.cmake, CMakelists.txt and misc/test/CMakeLists.txt.
It Closes issue #5.
ctest_nightly job will normally be scheduled later on gitlab.
parent 3345b23b
No related branches found
No related tags found
No related merge requests found
.ctest_linux_template: &ctest_linux_script
.ctest_template: &ctest_script
script:
- ctest -O build/ctest_linux.log -S ./CDashConfScriptLinux.cmake
- ctest -O build/ctest.log -S ./CDashConfScriptLinux.cmake
tags:
- linux
- windows
- macos
ctest_linux:
<<: *ctest_linux_script
stages:
- test
- test_wrapper
ctest_linux_python:
variables: {BUILD_WRAPPER_PYTHON: "ON"}
<<: *ctest_linux_script
ctest:
<<: *ctest_script
variables: {SLOW_TESTS: "OFF"}
except:
- schedules
stage: test
ctest_linux_matlab:
variables: {BUILD_WRAPPER_MATLAB: "ON"}
<<: *ctest_linux_script
ctest_python:
<<: *ctest_script
variables: {BUILD_WRAPPER_PYTHON: "ON", SLOW_TESTS: "OFF"}
except:
- schedules
stage: test_wrapper
ctest_matlab:
<<: *ctest_script
variables: {BUILD_WRAPPER_MATLAB: "ON", SLOW_TESTS: "OFF"}
except:
- schedules
stage: test_wrapper
ctest_nightly:
<<: *ctest_script
variables: {BUILD_WRAPPER_MATLAB: "ON", BUILD_WRAPPER_PYTHON: "ON", SLOW_TESTS: "ON"}
only:
- schedules
cmake_minimum_required(VERSION 3.0.2)
SET (CTEST_SOURCE_DIRECTORY "./")
SET (CTEST_SOURCE_DIRECTORY "${CTEST_SCRIPT_DIRECTORY}")
SET (CTEST_BINARY_DIRECTORY "build")
set (CTEST_CMAKE_GENERATOR "Unix Makefiles") # using cmake for building so no need to set CTEST_CONFIGURE_COMMAND
set(CTEST_BUILD_NAME "${CMAKE_SYSTEM}_${CMAKE_HOST_SYSTEM_PROCESSOR}")
SET (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
set(CTEST_SITE "FaustLinux")
if(WIN32)
set (CTEST_CMAKE_GENERATOR "MinGW Makefiles") # using cmake for building so no need to set CTEST_CONFIGURE_COMMAND
set(CTEST_SITE "FaustWin")
elseif(APPLE AND UNIX)
set (CTEST_CMAKE_GENERATOR "Unix Makefiles")
set(CTEST_SITE "FaustMacOS")
elseif(UNIX)
set (CTEST_CMAKE_GENERATOR "Unix Makefiles")
set(CTEST_SITE "FaustLinux")
else()
message(FATAL_ERROR "Unknown system.")
endif()
if($ENV{BUILD_WRAPPER_PYTHON} MATCHES "ON")
set(CTEST_SITE "${CTEST_SITE}Python")
#set(BUILD_WRAPPER_PYTHON ON CACHE BOOL "" FORCE) #ignored by configure
set(CONF_OPTIONS "-DBUILD_WRAPPER_PYTHON=ON")
set(CONF_OPTIONS "-DBUILD_WRAPPER_PYTHON=ON -DBUILD_WRAPPER_MATLAB=OFF")
elseif($ENV{BUILD_WRAPPER_MATLAB} MATCHES "ON")
set(CTEST_SITE "${CTEST_SITE}Matlab")
#set(BUILD_WRAPPER_MATLAB ON CACHE BOOL "" FORCE)
set(CONF_OPTIONS "-DBUILD_WRAPPER_MATLAB=ON")
set(CONF_OPTIONS "-DBUILD_WRAPPER_MATLAB=ON -DBUILD_WRAPPER_PYTHON=OFF")
endif()
# https://docs.gitlab.com/ee/ci/variables/
message(STATUS "The git branch is:" $ENV{CI_COMMIT_REF_NAME})
message(STATUS "The git commit is:" $ENV{CI_COMMIT_SHA})
if($ENV{SLOW_TESTS} MATCHES "OFF")
set(CONF_OPTIONS "${CONF_OPTIONS} -DSLOW_TESTS=OFF")
else()
set(CONF_OPTIONS "${CONF_OPTIONS} -DSLOW_TESTS=ON")
#TODO: nightly mode ?
endif()
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
CTEST_START("Experimental") # TODO: Continuous mode ?
message(STATUS "The site name is: " ${CTEST_SITE})
#CTEST_START("Nightly")
#CTEST_START("Continuous")
#CTEST_UPDATE() # no need to checkout because gitlab-runner does it
set(BUILD_WRAPPER_PYTHON ON CACHE BOOL "" FORCE)
CTEST_CONFIGURE(OPTIONS ${CONF_OPTIONS})
set(CTEST_CONFIGURE_COMMAND "${CMAKE_COMMAND} ${CONF_OPTIONS} ${CTEST_SOURCE_DIRECTORY}") # cmake is anyway the default configure command
CTEST_CONFIGURE() #OPTIONS ${CONF_OPTIONS} doesn't work (even with a list()) so we set the ctest_configure_command above
# no OPTIONS (arg)
#CTEST_BUILD(TARGET install) #no need to install, just compiling
CTEST_BUILD()
......
......@@ -219,6 +219,7 @@ set(BUILD_USE_SINGLEPRECISION OFF) # CACHE BOOL "Using single precision instead
#set(BUILD_USE_PROFILING OFF) # CACHE BOOL "Profiling the code")
option(BUILD_USE_PROFILING "Profiling the code" OFF) # CACHE BOOL )
option(SLOW_TESTS "Enabling tests which take much time." ON)
#set(BUILD_MULTITHREAD OFF CACHE BOOL "OpenMP Multithreading")
#set(BUILD_VERBOSE OFF CACHE BOOL "Display useful message for debugging")
......
......@@ -45,9 +45,10 @@ if(BUILD_WRAPPER_MATLAB)
add_test(NAME MATLAB_FACT_HIER_MATLAB COMMAND ${FAUST_SRC_TEST_TOOL_DIR}/windows_test_matlab.bat "addpath('${FAUST_BIN_TEST_BIN_DIR}'@'${FAUST_BIN_TEST_TOOLS_DIR}')$set_path$hier_fact_test('matrix_hierarchical_fact'@'config_hierarchical_fact'@9402@1@'MATLAB')$" "${FAUST_BIN_TEST_BIN_DIR}/MATLAB_FACT_HIER_MATLAB")
add_test(NAME MATLAB_FACT_MEG_MEX COMMAND ${FAUST_SRC_TEST_TOOL_DIR}/windows_test_matlab.bat "addpath('${FAUST_BIN_TEST_BIN_DIR}'@'${FAUST_BIN_TEST_TOOLS_DIR}')$set_path$hier_fact_test('matrix_MEG'@'config_MEG'@22480@1@'MEX')$" "${FAUST_BIN_TEST_BIN_DIR}/MATLAB_FACT_MEG_MEX")
add_test(NAME MATLAB_FACT_MEG_MATLAB COMMAND ${FAUST_SRC_TEST_TOOL_DIR}/windows_test_matlab.bat "addpath('${FAUST_BIN_TEST_BIN_DIR}'@'${FAUST_BIN_TEST_TOOLS_DIR}')$set_path$hier_fact_test('matrix_MEG'@'config_MEG'@22480@1@'MATLAB')$" "${FAUST_BIN_TEST_BIN_DIR}/MATLAB_FACT_MEG_MATLAB")
if(${SLOW_TESTS})
add_test(NAME MATLAB_FACT_MEG_MEX COMMAND ${FAUST_SRC_TEST_TOOL_DIR}/windows_test_matlab.bat "addpath('${FAUST_BIN_TEST_BIN_DIR}'@'${FAUST_BIN_TEST_TOOLS_DIR}')$set_path$hier_fact_test('matrix_MEG'@'config_MEG'@22480@1@'MEX')$" "${FAUST_BIN_TEST_BIN_DIR}/MATLAB_FACT_MEG_MEX")
add_test(NAME MATLAB_FACT_MEG_MATLAB COMMAND ${FAUST_SRC_TEST_TOOL_DIR}/windows_test_matlab.bat "addpath('${FAUST_BIN_TEST_BIN_DIR}'@'${FAUST_BIN_TEST_TOOLS_DIR}')$set_path$hier_fact_test('matrix_MEG'@'config_MEG'@22480@1@'MATLAB')$" "${FAUST_BIN_TEST_BIN_DIR}/MATLAB_FACT_MEG_MATLAB")
endif()
add_test(NAME MATLAB_FACT_HADAMARD_MEX COMMAND ${FAUST_SRC_TEST_TOOL_DIR}/windows_test_matlab.bat "addpath('${FAUST_BIN_TEST_BIN_DIR}'@'${FAUST_BIN_TEST_TOOLS_DIR}')$set_path$hier_fact_test('matrix_HADAMARD_32'@'config_HADAMARD_32'@5941@30@'MEX')$" "${FAUST_BIN_TEST_BIN_DIR}/MATLAB_FACT_HADAMARD_MEX")
add_test(NAME MATLAB_FACT_HADAMARD_MATLAB COMMAND ${FAUST_SRC_TEST_TOOL_DIR}/windows_test_matlab.bat "addpath('${FAUST_BIN_TEST_BIN_DIR}'@'${FAUST_BIN_TEST_TOOLS_DIR}')$set_path$hier_fact_test('matrix_HADAMARD_32'@'config_HADAMARD_32'@5941@30@'MATLAB')$" "${FAUST_BIN_TEST_BIN_DIR}/MATLAB_FACT_HADAMARD_MATLAB")
......@@ -68,8 +69,10 @@ if(BUILD_WRAPPER_MATLAB)
add_test(NAME MATLAB_FACT_HIER_MATLAB COMMAND matlab -nojvm -r "try;testpass=0;addpath('${FAUST_BIN_TEST_BIN_DIR}','${FAUST_BIN_TEST_TOOLS_DIR}');set_path;hier_fact_test('matrix_hierarchical_fact','config_hierarchical_fact',9402,1,'MATLAB'); catch ME ;testpass=-1;disp(getReport(ME)); end ; exit(testpass)" )
add_test(NAME MATLAB_FACT_MEG_MEX COMMAND matlab -nojvm -r "try;testpass=0;addpath('${FAUST_BIN_TEST_BIN_DIR}','${FAUST_BIN_TEST_TOOLS_DIR}');set_path;hier_fact_test('matrix_MEG','config_MEG',22480,1,'MEX');catch ME ;testpass=-1;disp(getReport(ME)); end ; exit(testpass)")
add_test(NAME MATLAB_FACT_MEG_MATLAB COMMAND matlab -nojvm -r "try;testpass=0;addpath('${FAUST_BIN_TEST_BIN_DIR}','${FAUST_BIN_TEST_TOOLS_DIR}');set_path;hier_fact_test('matrix_MEG','config_MEG',22480,1,'MATLAB');catch ME ;testpass=-1;disp(getReport(ME)); end ; exit(testpass)")
if(${SLOW_TESTS})
add_test(NAME MATLAB_FACT_MEG_MEX COMMAND matlab -nojvm -r "try;testpass=0;addpath('${FAUST_BIN_TEST_BIN_DIR}','${FAUST_BIN_TEST_TOOLS_DIR}');set_path;hier_fact_test('matrix_MEG','config_MEG',22480,1,'MEX');catch ME ;testpass=-1;disp(getReport(ME)); end ; exit(testpass)")
add_test(NAME MATLAB_FACT_MEG_MATLAB COMMAND matlab -nojvm -r "try;testpass=0;addpath('${FAUST_BIN_TEST_BIN_DIR}','${FAUST_BIN_TEST_TOOLS_DIR}');set_path;hier_fact_test('matrix_MEG','config_MEG',22480,1,'MATLAB');catch ME ;testpass=-1;disp(getReport(ME)); end ; exit(testpass)")
endif()
add_test(NAME MATLAB_FACT_HADAMARD_MEX COMMAND matlab -nojvm -r "try;testpass=0;addpath('${FAUST_BIN_TEST_BIN_DIR}','${FAUST_BIN_TEST_TOOLS_DIR}');set_path;hier_fact_test('matrix_HADAMARD_32','config_HADAMARD_32',5941,30,'MEX');catch ME ;testpass=-1;disp(getReport(ME)); end ; exit(testpass)")
add_test(NAME MATLAB_FACT_HADAMARD_MATLAB COMMAND matlab -nojvm -r "try;testpass=0;addpath('${FAUST_BIN_TEST_BIN_DIR}','${FAUST_BIN_TEST_TOOLS_DIR}');set_path;hier_fact_test('matrix_HADAMARD_32','config_HADAMARD_32',5941,30,'MATLAB');catch ME ;testpass=-1;disp(getReport(ME)); end ; exit(testpass)")
......@@ -133,7 +136,9 @@ if(BUILD_WRAPPER_MATLAB)
if(NOT WIN32)
set_tests_properties(MATLAB_FAUST_CONFIG_REAL1 MATLAB_FAUST_CONFIG_REAL2 MATLAB_FAUST_CONFIG_REAL3 MATLAB_FAUST_CONFIG_REAL4 MATLAB_FAUST_CONFIG_CPLX1 MATLAB_FAUST_CONFIG_CPLX2 MATLAB_FAUST_2 PROPERTIES TIMEOUT 30)
endif()
set_tests_properties(MATLAB_FACT_MEG_MATLAB MATLAB_FACT_MEG_MEX PROPERTIES TIMEOUT ${TIMEOUT_MEG})
if(${SLOW_TESTS})
set_tests_properties(MATLAB_FACT_MEG_MATLAB MATLAB_FACT_MEG_MEX PROPERTIES TIMEOUT ${TIMEOUT_MEG})
endif()
#FIN MODIF NB VM MAC XCode
endif()
......@@ -265,22 +270,21 @@ if (BUILD_READ_MAT_FILE)
endforeach()
# test for the algorithm (palm4MSA and hierarchical_fact) for different configuration (MEG, Hadamard,...) in simple and double precision
add_test(NAME MATFILE_FACT_MEG_float COMMAND ${FAUST_BIN_TEST_BIN_DIR}/hierarchicalFactorization_float ${FAUST_DATA_MAT_DIR}/matrix_MEG.mat ${FAUST_CONFIG_MAT_DIR}/config_MEG.mat 22450 500)
add_test(NAME MATFILE_FACT_MEG_double COMMAND ${FAUST_BIN_TEST_BIN_DIR}/hierarchicalFactorization_double ${FAUST_DATA_MAT_DIR}/matrix_MEG.mat ${FAUST_CONFIG_MAT_DIR}/config_MEG.mat 22480 1)
add_test(NAME MATFILE_FACT_MEG_TRANSPOSED_float COMMAND ${FAUST_BIN_TEST_BIN_DIR}/hierarchicalFactorization_float ${FAUST_DATA_MAT_DIR}/matrix_MEG.mat ${FAUST_CONFIG_MAT_DIR}/config_MEG_transposed.mat 22450 400 T)
add_test(NAME MATFILE_FACT_MEG_TRANSPOSED_double COMMAND ${FAUST_BIN_TEST_BIN_DIR}/hierarchicalFactorization_double ${FAUST_DATA_MAT_DIR}/matrix_MEG.mat ${FAUST_CONFIG_MAT_DIR}/config_MEG_transposed.mat 22480 1 T)
set_tests_properties(MATFILE_FACT_MEG_float MATFILE_FACT_MEG_double PROPERTIES TIMEOUT ${TIMEOUT_MEG})
set_tests_properties(MATFILE_FACT_MEG_TRANSPOSED_float MATFILE_FACT_MEG_TRANSPOSED_double PROPERTIES TIMEOUT ${TIMEOUT_MEG_TRANSPOSED})
if(${SLOW_TESTS})
# test for the algorithm (palm4MSA and hierarchical_fact) for different configuration (MEG, Hadamard,...) in simple and double precision
add_test(NAME MATFILE_FACT_MEG_float COMMAND ${FAUST_BIN_TEST_BIN_DIR}/hierarchicalFactorization_float ${FAUST_DATA_MAT_DIR}/matrix_MEG.mat ${FAUST_CONFIG_MAT_DIR}/config_MEG.mat 22450 500)
add_test(NAME MATFILE_FACT_MEG_double COMMAND ${FAUST_BIN_TEST_BIN_DIR}/hierarchicalFactorization_double ${FAUST_DATA_MAT_DIR}/matrix_MEG.mat ${FAUST_CONFIG_MAT_DIR}/config_MEG.mat 22480 1)
add_test(NAME MATFILE_FACT_MEG_TRANSPOSED_float COMMAND ${FAUST_BIN_TEST_BIN_DIR}/hierarchicalFactorization_float ${FAUST_DATA_MAT_DIR}/matrix_MEG.mat ${FAUST_CONFIG_MAT_DIR}/config_MEG_transposed.mat 22450 400 T)
add_test(NAME MATFILE_FACT_MEG_TRANSPOSED_double COMMAND ${FAUST_BIN_TEST_BIN_DIR}/hierarchicalFactorization_double ${FAUST_DATA_MAT_DIR}/matrix_MEG.mat ${FAUST_CONFIG_MAT_DIR}/config_MEG_transposed.mat 22480 1 T)
set_tests_properties(MATFILE_FACT_MEG_float MATFILE_FACT_MEG_double PROPERTIES TIMEOUT ${TIMEOUT_MEG})
set_tests_properties(MATFILE_FACT_MEG_TRANSPOSED_float MATFILE_FACT_MEG_TRANSPOSED_double PROPERTIES TIMEOUT ${TIMEOUT_MEG_TRANSPOSED})
endif(${SLOW_TESTS})
endif (BUILD_READ_MAT_FILE)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment