Add valgrind CI run

Now that all errors are fixed.
This commit is contained in:
Samuel Thibault
2022-04-01 00:22:26 +02:00
parent 5435f465c8
commit 02dd413a32
4 changed files with 28 additions and 7 deletions
+17
View File
@@ -108,3 +108,20 @@ jobs:
run: UBSAN_OPTIONS="halt_on_error=1" make
- name: make check
run: UBSAN_OPTIONS="halt_on_error=1" make check
valgrind:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: dependencies
run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown libtool-bin valgrind
- name: autoconf
run: ./autogen.sh ; chmod -x INSTALL m4/*.m4
- name: configure
run: ./configure
- name: make
run: VALGRIND="libtool --mode=execute valgrind --track-origins=yes --leak-check=full --error-exitcode=1" make
- name: make check
run: VALGRIND="libtool --mode=execute valgrind --track-origins=yes --leak-check=full --error-exitcode=1" make check
+5 -1
View File
@@ -242,28 +242,32 @@ check_PROGRAMS += tests/encoding.test
tests_encoding_test_LDADD = src/libespeak-ng.la
tests_encoding_test_SOURCES = tests/encoding.c
tests/encoding.check: LOG_COMPILER=$(VALGRIND)
check_PROGRAMS += tests/readclause.test
tests_readclause_test_CFLAGS = -Isrc/libespeak-ng ${AM_CFLAGS}
tests_readclause_test_LDADD = src/libespeak-ng-test.la
tests_readclause_test_SOURCES = tests/readclause.c
tests/readclause.check: LOG_COMPILER=$(VALGRIND)
check_PROGRAMS += tests/api.test
tests_api_test_CFLAGS = -Isrc/libespeak-ng ${AM_CFLAGS}
tests_api_test_LDADD = src/libespeak-ng-test.la
tests_api_test_SOURCES = tests/api.c
tests/api.check: LOG_COMPILER=$(VALGRIND)
check_PROGRAMS += tests/ieee80.test
tests_ieee80_test_CFLAGS = -Isrc/libespeak-ng ${AM_CFLAGS}
tests_ieee80_test_LDADD = src/libespeak-ng-test.la
tests_ieee80_test_SOURCES = tests/ieee80.c
tests/ieee80.check: LOG_COMPILER=$(VALGRIND)
.test.check:
@echo " TEST $<"
@ESPEAK_DATA_PATH=$(CURDIR) $< && echo " PASSED $<"
@ESPEAK_DATA_PATH=$(CURDIR) $(LOG_COMPILER) $< && echo " PASSED $<"
check: tests/encoding.check \
tests/readclause.check \
+4 -4
View File
@@ -56,7 +56,7 @@ test_phon() {
echo "testing ${TEST_LANG} $MESSAGE"
ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH} \
src/espeak-ng -xq ${OPTIONS} -v ${TEST_LANG} "${TEST_TEXT}" \
$VALGRIND src/espeak-ng -xq ${OPTIONS} -v ${TEST_LANG} "${TEST_TEXT}" \
> actual.txt || exit 1
echo "${EXPECTED}" > expected.txt
if [ "$MESSAGE" = "Ignore" ] ; then
@@ -75,7 +75,7 @@ test_wav () {
echo "testing ${VOICE}${MESSAGE}"
ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH} \
src/espeak-ng --stdout -v ${VOICE} "${TEST_TEXT}" \
$VALGRIND src/espeak-ng --stdout -v ${VOICE} "${TEST_TEXT}" \
> actual.txt || exit 1
< actual.txt $sha1sum | awk '{ print $1 }' > sum.txt
echo "${EXPECTED}" > expected.txt
@@ -94,7 +94,7 @@ test_wav_grep () {
MESSAGE=$4
echo "testing ${VOICE}${MESSAGE}"
ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH} \
src/espeak-ng --stdout -v ${VOICE} "${TEST_TEXT}" \
$VALGRIND src/espeak-ng --stdout -v ${VOICE} "${TEST_TEXT}" \
> actual.txt || exit 1
< actual.txt $sha1sum | awk '{ print $1 }' > sum.txt
if [ "$MESSAGE" = "Ignore" ] ; then
@@ -123,7 +123,7 @@ test_replace() {
echo "testing ${TEST_LANG}"
ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH} \
src/espeak-ng -Xq -v ${TEST_LANG} "${TEST_TEXT}" \
$VALGRIND src/espeak-ng -Xq -v ${TEST_LANG} "${TEST_TEXT}" \
> actual.txt || exit 1
< actual.txt grep -E "(Translate|Found:) " | sed -e 's/ \[.*][ ]*$//g' > filtered.txt
if [ "$MESSAGE" = "Ignore" ] ; then
+2 -2
View File
@@ -11,7 +11,7 @@ test_ssml_audio() {
echo "testing ${TEST_NAME}"
ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH} \
src/espeak-ng --stdout -m "${TEST_TEXT}" \
$VALGRIND src/espeak-ng --stdout -m "${TEST_TEXT}" \
> actual.txt || exit 1
< actual.txt $sha1sum | awk '{ print $1 }' > sum.txt
echo "${EXPECTED}" > expected.txt
@@ -31,7 +31,7 @@ test_ssml() {
echo "testing ${INPUT}"
cp $(dirname $INPUT)/$(basename ${INPUT%.*}).expected expected.txt
ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH} \
src/espeak-ng -m -q $PARAMETERS -f ${INPUT} \
$VALGRIND src/espeak-ng -m -q $PARAMETERS -f ${INPUT} \
> actual.txt || exit 1
diff expected.txt actual.txt || exit 1
}