Browse Source

Add valgrind CI run

Now that all errors are fixed.
master
Samuel Thibault 3 years ago
parent
commit
02dd413a32
4 changed files with 28 additions and 7 deletions
  1. 17
    0
      .github/workflows/ci.yml
  2. 5
    1
      Makefile.am
  3. 4
    4
      tests/common
  4. 2
    2
      tests/ssml.test

+ 17
- 0
.github/workflows/ci.yml 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
Makefile.am 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
tests/common 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
tests/ssml.test 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
}

Loading…
Cancel
Save