2003-02-22 Roland McGrath <roland@redhat.com>

* resolv/tst-leaks.c: New file by Daniel Jacobowitz <drow@mvista.com>.
	* resolv/Makefile (tests): Add tst-leaks.
	($(objpfx)tst-leaks): Depend on $(objpfx)libresolv.so.
	(tst-leaks-ENV): New variable.
	($(objpfx)mtrace-tst-leaks): New target.
	(tests): Depend on it.
This commit is contained in:
Roland McGrath 2003-02-23 03:35:39 +00:00
parent 445546a1c9
commit dd1747485c
2 changed files with 54 additions and 2 deletions

View File

@ -1,4 +1,5 @@
# Copyright (C) 1994,95,96,97,98,99,2000,2001 Free Software Foundation, Inc.
# Copyright (C) 1994,1995,1996,1997,1998,1999,2000,2001,2003
# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -31,7 +32,7 @@ distribute := ../conf/portability.h mapv4v6addr.h mapv4v6hostent.h \
routines := herror inet_addr inet_ntop inet_pton nsap_addr res_init \
res_hconf res_libc res-state
tests = tst-aton
tests = tst-aton tst-leaks
include ../Makeconfig
@ -87,3 +88,11 @@ $(objpfx)libanl.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a \
$(shared-thread-library)
$(objpfx)ga_test: $(objpfx)libanl.so $(shared-thread-library)
$(objpfx)tst-leaks: $(objpfx)libresolv.so
tst-leaks-ENV = MALLOC_TRACE=$(objpfx)tst-leaks.mtrace
$(objpfx)mtrace-tst-leaks: $(objpfx)tst-leaks.out
$(common-objpfx)malloc/mtrace $(objpfx)tst-leaks.mtrace > $@
ifneq (no,$(PERL))
tests: $(objpfx)mtrace-tst-leaks
endif

43
resolv/tst-leaks.c Normal file
View File

@ -0,0 +1,43 @@
/* Tests for res_query in libresolv
Copyright (C) 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>
#include <mcheck.h>
/* Prototype for our test function. */
extern int do_test (int argc, char *argv[]);
/* This defines the `main' function and some more. */
#include <test-skeleton.c>
int
do_test (int argc, char *argv[])
{
unsigned char buf[256];
mtrace();
/* This will allocate some memory, which should be automatically
freed at exit. */
res_query ("1.0.0.127.in-addr.arpa.", C_ANY, T_ANY, buf, 256);
return 0;
}