source: git/tests/smoke.tst

walls-data-hanging-as-warning
Last change on this file was 43e8c72, checked in by Olly Betts <olly@…>, 3 years ago

Suppress lsan leak checking on exit

If the tree is built with LeakSanitiser? then some tests fail due to
us not releasing all memory explicitly on exit (doing so would mean
extra work for no reason as the OS reclaims all memory when the
process exits). If LeakSanitiser? isn't in use then setting LSAN_OPTIONS
should be harmless.

  • Property mode set to 100755
File size: 2.0 KB
RevLine 
[9cc3854]1#!/bin/sh
[b4fe9fb]2#
3# Survex test suite - smoke tests
[43e8c72]4# Copyright (C) 1999-2021 Olly Betts
[b4fe9fb]5#
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 2 of the License, or
9# (at your option) any later version.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with this program; if not, write to the Free Software
[cc49471]18# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
[9cc3854]19
20testdir=`echo $0 | sed 's!/[^/]*$!!' || echo '.'`
21
22test -x "$testdir"/../src/cavern || testdir=.
23
[deea763]24# Ensure that --version and --help work without an X display.
25DISPLAY=
26export DISPLAY
27
[79b32a95]28PROGS="cavern diffpos extend sorterr survexport aven"
[9cc3854]29
[43e8c72]30# Suppress checking for leaks on exit if we're build with lsan - we don't
31# generally waste effort to free all allocations as the OS will reclaim
32# memory on exit.
33LSAN_OPTIONS=leak_check_at_exit=0
34export LSAN_OPTIONS
35
[33a2d49]36vgrun=
37vg_error=123
38vg_log=vg.log
39if [ -n "$VALGRIND" ] ; then
40  rm -f "$vg_log"
41  vgrun="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error"
42fi
43
[9cc3854]44for p in ${PROGS}; do
[33a2d49]45  echo $p
46  for o in version help ; do
47    if test -n "$VERBOSE"; then
48      $vgrun "$testdir/../src/$p" --$o
49      exitcode=$?
50    else
51      $vgrun "$testdir/../src/$p" --$o > /dev/null
52      exitcode=$?
[ebce30c]53    fi 2> stderr.log
54    if [ -s stderr.log ] ; then
55      echo "$p --$o produced output on stderr:"
56      cat stderr.log
57      rm stderr.log
58      exit 1
[33a2d49]59    fi
[ebce30c]60    rm stderr.log
[33a2d49]61    if [ -n "$VALGRIND" ] ; then
62      if [ $exitcode = "$vg_error" ] ; then
63        cat "$vg_log"
64        rm "$vg_log"
65        exit 1
66      fi
67      rm "$vg_log"
68    fi
69    [ "$exitcode" = 0 ] || exit 1
70  done
[9cc3854]71done
[b0d0ff5]72
[bbe0a27]73test -n "$VERBOSE" && echo "Test passed"
[9cc3854]74exit 0
Note: See TracBrowser for help on using the repository browser.