1#!/bin/sh 2# Testing the mtrace function. 3# Copyright (C) 2000-2022 Free Software Foundation, Inc. 4# This file is part of the GNU C Library. 5 6# The GNU C Library is free software; you can redistribute it and/or 7# modify it under the terms of the GNU Lesser General Public 8# License as published by the Free Software Foundation; either 9# version 2.1 of the License, or (at your option) any later version. 10 11# The GNU C Library 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 GNU 14# Lesser General Public License for more details. 15 16# You should have received a copy of the GNU Lesser General Public 17# License along with the GNU C Library; if not, see 18# <https://www.gnu.org/licenses/>. 19 20set -e 21 22common_objpfx=$1; shift 23test_program_prefix_before_env=$1; shift 24run_program_env=$1; shift 25test_program_prefix_after_env=$1; shift 26 27status=0 28trap "rm -f ${common_objpfx}malloc/tst-mtrace.leak; exit 1" 1 2 15 29 30${test_program_prefix_before_env} \ 31${run_program_env} \ 32MALLOC_TRACE=${common_objpfx}malloc/tst-mtrace.leak \ 33LD_PRELOAD=${common_objpfx}malloc/libc_malloc_debug.so \ 34${test_program_prefix_after_env} \ 35 ${common_objpfx}malloc/tst-mtrace || status=1 36 37if test $status -eq 0 && test -f ${common_objpfx}malloc/mtrace; then 38 ${common_objpfx}malloc/mtrace ${common_objpfx}malloc/tst-mtrace.leak \ 39 > ${common_objpfx}malloc/tst-mtrace.out|| status=1 40fi 41 42rm -f ${common_objpfx}malloc/tst-mtrace.leak 43 44exit $status 45