Skip to content

Commit

Permalink
[cicd] simplify valgrind pipeline
Browse files Browse the repository at this point in the history
  • Loading branch information
FrancoisCarouge committed Oct 18, 2023
1 parent 35d98c1 commit 57b36a9
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 46 deletions.
10 changes: 6 additions & 4 deletions .github/workflows/memory_valgrind.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ jobs:
env:
CXX: 'g++-13'
CC: 'gcc-13'
run: |
cmake -B 'build' .
cmake --build 'build' --parallel 4
ctest --test-dir 'build' --tests-regex 'kalman_valgrind' --output-on-failure --parallel 4
COMMAND: 'valgrind --error-exitcode=1 --leak-check=full --track-origins=yes'
run: cmake -S . -B 'build'
- name: 'Build'
run: cmake --build 'build' --verbose --parallel 4
- name: 'Test'
run: ctest --test-dir 'build' --tests-regex 'kalman' --verbose --parallel 4
27 changes: 19 additions & 8 deletions benchmark/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,11 @@ foreach(BENCHMARK "baseline.cpp" "predict_1x1x0.cpp" "predict_1x1x1.cpp"
kalman_benchmark_${NAME}_driver
PRIVATE benchmark::benchmark benchmark::benchmark_main kalman
kalman_options)
add_test(kalman_benchmark_${NAME} kalman_benchmark_${NAME}_driver
"--benchmark_out=${NAME}.json")
separate_arguments(TEST_COMMAND UNIX_COMMAND $ENV{COMMAND})
add_test(
NAME kalman_benchmark_${NAME}
COMMAND ${TEST_COMMAND} $<TARGET_FILE:kalman_benchmark_${NAME}_driver>
"--benchmark_out=${NAME}.json")
endforeach()

foreach(BACKEND IN ITEMS "eigen" "naive")
Expand All @@ -92,10 +95,14 @@ foreach(BACKEND IN ITEMS "eigen" "naive")
kalman_benchmark_predict_${BACKEND}_${STATE_SIZE}x1x${INPUT_SIZE}_driver
PRIVATE benchmark::benchmark benchmark::benchmark_main kalman
kalman_linalg_${BACKEND} kalman_options)
separate_arguments(TEST_COMMAND UNIX_COMMAND $ENV{COMMAND})
add_test(
kalman_benchmark_predict_${BACKEND}_${STATE_SIZE}x1x${INPUT_SIZE}
kalman_benchmark_predict_${BACKEND}_${STATE_SIZE}x1x${INPUT_SIZE}_driver
"--benchmark_out=predict_${BACKEND}_${STATE_SIZE}x1x${INPUT_SIZE}.json")
NAME kalman_benchmark_predict_${BACKEND}_${STATE_SIZE}x1x${INPUT_SIZE}
COMMAND
${TEST_COMMAND}
$<TARGET_FILE:kalman_benchmark_predict_${BACKEND}_${STATE_SIZE}x1x${INPUT_SIZE}_driver>
"--benchmark_out=predict_${BACKEND}_${STATE_SIZE}x1x${INPUT_SIZE}.json"
)
endforeach()
endforeach()
endforeach()
Expand All @@ -120,10 +127,14 @@ foreach(BACKEND IN ITEMS "eigen")
kalman_benchmark_update_${BACKEND}_${STATE_SIZE}x${OUTPUT_SIZE}x0_driver
PRIVATE benchmark::benchmark benchmark::benchmark_main kalman
kalman_linalg_${BACKEND} kalman_options)
separate_arguments(TEST_COMMAND UNIX_COMMAND $ENV{COMMAND})
add_test(
kalman_benchmark_update_${BACKEND}_${STATE_SIZE}x${OUTPUT_SIZE}x0
kalman_benchmark_update_${BACKEND}_${STATE_SIZE}x${OUTPUT_SIZE}x0_driver
"--benchmark_out=update_${BACKEND}_${STATE_SIZE}x${OUTPUT_SIZE}x0.json")
NAME kalman_benchmark_update_${BACKEND}_${STATE_SIZE}x${OUTPUT_SIZE}x0
COMMAND
${TEST_COMMAND}
$<TARGET_FILE:kalman_benchmark_update_${BACKEND}_${STATE_SIZE}x${OUTPUT_SIZE}x0_driver>
"--benchmark_out=update_${BACKEND}_${STATE_SIZE}x${OUTPUT_SIZE}x0.json"
)
endforeach()
endforeach()
endforeach()
18 changes: 7 additions & 11 deletions sample/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,9 @@ foreach(SAMPLE "kf_1x1x0_building_height.cpp" "kf_1x1x0_liquid_temperature.cpp"
INTERPROCEDURAL_OPTIMIZATION TRUE)
target_link_libraries(kalman_sample_${NAME}_driver PRIVATE kalman kalman_main
kalman_options)
add_test(kalman_sample_${NAME} kalman_sample_${NAME}_driver)
add_test(
NAME kalman_valgrind_${NAME}
COMMAND valgrind --error-exitcode=1 --leak-check=full --track-origins=yes
$<TARGET_FILE:kalman_sample_${NAME}_driver>)
separate_arguments(TEST_COMMAND UNIX_COMMAND $ENV{COMMAND})
add_test(NAME kalman_sample_${NAME}
COMMAND ${TEST_COMMAND} $<TARGET_FILE:kalman_sample_${NAME}_driver>)
endforeach()

foreach(BACKEND IN ITEMS "eigen")
Expand All @@ -70,11 +68,9 @@ foreach(BACKEND IN ITEMS "eigen")
target_link_libraries(
kalman_sample_${BACKEND}_${NAME}_driver
PRIVATE kalman kalman_main kalman_linalg_${BACKEND} kalman_options)
add_test(kalman_sample_${BACKEND}_${NAME}
kalman_sample_${BACKEND}_${NAME}_driver)
add_test(
NAME kalman_valgrind_${BACKEND}_${NAME}
COMMAND valgrind --error-exitcode=1 --leak-check=full --track-origins=yes
$<TARGET_FILE:kalman_sample_${BACKEND}_${NAME}_driver>)
separate_arguments(TEST_COMMAND UNIX_COMMAND $ENV{COMMAND})
add_test(NAME kalman_sample_${BACKEND}_${NAME}
COMMAND ${TEST_COMMAND}
$<TARGET_FILE:kalman_sample_${BACKEND}_${NAME}_driver>)
endforeach()
endforeach()
38 changes: 15 additions & 23 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,9 @@ foreach(
INTERPROCEDURAL_OPTIMIZATION TRUE)
target_link_libraries(kalman_test_${NAME}_driver PRIVATE kalman kalman_main
kalman_options)
add_test(kalman_test_${NAME} kalman_test_${NAME}_driver)
add_test(
NAME kalman_valgrind_${NAME}
COMMAND valgrind --error-exitcode=1 --leak-check=full --track-origins=yes
$<TARGET_FILE:kalman_test_${NAME}_driver>)
separate_arguments(TEST_COMMAND UNIX_COMMAND $ENV{COMMAND})
add_test(NAME kalman_test_${NAME}
COMMAND ${TEST_COMMAND} $<TARGET_FILE:kalman_test_${NAME}_driver>)
endforeach()

foreach(BACKEND IN ITEMS "eigen" "lazy" "naive")
Expand Down Expand Up @@ -95,12 +93,10 @@ foreach(BACKEND IN ITEMS "eigen" "lazy" "naive")
target_link_libraries(
kalman_test_${BACKEND}_${NAME}_driver
PRIVATE kalman kalman_main kalman_linalg_${BACKEND} kalman_options)
add_test(kalman_test_${BACKEND}_${NAME}
kalman_test_${BACKEND}_${NAME}_driver)
add_test(
NAME kalman_${BACKEND}_valgrind_${NAME}
COMMAND valgrind --error-exitcode=1 --leak-check=full --track-origins=yes
$<TARGET_FILE:kalman_test_${BACKEND}_${NAME}_driver>)
separate_arguments(TEST_COMMAND UNIX_COMMAND $ENV{COMMAND})
add_test(NAME kalman_test_${BACKEND}_${NAME}
COMMAND ${TEST_COMMAND}
$<TARGET_FILE:kalman_test_${BACKEND}_${NAME}_driver>)
endforeach()
endforeach()

Expand All @@ -124,12 +120,10 @@ foreach(BACKEND IN ITEMS "eigen")
target_link_libraries(
kalman_test_${BACKEND}_${NAME}_driver
PRIVATE kalman kalman_main kalman_linalg_${BACKEND} kalman_options)
add_test(kalman_test_${BACKEND}_${NAME}
kalman_test_${BACKEND}_${NAME}_driver)
add_test(
NAME kalman_${BACKEND}_valgrind_${NAME}
COMMAND valgrind --error-exitcode=1 --leak-check=full --track-origins=yes
$<TARGET_FILE:kalman_test_${BACKEND}_${NAME}_driver>)
separate_arguments(TEST_COMMAND UNIX_COMMAND $ENV{COMMAND})
add_test(NAME kalman_test_${BACKEND}_${NAME}
COMMAND ${TEST_COMMAND}
$<TARGET_FILE:kalman_test_${BACKEND}_${NAME}_driver>)
endforeach()
endforeach()

Expand All @@ -142,11 +136,9 @@ foreach(BACKEND IN ITEMS "lazy")
target_link_libraries(
kalman_test_${BACKEND}_${NAME}_driver
PRIVATE kalman kalman_main kalman_linalg_${BACKEND} kalman_options)
add_test(kalman_test_${BACKEND}_${NAME}
kalman_test_${BACKEND}_${NAME}_driver)
add_test(
NAME kalman_${BACKEND}_valgrind_${NAME}
COMMAND valgrind --error-exitcode=1 --leak-check=full --track-origins=yes
$<TARGET_FILE:kalman_test_${BACKEND}_${NAME}_driver>)
separate_arguments(TEST_COMMAND UNIX_COMMAND $ENV{COMMAND})
add_test(NAME kalman_test_${BACKEND}_${NAME}
COMMAND ${TEST_COMMAND}
$<TARGET_FILE:kalman_test_${BACKEND}_${NAME}_driver>)
endforeach()
endforeach()

0 comments on commit 57b36a9

Please sign in to comment.