Skip to content

Commit a7cc524

Browse files
committed
[alien,tests] Add an argument in alien_test macro to use unique output directory
1 parent 40a5f1c commit a7cc524

File tree

2 files changed

+28
-9
lines changed

2 files changed

+28
-9
lines changed

alien/ArcaneInterface/cmake/LoadAlienTest.cmake

+13-9
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ endmacro()
3434

3535
macro(alien_test)
3636

37-
set(options PARALLEL_ONLY)
37+
set(options PARALLEL_ONLY UNIQUE_OUTPUT_DIR)
3838
set(oneValueArgs BENCH NAME COMMAND WORKING_DIRECTORY)
3939
set(multiValueArgs OPTIONS PROCS)
4040

@@ -65,12 +65,14 @@ macro(alien_test)
6565
${ARGS_OPTIONS}
6666
)
6767
else ()
68-
set(OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME})
69-
file(MAKE_DIRECTORY ${OUTDIR})
68+
if(UNIQUE_OUTPUT_DIR)
69+
set(OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME})
70+
set(PARAM_OUTDIR -A,OutputDirectory=${OUTDIR})
71+
file(MAKE_DIRECTORY ${OUTDIR})
72+
endif()
7073
add_test(
7174
NAME alien.${ARGS_BENCH}.${ARGS_NAME}
72-
COMMAND ${ARGS_COMMAND}
73-
-A,OutputDirectory=${OUTDIR}
75+
COMMAND ${ARGS_COMMAND} ${PARAM_OUTDIR}
7476
${ARGS_OPTIONS}
7577
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}
7678
)
@@ -108,12 +110,14 @@ macro(alien_test)
108110
${ARGS_OPTIONS}
109111
)
110112
else ()
111-
set(OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME}.mpi-${mpi})
112-
file(MAKE_DIRECTORY ${OUTDIR})
113+
if(UNIQUE_OUTPUT_DIR)
114+
set(OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME}.mpi-${mpi})
115+
set(PARAM_OUTDIR -A,OutputDirectory=${OUTDIR})
116+
file(MAKE_DIRECTORY ${OUTDIR})
117+
endif ()
113118
add_test(
114119
NAME alien.${ARGS_BENCH}.${ARGS_NAME}.mpi-${mpi}
115-
COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${mpi} ${MPIEXEC_PREFLAGS}$<TARGET_FILE:${ARGS_COMMAND}> ${MPIEXEC_POSTFLAGS}
116-
-A,OutputDirectory=${OUTDIR}
120+
COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${mpi} ${MPIEXEC_PREFLAGS}$<TARGET_FILE:${ARGS_COMMAND}> ${MPIEXEC_POSTFLAGS} ${PARAM_OUTDIR}
117121
${ARGS_OPTIONS}
118122
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}
119123
)

alien/ArcaneInterface/test/AlienBench/CMakeLists.txt

+15
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ alien_test(
248248
PROCS 1
249249
COMMAND alien_bench.exe
250250
OPTIONS AlienBench-aliensolver.arc
251+
UNIQUE_OUTPUT_DIR
251252
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench)
252253

253254
if (TARGET petsc)
@@ -258,6 +259,7 @@ if (TARGET petsc)
258259
PROCS 1
259260
COMMAND alien_bench.exe
260261
OPTIONS AlienBench.arc
262+
UNIQUE_OUTPUT_DIR
261263
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench)
262264

263265
alien_test(
@@ -266,6 +268,7 @@ if (TARGET petsc)
266268
PROCS 4
267269
COMMAND alien_bench.exe
268270
OPTIONS AlienBench-4P.arc
271+
UNIQUE_OUTPUT_DIR
269272
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench)
270273

271274
if(TARGET petsc::spai)
@@ -275,6 +278,7 @@ if (TARGET petsc)
275278
PROCS 1
276279
COMMAND alien_bench.exe
277280
OPTIONS AlienBench-petsc-spai.arc
281+
UNIQUE_OUTPUT_DIR
278282
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench)
279283

280284
alien_test(
@@ -283,6 +287,7 @@ if (TARGET petsc)
283287
PROCS 4
284288
COMMAND alien_bench.exe
285289
OPTIONS AlienBench-petsc-spai-4P.arc
290+
UNIQUE_OUTPUT_DIR
286291
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench)
287292
endif()
288293

@@ -296,6 +301,7 @@ if (TARGET hypre)
296301
PROCS 1
297302
COMMAND alien_bench.exe
298303
OPTIONS AlienBench-hypre.arc
304+
UNIQUE_OUTPUT_DIR
299305
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench)
300306

301307
alien_test(
@@ -304,6 +310,7 @@ if (TARGET hypre)
304310
PROCS 2
305311
COMMAND alien_bench.exe
306312
OPTIONS AlienBench-hypre-2P.arc
313+
UNIQUE_OUTPUT_DIR
307314
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench)
308315

309316
if(ALIEN_USE_SYCL)
@@ -313,6 +320,7 @@ if(ALIEN_USE_SYCL)
313320
PROCS 1
314321
COMMAND alien_bench.exe
315322
OPTIONS AlienBench-hypreilu.arc
323+
UNIQUE_OUTPUT_DIR
316324
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench)
317325

318326
alien_test(
@@ -321,6 +329,7 @@ if(ALIEN_USE_SYCL)
321329
PROCS 1
322330
COMMAND alien_bench.exe
323331
OPTIONS AlienBench-hyprefsai.arc
332+
UNIQUE_OUTPUT_DIR
324333
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench)
325334

326335
if(TARGET CUDA::cudart)
@@ -330,6 +339,7 @@ if(ALIEN_USE_SYCL)
330339
PROCS 1
331340
COMMAND alien_bench.exe
332341
OPTIONS AlienBench-hypreilu-sycl.arc
342+
UNIQUE_OUTPUT_DIR
333343
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench)
334344

335345
alien_test(
@@ -338,6 +348,7 @@ if(ALIEN_USE_SYCL)
338348
PROCS 1
339349
COMMAND alien_bench.exe
340350
OPTIONS AlienBench-hyprefsai-sycl.arc
351+
UNIQUE_OUTPUT_DIR
341352
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench)
342353
endif()
343354
endif(ALIEN_USE_SYCL)
@@ -352,6 +363,7 @@ if (TARGET trilinos)
352363
PROCS 1
353364
COMMAND alien_bench.exe
354365
OPTIONS AlienBench-trilinos.arc
366+
UNIQUE_OUTPUT_DIR
355367
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench)
356368

357369
alien_test(
@@ -360,6 +372,7 @@ if (TARGET trilinos)
360372
PROCS 1
361373
COMMAND alien_bench.exe
362374
OPTIONS AlienBench-trilinosmuelu.arc
375+
UNIQUE_OUTPUT_DIR
363376
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench)
364377

365378
alien_test(
@@ -368,6 +381,7 @@ if (TARGET trilinos)
368381
PROCS 2
369382
COMMAND alien_bench.exe
370383
OPTIONS AlienBench-trilinos-2P.arc
384+
UNIQUE_OUTPUT_DIR
371385
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench)
372386

373387
alien_test(
@@ -376,5 +390,6 @@ if (TARGET trilinos)
376390
PROCS 4
377391
COMMAND alien_bench.exe
378392
OPTIONS AlienBench-trilinosmuelu-4P.arc
393+
UNIQUE_OUTPUT_DIR
379394
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench)
380395
endif ()

0 commit comments

Comments
 (0)