Skip to content

Commit c8bd61e

Browse files
authored
Merge pull request #1775 from arcaneframework/dev/ah-different-output-dir-tests-alien
Add a different output directory for each tests
2 parents 86c3ee0 + 8368c3f commit c8bd61e

File tree

3 files changed

+35
-3
lines changed

3 files changed

+35
-3
lines changed

alien/ArcaneInterface/cmake/LoadAlienTest.cmake

+17-3
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,9 +65,16 @@ macro(alien_test)
6565
${ARGS_OPTIONS}
6666
)
6767
else ()
68+
if(ARGS_UNIQUE_OUTPUT_DIR)
69+
set(ALIEN_TEST_OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME})
70+
set(ALIEN_TEST_PARAM_OUTDIR -A,OutputDirectory=${ALIEN_TEST_OUTDIR})
71+
file(MAKE_DIRECTORY ${ALIEN_TEST_OUTDIR})
72+
else ()
73+
set(ALIEN_TEST_PARAM_OUTDIR "")
74+
endif()
6875
add_test(
6976
NAME alien.${ARGS_BENCH}.${ARGS_NAME}
70-
COMMAND ${ARGS_COMMAND}
77+
COMMAND ${ARGS_COMMAND} ${ALIEN_TEST_PARAM_OUTDIR}
7178
${ARGS_OPTIONS}
7279
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}
7380
)
@@ -105,9 +112,16 @@ macro(alien_test)
105112
${ARGS_OPTIONS}
106113
)
107114
else ()
115+
if(ARGS_UNIQUE_OUTPUT_DIR)
116+
set(ALIEN_TEST_OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME}.mpi-${mpi})
117+
set(ALIEN_TEST_PARAM_OUTDIR -A,OutputDirectory=${ALIEN_TEST_OUTDIR})
118+
file(MAKE_DIRECTORY ${ALIEN_TEST_OUTDIR})
119+
else ()
120+
set(ALIEN_TEST_PARAM_OUTDIR "")
121+
endif ()
108122
add_test(
109123
NAME alien.${ARGS_BENCH}.${ARGS_NAME}.mpi-${mpi}
110-
COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${mpi} ${MPIEXEC_PREFLAGS}$<TARGET_FILE:${ARGS_COMMAND}> ${MPIEXEC_POSTFLAGS}
124+
COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${mpi} ${MPIEXEC_PREFLAGS}$<TARGET_FILE:${ARGS_COMMAND}> ${MPIEXEC_POSTFLAGS} ${ALIEN_TEST_PARAM_OUTDIR}
111125
${ARGS_OPTIONS}
112126
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}
113127
)

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 ()

alien/ArcaneInterface/test/AlienTest/CMakeLists.txt

+3
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ if (TARGET petsc)
100100
PROCS 4
101101
COMMAND alien_arcane_test.exe
102102
OPTIONS AlienTest.arc
103+
UNIQUE_OUTPUT_DIR
103104
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienTest)
104105

105106
alien_test(
@@ -108,6 +109,7 @@ if (TARGET petsc)
108109
PROCS 4
109110
COMMAND alien_arcane_test.exe
110111
OPTIONS AlienTest-FBS.arc
112+
UNIQUE_OUTPUT_DIR
111113
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienTest)
112114

113115
alien_test(
@@ -116,6 +118,7 @@ if (TARGET petsc)
116118
PROCS 4
117119
COMMAND alien_arcane_test.exe
118120
OPTIONS AlienTest-VBS.arc
121+
UNIQUE_OUTPUT_DIR
119122
WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienTest)
120123

121124
endif ()

0 commit comments

Comments
 (0)