1varnishtest "Transient-salvaged objects ttl should be shortened - #1140"
2
3server s1 {
4	# This response should almost completely fill the storage
5	rxreq
6	expect req.url == /url1
7	txresp -bodylen 1048408
8
9	# The next one should not fit in the storage, ending up in transient
10	# with zero ttl (=shortlived)
11	rxreq
12	expect req.url == /url2
13	txresp -bodylen 1024
14
15	# And therefore this one should be fetched next
16	rxreq
17	expect req.url == /url2
18	txresp -bodylen 1025
19} -start
20
21varnish v1 -arg "-p nuke_limit=0 -p shortlived=0" \
22	-arg "-sdefault,1m" -vcl+backend {
23	sub vcl_backend_response {
24		set beresp.do_stream = false;
25		# Unset Date header to not change the object sizes
26		unset beresp.http.Date;
27	}
28} -start
29
30client c1 {
31	txreq -url /url1
32	rxresp
33	expect resp.status == 200
34	expect resp.bodylen == 1048408
35} -run
36
37delay .1
38
39varnish v1 -expect SM?.s0.g_space < 1000
40
41client c1 {
42	txreq -url /url2
43	rxresp
44	expect resp.status == 200
45	expect resp.bodylen == 1024
46} -run
47
48delay .1
49
50client c1 {
51	txreq -url /url2
52	rxresp
53	expect resp.status == 200
54	expect resp.bodylen == 1025
55} -run
56