X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=regress%2FMakefile.in;h=5f87f241296283a0ee23f982b4a2ae999a4683b0;hb=1851859ebed79a37124e7dae514e9c8eb70653aa;hp=94017cc9964a071a6dad068f6bfa98e0654d39c9;hpb=2260f64fef01236f3cb0d3da98dbeeeb117c224c;p=adns.git diff --git a/regress/Makefile.in b/regress/Makefile.in index 94017cc..5f87f24 100644 --- a/regress/Makefile.in +++ b/regress/Makefile.in @@ -1,14 +1,15 @@ # regress/Makefile[.in] - regression test Makefile # # This file is part of adns, which is -# Copyright (C) 1997-2000,2003,2006 Ian Jackson +# Copyright (C) 1997-2000,2003,2006,2014-2016,2020 Ian Jackson +# Copyright (C) 2014 Mark Wooding # Copyright (C) 1999-2000,2003,2006 Tony Finch # Copyright (C) 1991 Massachusetts Institute of Technology # (See the file INSTALL for full details.) # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, @@ -17,8 +18,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# along with this program; if not, write to the Free Software Foundation. srcdir= @srcdir@ VPATH= @srcdir@ @@ -37,26 +37,54 @@ HCPPFLAGS= -DADNS_REGRESS_TEST -I. REDIRLIBOBJS= $(addsuffix _d.o, $(basename $(LIBOBJS))) HARNLOBJS= hcommon.o $(REDIRLIBOBJS) -TARGETS= $(addsuffix _record, $(CLIENTS)) $(addsuffix _playback, $(CLIENTS)) +TARGETS= $(addsuffix _record, $(CLIENTS)) \ + $(addsuffix _playback, $(CLIENTS)) \ + $(addsuffix _fuzz, $(CLIENTS)) ADH_OBJS= adh-main_c.o adh-opts_c.o adh-query_c.o -ALL_OBJS= $(HARNLOBJS) dtest.o hrecord.o hplayback.o +ALL_OBJS= $(HARNLOBJS) dtest.o hrecord.o hplayback.o hnonfuzz.o hfuzz.o .PRECIOUS: $(AUTOCSRCS) $(AUTOCHDRS) all install uninstall: $(TARGETS) -check: $(TARGETS) - srcdir=$(srcdir) $(srcdir)/checkall +ALL_TESTS:=$(patsubst $(srcdir)/case-%.sys,%,$(wildcard $(srcdir)/case-*.sys)) + +check: $(TARGETS) $(addprefix check-,$(ALL_TESTS)) + @echo + @echo 'all tests passed or maybe skipped.' + +checkfuzz: $(TARGETS) $(addprefix checkfuzz-,$(ALL_TESTS)) + @echo + @echo 'all fuzzes passed or maybe skipped.' +# this target is mostly useful as prep work for running the fuzzer; +# it doesn't really test any of adns + +fuzzcat.d: checkfuzz + $(srcdir)/categorizefuzz $(ALL_TESTS) + +check-%: case-%.sys + @srcdir=$(srcdir) $(srcdir)/r1test $* || test $$? = 5 + +fuzz-%: case-%.sys $(TARGETS) make1fuzz shlib + srcdir=$(srcdir) $(srcdir)/make1fuzz $* + +.PRECIOUS: fuzz-% + +checkfuzz-%: fuzz-% $(TARGETS) + @srcdir=$(srcdir) $(srcdir)/check1fuzz $< || test $$? = 5 LINK_CMD= $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ -%_record: %_c.o hrecord.o $(HARNLOBJS) +%_record: %_c.o hrecord.o hnonfuzz.o $(HARNLOBJS) + $(LINK_CMD) + +%_playback: %_c.o hplayback.o hnonfuzz.o $(HARNLOBJS) $(LINK_CMD) -%_playback: %_c.o hplayback.o $(HARNLOBJS) +%_fuzz: %_c.o hplayback.o hfuzz.o $(HARNLOBJS) $(LINK_CMD) -.SECONDARY: $(addsuffix _c.o, $(CLIENTS)) +.SECONDARY: $(addsuffix _c.o, $(filter-out adnshost, $(CLIENTS))) # Without this, make will remove _c.o after building . # This wastes effort. (Debian bug #4073.) # @@ -66,7 +94,10 @@ LINK_CMD= $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ # # See also Savannah #29620, http://savannah.gnu.org/bugs/index.php?29620 -adnshost_%: $(ADH_OBJS) h%.o $(HARNLOBJS) +adnshost_%: $(ADH_OBJS) h%.o hnonfuzz.o $(HARNLOBJS) + $(LINK_CMD) + +adnshost_fuzz: $(ADH_OBJS) hplayback.o hfuzz.o $(HARNLOBJS) $(LINK_CMD) %_d.o: $(srcdir)/../src/%.c hredirect.h