From 4881c371cef5e3c1065d7dfa314fffc3a5ab0256 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Sun, 19 Feb 2006 22:50:20 +1100 Subject: - (dtucker) [Makefile.in configure.ac, added openbsd-compat/regress/] Add first attempt at regress tests for compat library. ok djm@ --- openbsd-compat/regress/Makefile.in | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 openbsd-compat/regress/Makefile.in (limited to 'openbsd-compat/regress/Makefile.in') diff --git a/openbsd-compat/regress/Makefile.in b/openbsd-compat/regress/Makefile.in new file mode 100644 index 000000000..51383a777 --- /dev/null +++ b/openbsd-compat/regress/Makefile.in @@ -0,0 +1,39 @@ +# $Id: Makefile.in,v 1.1 2006/02/19 11:50:20 dtucker Exp $ + +sysconfdir=@sysconfdir@ +piddir=@piddir@ +srcdir=@srcdir@ +top_srcdir=@top_srcdir@ + +VPATH=@srcdir@ +CC=@CC@ +LD=@LD@ +CFLAGS=@CFLAGS@ +CPPFLAGS=-I. -I.. -I$(srcdir) -I$(srcdir)/.. @CPPFLAGS@ @DEFS@ +LIBS=@LIBS@ +LDFLAGS=-L.. -lopenbsd-compat @LDFLAGS@ + +LIBCOMPAT=../libopenbsd-compat.a +TESTPROGS=strtonumtest strduptest snprintftest + +all: t-exec ${OTHERTESTS} + +t-exec: $(TESTPROGS) + @echo running compat regress tests + @for TEST in ""$?; do \ + echo "run test $${TEST}" ... 1>&2; \ + ./$${TEST} || exit $$? ; \ + done + @echo finished compat regress tests + +strtonumtest: strtonumtest.c $(LIBCOMPAT) + $(CC) $(CFLAGS) $(CPPFLAGS) -o strtonumtest $< $(LDFLAGS) + +strduptest: strduptest.c $(LIBCOMPAT) + $(CC) $(CFLAGS) $(CPPFLAGS) -o strduptest $< $(LDFLAGS) + +clean: + rm -f *.o *.a core $(TESTPROGS) valid.out + +distclean: clean + rm -f Makefile *~ -- cgit v1.2.3 From c889ffdbc6329f21d2437b3c3d17eba0960969fc Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Thu, 17 Aug 2006 19:40:35 +1000 Subject: - (dtucker) [openbsd-compat/regress/{Makefile.in,closefromtest.c}] Regress test for closefrom() in compat code. --- ChangeLog | 4 ++- openbsd-compat/regress/Makefile.in | 7 ++-- openbsd-compat/regress/closefromtest.c | 60 ++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 openbsd-compat/regress/closefromtest.c (limited to 'openbsd-compat/regress/Makefile.in') diff --git a/ChangeLog b/ChangeLog index 3f253c021..1f37e7477 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,8 @@ Include stdlib.h for malloc and friends. - (dtucker) [configure.ac openbsd-compat/bsd-closefrom.c] Use F_CLOSEM fcntl for closefrom() on AIX. Pointed out by William Ahern. + - (dtucker) [openbsd-compat/regress/{Makefile.in,closefromtest.c}] Regress + test for closefrom() in compat code. 20060816 - (djm) [audit-bsm.c] Sprinkle in some headers @@ -5216,4 +5218,4 @@ - (djm) Trim deprecated options from INSTALL. Mention UsePAM - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu -$Id: ChangeLog,v 1.4481 2006/08/17 09:35:49 dtucker Exp $ +$Id: ChangeLog,v 1.4482 2006/08/17 09:40:35 dtucker Exp $ diff --git a/openbsd-compat/regress/Makefile.in b/openbsd-compat/regress/Makefile.in index 51383a777..3a0a4c4da 100644 --- a/openbsd-compat/regress/Makefile.in +++ b/openbsd-compat/regress/Makefile.in @@ -1,4 +1,4 @@ -# $Id: Makefile.in,v 1.1 2006/02/19 11:50:20 dtucker Exp $ +# $Id: Makefile.in,v 1.2 2006/08/17 09:40:35 dtucker Exp $ sysconfdir=@sysconfdir@ piddir=@piddir@ @@ -14,7 +14,7 @@ LIBS=@LIBS@ LDFLAGS=-L.. -lopenbsd-compat @LDFLAGS@ LIBCOMPAT=../libopenbsd-compat.a -TESTPROGS=strtonumtest strduptest snprintftest +TESTPROGS=closefromtest strtonumtest strduptest snprintftest all: t-exec ${OTHERTESTS} @@ -32,6 +32,9 @@ strtonumtest: strtonumtest.c $(LIBCOMPAT) strduptest: strduptest.c $(LIBCOMPAT) $(CC) $(CFLAGS) $(CPPFLAGS) -o strduptest $< $(LDFLAGS) +closefromtest: closefromtest.c $(LIBCOMPAT) + $(CC) $(CFLAGS) $(CPPFLAGS) -o closefromtest $< $(LDFLAGS) + clean: rm -f *.o *.a core $(TESTPROGS) valid.out diff --git a/openbsd-compat/regress/closefromtest.c b/openbsd-compat/regress/closefromtest.c new file mode 100644 index 000000000..feb1b567d --- /dev/null +++ b/openbsd-compat/regress/closefromtest.c @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2006 Darren Tucker + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include + +#include +#include +#include +#include + +#define NUM_OPENS 10 + +void +fail(char *msg) +{ + fprintf(stderr, "closefrom: %s\n", msg); + exit(1); +} + +int +main(void) +{ + int i, max, fds[NUM_OPENS]; + char buf[512]; + + for (i = 0; i < NUM_OPENS; i++) + if ((fds[i] = open("/dev/null", "r")) == -1) + exit(0); /* can't test */ + max = i - 1; + + /* should close last fd only */ + closefrom(fds[max]); + if (close(fds[max]) != -1) + fail("failed to close highest fd"); + + /* make sure we can still use remaining descriptors */ + for (i = 0; i < max; i++) + if (read(fds[i], buf, sizeof(buf)) == -1) + fail("closed descriptors it should not have"); + + /* should close all fds */ + closefrom(fds[0]); + for (i = 0; i < NUM_OPENS; i++) + if (close(fds[i]) != -1) + fail("failed to close from lowest fd"); +} -- cgit v1.2.3 From 637c80aa6f1bbbb93935fe102790820e8bec3a27 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 18 Aug 2006 20:56:18 +1000 Subject: - (dtucker) [openbsd-compat/regress/Makefile.in] Use implicit rules for the test progs instead; they work better than what we have. --- ChangeLog | 4 +++- openbsd-compat/regress/Makefile.in | 11 +---------- 2 files changed, 4 insertions(+), 11 deletions(-) (limited to 'openbsd-compat/regress/Makefile.in') diff --git a/ChangeLog b/ChangeLog index c03112b81..4c5e3b9ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,8 @@ closefrom.c from sudo. - (dtucker) [openbsd-compat/bsd-closefrom.c] Comment out rcsid. - (dtucker) [openbsd-compat/regress/snprintftest.c] Newline on error. + - (dtucker) [openbsd-compat/regress/Makefile.in] Use implicit rules for the + test progs instead; they work better than what we have. 20060817 - (dtucker) [openbsd-compat/fake-rfc2553.c openbsd-compat/setproctitle.c] @@ -5224,4 +5226,4 @@ - (djm) Trim deprecated options from INSTALL. Mention UsePAM - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu -$Id: ChangeLog,v 1.4485 2006/08/18 10:09:32 dtucker Exp $ +$Id: ChangeLog,v 1.4486 2006/08/18 10:56:18 dtucker Exp $ diff --git a/openbsd-compat/regress/Makefile.in b/openbsd-compat/regress/Makefile.in index 3a0a4c4da..22dab2837 100644 --- a/openbsd-compat/regress/Makefile.in +++ b/openbsd-compat/regress/Makefile.in @@ -1,4 +1,4 @@ -# $Id: Makefile.in,v 1.2 2006/08/17 09:40:35 dtucker Exp $ +# $Id: Makefile.in,v 1.3 2006/08/18 10:56:19 dtucker Exp $ sysconfdir=@sysconfdir@ piddir=@piddir@ @@ -26,15 +26,6 @@ t-exec: $(TESTPROGS) done @echo finished compat regress tests -strtonumtest: strtonumtest.c $(LIBCOMPAT) - $(CC) $(CFLAGS) $(CPPFLAGS) -o strtonumtest $< $(LDFLAGS) - -strduptest: strduptest.c $(LIBCOMPAT) - $(CC) $(CFLAGS) $(CPPFLAGS) -o strduptest $< $(LDFLAGS) - -closefromtest: closefromtest.c $(LIBCOMPAT) - $(CC) $(CFLAGS) $(CPPFLAGS) -o closefromtest $< $(LDFLAGS) - clean: rm -f *.o *.a core $(TESTPROGS) valid.out -- cgit v1.2.3 From f0625699dff5e62e69b454acd9ea4c5bef7787b5 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Sat, 19 Aug 2006 19:12:14 +1000 Subject: - (dtucker) [openbsd-compat/regress/Makefile.in] Add $(EXEEXT) and add a single rule for the test progs. --- ChangeLog | 4 +++- openbsd-compat/regress/Makefile.in | 15 ++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) (limited to 'openbsd-compat/regress/Makefile.in') diff --git a/ChangeLog b/ChangeLog index 9f956a579..e24ad3444 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,8 @@ - djm@cvs.openbsd.org 2006/08/18 22:41:29 [gss-genr.c] GSSAPI error code should be 0 and not -1; from simon@sxw.org.uk + - (dtucker) [openbsd-compat/regress/Makefile.in] Add $(EXEEXT) and add a + single rule for the test progs. 20060818 - (dtucker) [configure.ac openbsd-compat/bsd-closefrom.c] Resync with @@ -5272,4 +5274,4 @@ - (djm) Trim deprecated options from INSTALL. Mention UsePAM - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu -$Id: ChangeLog,v 1.4497 2006/08/18 22:50:57 djm Exp $ +$Id: ChangeLog,v 1.4498 2006/08/19 09:12:14 dtucker Exp $ diff --git a/openbsd-compat/regress/Makefile.in b/openbsd-compat/regress/Makefile.in index 22dab2837..bcf214bd0 100644 --- a/openbsd-compat/regress/Makefile.in +++ b/openbsd-compat/regress/Makefile.in @@ -1,4 +1,4 @@ -# $Id: Makefile.in,v 1.3 2006/08/18 10:56:19 dtucker Exp $ +# $Id: Makefile.in,v 1.4 2006/08/19 09:12:14 dtucker Exp $ sysconfdir=@sysconfdir@ piddir=@piddir@ @@ -10,19 +10,24 @@ CC=@CC@ LD=@LD@ CFLAGS=@CFLAGS@ CPPFLAGS=-I. -I.. -I$(srcdir) -I$(srcdir)/.. @CPPFLAGS@ @DEFS@ +EXEEXT=@EXEEXT@ +LIBCOMPAT=../libopenbsd-compat.a LIBS=@LIBS@ -LDFLAGS=-L.. -lopenbsd-compat @LDFLAGS@ +LDFLAGS=@LDFLAGS@ $(LIBCOMPAT) -LIBCOMPAT=../libopenbsd-compat.a -TESTPROGS=closefromtest strtonumtest strduptest snprintftest +TESTPROGS=closefromtest$(EXEEXT) snprintftest$(EXEEXT) strduptest$(EXEEXT) \ + strtonumtest$(EXEEXT) all: t-exec ${OTHERTESTS} +%$(EXEEXT): %.c + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $< $(LIBCOMPAT) $(LIBS) + t-exec: $(TESTPROGS) @echo running compat regress tests @for TEST in ""$?; do \ echo "run test $${TEST}" ... 1>&2; \ - ./$${TEST} || exit $$? ; \ + ./$${TEST}$(EXEEXT) || exit $$? ; \ done @echo finished compat regress tests -- cgit v1.2.3