wireshark/doc/README.regression

77 lines
2.3 KiB
Plaintext

#
# Wireshark/TShark Regression Testing
#
# This is a sample Makefile for regression testing of the
# Wireshark engine. These tests use that uses 'tshark -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 TSHARK, 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 TShark, 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 TShark 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!)
TSHARK=/home/gram/prj/wireshark/debug/linux-ix86/tshark
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)/% $(TSHARK)
$(TSHARK) -V -n -r $< > $@
accept: $(REFERENCES)
%.ref : %.tether
mv $< $@
regress: $(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