Commit 5201fe0f authored by Tollef Fog Heen's avatar Tollef Fog Heen

Merge r4750: Add -storage spec to varnishtest

Introduce a -storage spec, and default it -sfile,<workdir>,10m to
avoid mapping more VM than a 32bit machine can cope with, if /tmp is
huge.


git-svn-id: http://www.varnish-cache.org/svn/branches/2.1@4770 d4fa192b-c00b-0410-8231-f00ffab90ce4
parent f2f085a5
......@@ -9,7 +9,7 @@ server s1 {
txresp -body "012345\n"
} -start
varnish v1 -arg "-smalloc,1m" -vcl+backend {} -start
varnish v1 -storage "-smalloc,1m" -vcl+backend {} -start
varnish v1 -cliok "param.set diag_bitmap 0x2"
......
......@@ -11,7 +11,8 @@ shell "rm -f ${tmpdir}/_.per"
varnish v1 \
-arg "-pdiag_bitmap=0x20000" \
-arg "-spersistent,${tmpdir}/_.per,10m" -vcl+backend { } -start
-storage "-spersistent,${tmpdir}/_.per,10m" \
-vcl+backend { } -start
varnish v1 -stop
......
......@@ -11,7 +11,8 @@ server s1 {
varnish v1 \
-arg "-pdiag_bitmap=0x20000" \
-arg "-spersistent,${tmpdir}/_.per,10m" -vcl+backend { } -start
-storage "-spersistent,${tmpdir}/_.per,10m" \
-vcl+backend { } -start
client c1 {
txreq -url "/"
......
......@@ -11,8 +11,8 @@ server s1 {
varnish v1 \
-arg "-pdiag_bitmap=0x20000" \
-arg "-spersistent,${tmpdir}/_.per1,10m" \
-arg "-spersistent,${tmpdir}/_.per2,10m" \
-storage "-spersistent,${tmpdir}/_.per1,10m" \
-storage "-spersistent,${tmpdir}/_.per2,10m" \
-vcl+backend { } -start
client c1 {
......
......@@ -11,7 +11,7 @@ server s1 {
varnish v1 \
-arg "-pdiag_bitmap=0x20000" \
-arg "-spersistent,${tmpdir}/_.per,10m" \
-storage "-spersistent,${tmpdir}/_.per,10m" \
-vcl+backend { } -start
varnish v1 -cliok purge.list
......
......@@ -13,7 +13,7 @@ server s1 {
varnish v1 \
-arg "-pdiag_bitmap=0x20000" \
-arg "-spersistent,${tmpdir}/_.per,10m" \
-storage "-spersistent,${tmpdir}/_.per,10m" \
-vcl+backend { } -start
client c1 {
......
......@@ -11,7 +11,7 @@ server s1 {
varnish v1 \
-arg "-pdiag_bitmap=0x30000" \
-arg "-spersistent,${tmpdir}/_.per,10m" \
-storage "-spersistent,${tmpdir}/_.per,10m" \
-vcl+backend {
sub vcl_fetch {
set beresp.ttl = 3s;
......
......@@ -13,7 +13,7 @@ server s1 {
varnish v1 \
-arg "-spersistent,${tmpdir}/_.per,10m" \
-storage "-spersistent,${tmpdir}/_.per,10m" \
-vcl+backend { } -start
client c1 {
......
......@@ -13,7 +13,7 @@ server s1 {
txresp -hdr "Foo: foo" -body "abcdef\n"
} -start
varnish v1 -arg "-smalloc,1m" -vcl+backend {
varnish v1 -storage "-smalloc,1m" -vcl+backend {
sub vcl_fetch {
if (beresp.http.panic) {
......
......@@ -33,6 +33,7 @@ SVNID("$Id$")
#include <stdio.h>
#include <limits.h>
#include <ctype.h>
#include <fcntl.h>
#include <stdlib.h>
......@@ -68,6 +69,8 @@ struct varnish {
struct varnish_stats *stats;
struct vsb *storage;
struct vsb *args;
int fds[4];
pid_t pid;
......@@ -171,9 +174,15 @@ varnish_new(const char *name)
vtc_log(v->vl, 0, "Varnish name must start with 'v'");
v->args = vsb_newauto();
v->storage = vsb_newauto();
vsb_printf(v->storage, "-sfile,%s,10M", v->workdir);
vsb_finish(v->storage);
v->cli_fd = -1;
VTAILQ_INSERT_TAIL(&varnishes, v, list);
return (v);
}
......@@ -269,6 +278,7 @@ varnish_launch(struct varnish *v)
vsb_printf(vsb, " -S %s/_S", v->workdir);
vsb_printf(vsb, " -M %s:%s", abuf, pbuf);
vsb_printf(vsb, " -P %s/varnishd.pid", v->workdir);
vsb_printf(vsb, " %s", vsb_data(v->storage));
vsb_printf(vsb, " %s", vsb_data(v->args));
vsb_finish(vsb);
AZ(vsb_overflowed(vsb));
......@@ -663,6 +673,13 @@ cmd_varnish(CMD_ARGS)
for (; *av != NULL; av++) {
if (vtc_error)
break;
if (!strcmp(*av, "-storage")) {
vsb_clear(v->storage);
vsb_cat(v->storage, av[1]);
vsb_finish(v->storage);
av++;
continue;
}
if (!strcmp(*av, "-arg")) {
AN(av[1]);
AZ(v->pid);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment