@@ -460,3 +460,86 @@ function(cmpBuildDateRevisionString)
460460  endif ()
461461
462462endfunction ()
463+ 
464+ 
465+ #------------------------------------------------------------------------------- 
466+ # @Brief function AddPythonTest 
467+ # @ NAME 
468+ # @ FILE 
469+ # @ PYTHONPATH 
470+ #------------------------------------------------------------------------------- 
471+ function (AddPythonTest)
472+   set (options  )
473+   set (oneValueArgs NAME  FILE)
474+   set (multiValueArgs PYTHONPATH)
475+   cmake_parse_arguments (ARGS "${options} "  "${oneValueArgs} "  "${multiValueArgs} "  ${ARGN} )
476+   message (STATUS  "ARGS_FILE:${ARGS_FILE} " )
477+   if (COMPLEX_BUILD_PYTHON)
478+     if (WIN32 )
479+       add_test (NAME  ${ARGS_NAME} 
480+         COMMAND  ${complex_SOURCE_DIR} /wrapping/python/testing/anaconda_test.bat
481+       )
482+ 
483+       set_property (TEST  ${ARGS_NAME} 
484+         PROPERTY
485+           ENVIRONMENT 
486+             "PYTHON_TEST_FILE=${ARGS_FILE} " 
487+             "Python3_EXECUTABLE=${Python3_EXECUTABLE} " 
488+     )
489+     else ()
490+       add_test (NAME  ${ARGS_NAME} 
491+         COMMAND  ${complex_SOURCE_DIR} /wrapping/python/testing/anaconda_test.sh
492+       )
493+       set_property (TEST  ${ARGS_NAME} 
494+         PROPERTY
495+           ENVIRONMENT 
496+             "PYTHON_TEST_FILE=${ARGS_FILE} " 
497+             "Python3_EXECUTABLE=${Python3_EXECUTABLE} " 
498+       )    
499+     endif ()
500+   else ()
501+     add_test (NAME  ${ARGS_NAME} 
502+       COMMAND  ${Python3_EXECUTABLE}  ${ARGS_FILE} 
503+     )
504+   endif ()
505+ 
506+   if (WIN32 )
507+     string (REPLACE ";"  "\\ ;"  ARGS_PYTHONPATH "${ARGS_PYTHONPATH} " )
508+   else ()
509+     string (REPLACE ";"  ":"  ARGS_PYTHONPATH "${ARGS_PYTHONPATH} " )
510+   endif ()
511+ 
512+   set_property (TEST  ${ARGS_NAME} 
513+     APPEND 
514+     PROPERTY
515+       ENVIRONMENT 
516+       "PYTHONPATH=${ARGS_PYTHONPATH} " 
517+   )
518+ endfunction ()
519+ 
520+ #------------------------------------------------------------------------------- 
521+ # @Brief function CreatePythonTests 
522+ # @ PREFIX 
523+ # @ INPUT_DIR 
524+ # @ TEST_NAMES 
525+ #------------------------------------------------------------------------------- 
526+ function (CreatePythonTests)
527+   set (options )
528+   set (oneValueArgs PREFIX  INPUT_DIR)
529+   set (multiValueArgs TEST_NAMES)
530+   cmake_parse_arguments (ARGS "${options} "  "${oneValueArgs} "  "${multiValueArgs} "  ${ARGN} )
531+ 
532+   set (TESTS_PYTHONPATH
533+     "$<TARGET_FILE_DIR:complex>" 
534+   )
535+ 
536+   foreach (test  ${ARGS_TEST_NAMES} )
537+     string (REPLACE "/"  "_"  test_name ${test} )
538+     set (PY_TEST_NAME ${ARGS_PREFIX} _${test_name} )
539+ 
540+     AddPythonTest(NAME  ${PY_TEST_NAME} 
541+       FILE  ${ARGS_INPUT_DIR} /${test} .py
542+       PYTHONPATH ${TESTS_PYTHONPATH} 
543+     )
544+   endforeach ()
545+ endfunction ()
0 commit comments