2 # Testing the mtrace function.
3 # Copyright (C) 2000-2023 Free Software Foundation, Inc.
4 # This file is part of the GNU C Library.
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.
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.
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/>.
22 common_objpfx
=$1; shift
23 test_program_prefix_before_env
=$1; shift
24 run_program_env
=$1; shift
25 test_program_prefix_after_env
=$1; shift
28 trap "rm -f ${common_objpfx}malloc/tst-mtrace.leak; exit 1" 1 2 15
30 ${test_program_prefix_before_env} \
32 MALLOC_TRACE
=${common_objpfx}malloc
/tst-mtrace.leak \
33 LD_PRELOAD
=${common_objpfx}malloc
/libc_malloc_debug.so \
34 ${test_program_prefix_after_env} \
35 ${common_objpfx}malloc
/tst-mtrace || status
=1
37 if 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
42 rm -f ${common_objpfx}malloc
/tst-mtrace.leak