/
Makefile
86 lines (68 loc) · 2.02 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
include ../support/include.mk
.PHONY: all test conf newconf small_datafile t1 t2 t3 t4 t5 t6 t7 json
all: conf setup
@echo "all ok"
## to run test, do
# make all test
test: all
set -e ; \
for t in t1 t2 t3 t4 t5 t6 t7 json; do \
$(MAKE) $$t ; \
done
newconf:
@rm -f yaws.conf
$(MAKE) conf
t1: newconf start
$(SHELL) ./wgettest
$(MAKE) stop
t2: newconf start
sizes='131072 1048576 8388608' ; \
for sz in $$sizes; do \
dd if=/dev/zero \
of=../../www/$$sz.dat count=1 bs=$$sz >/dev/null 2>&1 ; \
done ; \
$(SHELL) ./runtest $$sizes
$(MAKE) stop
DATAFILE_BASE = small_datafile.dat
DATAFILE = ../../www/$(DATAFILE_BASE)
TMP_DATAFILE = ./tmpdatafile
CHECK_WITH_CURL = \
set -e ; \
$(MAKE) start ; \
trap 'rm -f $(TMP_DATAFILE) ; $(MAKE) stop ; sleep 3' HUP INT EXIT ; \
curl -s -m 5 -o $(TMP_DATAFILE) http://localhost:8000/$(DATAFILE_BASE) ; \
cmp -s $(DATAFILE) $(TMP_DATAFILE)
small_datafile:
dd if=/dev/zero of=$(DATAFILE) count=1 bs=10 >/dev/null 2>&1
t3: newconf small_datafile
echo 'max_num_cached_files = 0' >> yaws.conf
$(CHECK_WITH_CURL)
t4: newconf small_datafile
echo 'max_num_cached_bytes = 0' >> yaws.conf
$(CHECK_WITH_CURL)
t5: newconf small_datafile
echo 'max_size_cached_file = 0' >> yaws.conf
$(CHECK_WITH_CURL)
t6: newconf small_datafile
echo 'max_num_cached_bytes = 5' >> yaws.conf
echo 'max_size_cached_file = 50' >> yaws.conf
$(CHECK_WITH_CURL)
# Verify redirection does not create URIs with multiple adjacent slashes
# Test submitted by James Lee
t7: newconf
perl -i -ne \
'print; \
print "<redirect>\n/ = localhost\n</redirect>\n" if (/server localhost/)' \
yaws.conf
$(MAKE) start
loc=`curl -s -m 5 -i http://localhost:8000/foo | \
perl -ne 'print "$$1\n" if (m#Location:\s+http://(.+)#)' | \
grep //` ; \
$(MAKE) stop ; \
[ "$$loc" = "" ] && exit 0 || exit 1
json:
$(ERL) -noinput $(PA) -eval \
'case json2:test() of ok -> halt(0); _ -> halt(1) end'
conf: stdconf
clean: tclean
-rm -rf localhost:8000 $(TMP_DATAFILE) yaws.conf