#blabla # @FIXME there is a problem of using the global log, this will cause interference if any tests are run in parallel IF(WIN32) SET(EXT cmd) SET(OS_FLAGS "--no-pause") ELSE() SET(EXT sh) SET(OS_FLAGS "") ENDIF() # Misc classifier tests SET(TEST_SCENARIOS LDA-Native-Test LDA-OneVsOne-HT-Test LDA-OneVsOne-PKPD-Test LDA-OneVsOne-Voting-Test LDA-OneVsAll-Test sLDA-Native-Test sLDA-OneVsOne-HT-Test sLDA-OneVsOne-PKPD-Test sLDA-OneVsOne-Voting-Test sLDA-OneVsAll-Test SVM-Native-Test SVM-OneVsOne-Voting-Test SVM-OneVsOne-HT-Test SVM-OneVsOne-PKPD-Test SVM-OneVsAll-Test MLP-Native-Test MLP-OneVsOne-Voting-Test MLP-OneVsOne-HT-Test MLP-OneVsOne-PKPD-Test MLP-OneVsAll-Test) FOREACH(TEST_NAME ${TEST_SCENARIOS}) SET(SCENARIO_TO_TEST "${TEST_NAME}.xml") ADD_TEST(clean_Classification_${TEST_NAME} "${CMAKE_COMMAND}" "-E" "remove" "-f" ${OV_LOGFILE} classifiers/multiclass.xml) ADD_TEST(run_Classification_${TEST_NAME} "$ENV{OV_BINARY_PATH}/openvibe-designer.${EXT}" ${OS_FLAGS} "--invisible" "--no-session-management" --define Plugin_Classification_RandomizeKFoldTestData true "--play-fast" ${SCENARIO_TO_TEST}) ADD_TEST(compare_Classification_${TEST_NAME} "$ENV{OV_BINARY_PATH}/test_accuracy.${EXT}" "${OS_FLAGS}" "${OV_LOGFILE}") ADD_TEST(run_Classification_${TEST_NAME}_ProcessorBox "$ENV{OV_BINARY_PATH}/openvibe-designer.${EXT}" ${OS_FLAGS} "--invisible" "--no-session-management" --define Plugin_Classification_RandomizeKFoldTestData true "--play-fast" "ProcessorBox-Test.xml") # It would be better to clean last, but we can't do this as it will delete the # output we wish to include, and we can't prevent clean from running if a prev. test fails # We need the clean to be sure that the comparator stage is not getting data from a previous run. SET_TESTS_PROPERTIES(run_Classification_${TEST_NAME} PROPERTIES DEPENDS clean_Classification_${TEST_NAME}) SET_TESTS_PROPERTIES(run_Classification_${TEST_NAME} PROPERTIES ATTACHED_FILES_ON_FAIL ${OV_LOGFILE}) SET_TESTS_PROPERTIES(compare_Classification_${TEST_NAME} PROPERTIES DEPENDS run_Classification_${TEST_NAME}) SET_TESTS_PROPERTIES(compare_Classification_${TEST_NAME} PROPERTIES ATTACHED_FILES_ON_FAIL ${OV_LOGFILE}) SET_TESTS_PROPERTIES(run_Classification_${TEST_NAME}_ProcessorBox PROPERTIES DEPENDS run_Classification_${TEST_NAME}) SET_TESTS_PROPERTIES(run_Classification_${TEST_NAME}_ProcessorBox PROPERTIES ATTACHED_FILES_ON_FAIL ${OV_LOGFILE}) ENDFOREACH(TEST_NAME) # Shrinkage LDA tests. These are in a different block as they use different data (and miss ProcessorBox part) SET(TEST_SCENARIOS shrinkage_lda shrinkage_lda_rot) SET(TEST_THRESHOLD 80) FOREACH(TEST_NAME ${TEST_SCENARIOS}) SET(SCENARIO_TO_TEST "shrinkageLDA/${TEST_NAME}.xml") ADD_TEST(clean_Classification_${TEST_NAME} "${CMAKE_COMMAND}" "-E" "remove" "-f" ${OV_LOGFILE}) ADD_TEST(run_Classification_${TEST_NAME} "$ENV{OV_BINARY_PATH}/openvibe-designer.${EXT}" ${OS_FLAGS} "--invisible" "--no-session-management" --define Plugin_Classification_RandomizeKFoldTestData true "--play-fast" ${SCENARIO_TO_TEST}) ADD_TEST(compare_Classification_${TEST_NAME} "$ENV{OV_BINARY_PATH}/test_accuracy.${EXT}" "${OS_FLAGS}" "${OV_LOGFILE}" "${TEST_THRESHOLD}") # It would be better to clean last, but we can't do this as it will delete the # output we wish to include, and we can't prevent clean from running if a prev. test fails # We need the clean to be sure that the comparator stage is not getting data from a previous run. SET_TESTS_PROPERTIES(run_Classification_${TEST_NAME} PROPERTIES DEPENDS clean_Classification_${TEST_NAME}) SET_TESTS_PROPERTIES(run_Classification_${TEST_NAME} PROPERTIES ATTACHED_FILES_ON_FAIL ${OV_LOGFILE}) SET_TESTS_PROPERTIES(compare_Classification_${TEST_NAME} PROPERTIES DEPENDS run_Classification_${TEST_NAME}) SET_TESTS_PROPERTIES(compare_Classification_${TEST_NAME} PROPERTIES ATTACHED_FILES_ON_FAIL ${OV_LOGFILE}) SET_TESTS_PROPERTIES(run_Classification_${TEST_NAME}_ProcessorBox PROPERTIES DEPENDS run_Classification_${TEST_NAME}) SET_TESTS_PROPERTIES(run_Classification_${TEST_NAME}_ProcessorBox PROPERTIES ATTACHED_FILES_ON_FAIL ${OV_LOGFILE}) ENDFOREACH(TEST_NAME)