1 if(enable_smpi AND enable_smpi_MPICH3_testsuite)
3 set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
5 set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
6 set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
9 set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1 -Wno-error=unused-variable")
10 include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi")
11 include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
13 foreach(file accfence1 accfence2_am accfence2 accpscw1 allocmem epochtest getfence1 getgroup manyrma3 nullpscw lockcontention lockopts contig_displ
14 putfence1 putfidx putpscw1 test1_am test1 test1_dt test2_am test2 test3 test3_am test4 test4_am test5_am test5 transpose1 transpose2 lockcontention2 wincall
15 transpose3 transpose4 transpose5 transpose6 transpose7 window_creation selfrma locknull win_info
16 at_complete acc-pairtype manyget large-small-acc lock_dt win_dynamic_acc fetch_and_op flush req_example rmanull rmazero badrma
17 lock_nested winname attrorderwin baseattrwin fkeyvalwin strided_acc_indexed strided_getacc_indexed compare_and_swap
18 lockall_dt lockall_dt_flushall lock_dt_flush lockall_dt_flush lockall_dt_flushlocalall lockall_dt_flushlocal lock_dt_flushlocal
19 strided_acc_onelock strided_get_indexed strided_putget_indexed contention_put contention_putget lockcontention3
20 adlb_mimic1 lock_contention_dt acc-loc get_acc_local get_accumulate put_base put_bottom
21 manyrma2 pscw_ordering rma-contig get-struct
22 rput_local_comp racc_local_comp rget-testall win_shared win_shared_put_flush_get atomic_get)
23 # fence_shm fetchandadd_am fetchandadd fetchandadd_tree_am fetchandadd_tree
24 # mcs-mutex mixedsync mutex_bench reqops
25 # strided_getacc_indexed_shared rget-unlock
26 # win_flavors win_shared_zerobyte win_shared_noncontig win_shared_noncontig_put
27 # win_large_shm win_zero wintest atomic_rmw_fop atomic_rmw_gacc atomic_rmw_cas
28 # aint derived-acc-flush_local large-acc-flush_local
29 # win_shared_create win_shared_put_flush_get win_shared_rma_flush_load
31 add_executable(${file} EXCLUDE_FROM_ALL ${file}.c)
32 add_dependencies(tests ${file})
33 target_link_libraries(${file} simgrid mtest_c)
34 set_target_properties(${file} PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
37 # These tests use realloc() whose override is currenlty not implemented
38 foreach(file linked_list_bench_lock_all linked_list_bench_lock_excl)
39 # linked_list_bench_lock_shr linked_list linked_list_fop linked_list_lockall
40 add_executable(${file} EXCLUDE_FROM_ALL ${file}.c)
41 add_dependencies(tests ${file})
42 target_link_libraries(${file} simgrid mtest_c)
43 set_target_properties(${file} PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS} -DSMPI_NO_OVERRIDE_MALLOC")
46 add_executable(transpose3_shm EXCLUDE_FROM_ALL transpose3.c)
47 add_dependencies(tests transpose3_shm)
48 target_link_libraries(transpose3_shm simgrid mtest_c)
49 set_target_properties(transpose3_shm PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS} -DUSE_WIN_ALLOCATE")
52 if (enable_smpi_MPICH3_testsuite AND HAVE_RAW_CONTEXTS)
53 ADD_TEST(test-smpi-mpich3-rma-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/rma ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${TESH_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/rma -tests=testlist -execarg=--cfg=contexts/factory:raw)
54 SET_TESTS_PROPERTIES(test-smpi-mpich3-rma-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
55 if (enable_thread_sanitizer)
56 SET_TESTS_PROPERTIES(test-smpi-mpich3-rma-raw PROPERTIES TIMEOUT 1500)
60 foreach(file accfence1 accfence2_am accfence2 accpscw1 allocmem epochtest getfence1 getgroup manyrma3 nullpscw
61 putfence1 putfidx putpscw1 test1_am test1 test1_dt test2_am test2 test3 test5_am test5 transpose1 transpose2
62 transpose3 transpose6 transpose7 window_creation
63 acc-loc adlb_mimic1 attrorderwin badrma baseattrwin compare_and_swap contention_put contention_putget
64 contig_displ fence_shm fetchandadd_am fetchandadd fetchandadd_tree_am fetchandadd_tree fetch_and_op
65 fkeyvalwin flush get_acc_local get_accumulate linked_list_bench_lock_all linked_list_bench_lock_excl
66 linked_list_bench_lock_shr linked_list linked_list_fop linked_list_lockall lockcontention2 lockcontention3
67 lockcontention locknull lockopts manyrma2 mcs-mutex mixedsync mutex_bench pscw_ordering put_base put_bottom
68 req_example reqops rmanull rmazero rma-contig selfrma strided_acc_indexed strided_acc_onelock
69 strided_acc_subarray strided_getacc_indexed strided_getacc_indexed_shared strided_get_indexed
70 strided_putget_indexed strided_putget_indexed_shared test3_am test4_am test4 transpose4 transpose5 wincall
71 win_dynamic_acc win_flavors win_info winname win_shared win_shared_noncontig win_shared_noncontig_put
72 win_large_shm win_zero wintest win_shared_zerobyte get-struct
73 at_complete atomic_rmw_fop atomic_rmw_cas atomic_rmw_gacc atomic_get aint acc-pairtype manyget large-small-acc
74 rget-unlock overlap_wins_rma lock_nested derived-acc-flush_local large-acc-flush_local lockall_dt lockall_dt_flushall
75 lockall_dt_flush nb_test lockall_dt_flushlocal lockall_dt_flushlocalall lock_contention_dt lock_dt lock_dt_flush lock_dt_flushlocal
76 racc_local_comp rput_local_comp win_shared_create win_shared_put_flush_get win_shared_rma_flush_load
77 wrma_flush_get rget-testall)
78 set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/${file}.c)
81 set(examples_src ${examples_src} PARENT_SCOPE)
82 set(txt_files ${txt_files} ${CMAKE_CURRENT_SOURCE_DIR}/testlist
83 ${CMAKE_CURRENT_SOURCE_DIR}/mcs-mutex.h
84 ${CMAKE_CURRENT_SOURCE_DIR}/squelch.h PARENT_SCOPE)