From dbf648436acaf47edbdca653e7a03a83a555dd34 Mon Sep 17 00:00:00 2001 From: Gilbert Ramirez Date: Fri, 12 May 2000 05:47:00 +0000 Subject: Add a sample Makefile for regression testing by using tethereal. svn path=/trunk/; revision=1947 --- doc/README.regression | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 doc/README.regression (limited to 'doc/README.regression') diff --git a/doc/README.regression b/doc/README.regression new file mode 100644 index 0000000000..8ce9b4fbe3 --- /dev/null +++ b/doc/README.regression @@ -0,0 +1,78 @@ +# +# Ethereal/Tethereal Regression Testing +# +# $Id: README.regression,v 1.1 2000/05/12 05:47:00 gram Exp $ +# +# This is a sample Makefile for regression testing of the +# Ethereal engine. These tests use that uses 'tethereal -V' to analyze all +# the frames of a capture file. +# +# You should probably rename this file as 'Makefile' in a separate directory +# set aside for the sole purpose of regression testing. Two text files will +# be created for each capture file you test, so expect to have lots of files. +# +# Set TETHEREAL, CAPTURE_DIR, and CAPTURE_FILES to values appropriate for +# your system. Run 'make' to create the initial datasets. Type 'make accept' +# to accept those files as the reference set. +# +# After you make changes to Tethereal, run 'make regress'. This will re-run +# the tests and compare them against the accepted reference set of data. +# The comparison, which is just an invocation of 'diff -u' for the output +# of each trace file, will be put into a file called 'regress'. Examine +# this file for any changes that you did or did not expect. +# +# If you have introduced a change to Tethereal that shows up in the tests, but +# it is a valid change, run 'make accept' to accept those new data as your +# reference set. +# +# Commands: +# +# 'make' Creates tests +# 'make regress' Checks tests against accepted reference test results +# Report is put in file 'regress' +# 'make accept' Accept current tests; make them the reference test results +# 'make clean' Cleans any tests (but not references!) + +TETHEREAL=/home/gram/prj/ethereal/debug/linux-ix86/tethereal + +CAPTURE_DIR=/home/gram/prj/sniff + +CAPTURE_FILES=\ + dhcp-g.tr1 \ + genbroad.snoop \ + ipv6-ripng.gz \ + ipx.pcap \ + pcmjh03.tr1 \ + strange.iptrace \ + teardrop.toshiba.gz \ + zlip-1.pcap \ + zlip-2.pcap \ + zlip-3.pcap + +######################################## No need to modify below this line + +TESTS = $(CAPTURE_FILES:=.tether) +REFERENCES = $(TESTS:.tether=.ref) + +all: $(TESTS) + +clean: + rm -f $(TESTS) + +%.tether : $(CAPTURE_DIR)/% + $(TETHEREAL) -V -n -r $< > $@ + +accept: $(REFERENCES) + +%.ref : %.tether + cp $< $@ + +regress: $(TETHEREAL) $(TESTS) + @echo "Regression Report" > regress + @date >> regress + @echo "BOF------------------------------------" >> regress + @for file in $(CAPTURE_FILES); do \ + echo Checking regression of $$file ; \ + diff -u $${file}.ref $${file}.tether >> regress ; \ + done + @echo "EOF------------------------------------" >> regress -- cgit v1.2.3