diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2024-10-30 04:51:06 +0300 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2024-10-30 14:04:54 +0300 |
commit | 7c55c0c00c761144e618868325f081771f6eb74e (patch) | |
tree | c8fc56ffb517f77787c62629cbbc689490adbcce | |
parent | 6d882a3fdd5b35181b301a2b1db32908c2b7953a (diff) | |
download | sciteco-7c55c0c00c761144e618868325f081771f6eb74e.tar.gz |
testsuite: added --valgrind option for running SciTECO under Valgrind (memcheck)
* Any memory error will let the test case fail with code 66.
* You can also call
make check TESTSUITEFLAGS="--valgrind"
* There is no program test for Valgrind in configure.ac for the time being.
`valgrind` must be in $PATH.
* All CI testsuite runs under Ubuntu are now with Valgrind.
-rw-r--r-- | .github/workflows/ci.yml | 4 | ||||
-rw-r--r-- | tests/atlocal.in | 6 | ||||
-rw-r--r-- | tests/testsuite.at | 3 |
3 files changed, 10 insertions, 3 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d42585a..c8a81ed 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,7 +28,7 @@ jobs: build-essential autoconf automake libtool libglib2.0-dev libncurses-dev libgtk-3-dev xvfb - groff doxygen + groff doxygen valgrind - name: Configure Build run: | @@ -45,7 +45,7 @@ jobs: # NOTE: The test suite must be run in verbose mode because if it fails # we won't be able to analyze testsuite.log. - name: Run Test Suite - run: xvfb-run -a make check TESTSUITEFLAGS="--verbose" + run: xvfb-run -a make check TESTSUITEFLAGS="--verbose --valgrind" - name: Build Developer Documentation run: cd doc && make devdoc - name: make distcheck diff --git a/tests/atlocal.in b/tests/atlocal.in index 4bc0a21..3c533a6 100644 --- a/tests/atlocal.in +++ b/tests/atlocal.in @@ -6,8 +6,12 @@ host=@host@ # anyway as we don't want to test some preinstalled SciTECO. SCITECO="@abs_top_builddir@/src/sciteco" +if [ $at_arg_valgrind != false ]; then + SCITECO="valgrind --tool=memcheck --error-exitcode=66 $SCITECO" +fi + # For testing command-line editing: -SCITECO_CMDLINE="@abs_top_builddir@/src/sciteco --no-profile --fake-cmdline" +SCITECO_CMDLINE="$SCITECO --no-profile --fake-cmdline" # Make sure that the standard library from the source package # is used. diff --git a/tests/testsuite.at b/tests/testsuite.at index 01ca664..edf2d3f 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -1,6 +1,9 @@ AT_INIT AT_COLOR_TESTS +AT_ARG_OPTION([valgrind], + AS_HELP_STRING([--valgrind], [Run tests under Valgrind (memcheck)])) + # NOTE: There is currently no way to influence the return # code of SciTECO, except to provoke an error. # Since errors cannot be yielded explicitly, we use the |