У меня есть скрипт, который выполняет мои модульные тесты с использованием valgrind.Теперь сценарий стал большим, потому что у меня есть, возможно, 10 файлов подавления (по одному на библиотеку), и, возможно, мне придется добавить больше файлов подавления.
Теперь вместо строки, подобной этой:
MEMCHECK_OPTIONS="--tool=memcheck -q -v --num-callers=24 --leak-check=full --show-below-main=no --undef-value-errors=yes --leak-resolution=high --show-reachable=yes --error-limit=no --xml=yes --suppressions=$SUPPRESSION_FILES_DIR/suppression_stdlib.supp --suppressions=$SUPPRESSION_FILES_DIR/suppression_cg.supp --suppressions=$SUPPRESSION_FILES_DIR/suppression_glut.supp --suppressions=$SUPPRESSION_FILES_DIR/suppression_xlib.supp --suppressions=$SUPPRESSION_FILES_DIR/suppression_glibc.supp --suppressions=$SUPPRESSION_FILES_DIR/suppression_glib.supp --suppressions=$SUPPRESSION_FILES_DIR/suppression_qt.supp --suppressions=$SUPPRESSION_FILES_DIR/suppression_sdl.supp --suppressions=$SUPPRESSION_FILES_DIR/suppression_magick.supp --suppressions=$SUPPRESSION_FILES_DIR/suppression_sqlite.supp --suppressions=$SUPPRESSION_FILES_DIR/suppression_ld.supp --suppressions=$SUPPRESSION_FILES_DIR/suppression_selinux.supp --suppressions=$SUPPRESSION_FILES_DIR/suppression_opengl.supp"
Я пытался сделать так:
MEMCHECK_OPTIONS="--tool=memcheck -q -v --num-callers=24 --leak-check=full --show-below-main=no --undef-value-errors=yes --leak-resolution=high --show-reachable=yes --error-limit=no --xml=yes --suppressions=$SUPPRESSION_FILES_DIR/*.supp"
, но valgrind нужно имя файла (не принимает звездочку).
Так как я делаю это в bashСценарий, может кто-нибудь сказать мне, как проще всего сформировать эту строку?
Я думал о том, чтобы перечислить все файлы в каталоге подавления, затем выполнить итерацию по этому списку и добавить префикс --suppressions=
.
РЕДАКТИРОВАТЬ
Я забыл спросить.Это то, что я до сих пор:
ALL_SUPPRESION_FILES=`ls $SUPPRESSION_FILES_DIR/*.supp`
, но я не могу найти, как передать это в массив.Может кто-нибудь помочь?