r5527 - in trunk/varnish-cache/bin/varnishtest: . tests

phk at varnish-cache.org phk at varnish-cache.org
Tue Nov 9 10:23:47 CET 2010


Author: phk
Date: 2010-11-09 10:23:47 +0100 (Tue, 09 Nov 2010)
New Revision: 5527

Modified:
   trunk/varnish-cache/bin/varnishtest/tests/b00005.vtc
   trunk/varnish-cache/bin/varnishtest/vtc.c
   trunk/varnish-cache/bin/varnishtest/vtc.h
   trunk/varnish-cache/bin/varnishtest/vtc_main.c
   trunk/varnish-cache/bin/varnishtest/vtc_varnish.c
Log:
Put storage file in ${tmpdir}



Modified: trunk/varnish-cache/bin/varnishtest/tests/b00005.vtc
===================================================================
--- trunk/varnish-cache/bin/varnishtest/tests/b00005.vtc	2010-11-09 09:15:28 UTC (rev 5526)
+++ trunk/varnish-cache/bin/varnishtest/tests/b00005.vtc	2010-11-09 09:23:47 UTC (rev 5527)
@@ -7,7 +7,7 @@
 	txresp -hdr "Connection: close" -body "012345\n"
 } -start
 
-varnish v1 -arg "-s file,varnishtest_backing,10M" -vcl+backend {}  -start
+varnish v1 -arg "-s file,${tmpdir}/varnishtest_backing,10M" -vcl+backend {}  -start
 
 client c1 {
 	txreq -url "/"
@@ -18,4 +18,4 @@
 server s1 -wait
 
 varnish v1 -stop
-shell "rm ../varnishd/varnishtest_backing"
+shell "rm ${tmpdir}/varnishtest_backing"

Modified: trunk/varnish-cache/bin/varnishtest/vtc.c
===================================================================
--- trunk/varnish-cache/bin/varnishtest/vtc.c	2010-11-09 09:15:28 UTC (rev 5526)
+++ trunk/varnish-cache/bin/varnishtest/vtc.c	2010-11-09 09:23:47 UTC (rev 5527)
@@ -62,7 +62,6 @@
 volatile sig_atomic_t	vtc_error;	/* Error encountered */
 int			vtc_stop;	/* Stops current test without error */
 pthread_t		vtc_thread;
-char			vtc_tmpdir[PATH_MAX];
 static struct vtclog	*vltop;
 
 /**********************************************************************
@@ -473,7 +472,8 @@
 };
 
 int
-exec_file(const char *fn, const char *script, char *logbuf, unsigned loglen)
+exec_file(const char *fn, const char *script, const char *tmpdir,
+    char *logbuf, unsigned loglen)
 {
 	unsigned old_err;
 	char *cwd, *p;
@@ -492,10 +492,8 @@
 
 	macro_def(vltop, NULL, "bad_ip", "10.255.255.255");
 
-	srandomdev();
-	bprintf(vtc_tmpdir, "/tmp/vtc.%d.%08x", getpid(), (unsigned)random());
-	AZ(mkdir(vtc_tmpdir, 0700));
-	macro_def(vltop, NULL, "tmpdir", vtc_tmpdir);
+	AZ(chdir(tmpdir));
+	macro_def(vltop, NULL, "tmpdir", tmpdir);
 
 	vtc_stop = 0;
 	vtc_desc = NULL;

Modified: trunk/varnish-cache/bin/varnishtest/vtc.h
===================================================================
--- trunk/varnish-cache/bin/varnishtest/vtc.h	2010-11-09 09:15:28 UTC (rev 5526)
+++ trunk/varnish-cache/bin/varnishtest/vtc.h	2010-11-09 09:23:47 UTC (rev 5527)
@@ -61,7 +61,6 @@
 extern volatile sig_atomic_t vtc_error; /* Error, bail out */
 extern int vtc_stop;		/* Abandon current test, no error */
 extern pthread_t	vtc_thread;
-extern char vtc_tmpdir[PATH_MAX];
 
 void init_sema(void);
 
@@ -76,7 +75,8 @@
 void vtc_dump(struct vtclog *vl, unsigned lvl, const char *pfx,
     const char *str);
 
-int exec_file(const char *fn, const char *script, char *logbuf, unsigned loglen);
+int exec_file(const char *fn, const char *script, const char *tmpdir,
+    char *logbuf, unsigned loglen);
 
 void macro_def(struct vtclog *vl, const char *instance, const char *name,
     const char *fmt, ...);

Modified: trunk/varnish-cache/bin/varnishtest/vtc_main.c
===================================================================
--- trunk/varnish-cache/bin/varnishtest/vtc_main.c	2010-11-09 09:15:28 UTC (rev 5526)
+++ trunk/varnish-cache/bin/varnishtest/vtc_main.c	2010-11-09 09:23:47 UTC (rev 5527)
@@ -71,6 +71,7 @@
 	struct vev		*ev;
 	struct vev		*evt;
 	char			*buf;
+	char			*tmpdir;
 	unsigned		bufsiz;
 	double			t0;
 };
@@ -186,6 +187,10 @@
 		AZ(munmap(jp->buf, jp->bufsiz));
 		if (jp->evt != NULL)
 			vev_del(vb, jp->evt);
+
+		bprintf(buf, "rm -rf %s", jp->tmpdir);
+		AZ(system(buf));
+		free(jp->tmpdir);
 		FREE_OBJ(jp);
 		return (1);
 	}
@@ -202,7 +207,9 @@
 	struct vtc_tst *tp;
 	int p[2], sfd, retval;
 	struct vtc_job *jp;
+	char tmpdir[PATH_MAX];
 
+
 	ALLOC_OBJ(jp, JOB_MAGIC);
 	AN(jp);
 
@@ -213,6 +220,10 @@
 	assert(jp->buf != MAP_FAILED);
 	memset(jp->buf, 0, jp->bufsiz);
 
+	srandomdev();
+	bprintf(tmpdir, "/tmp/vtc.%d.%08x", getpid(), (unsigned)random());
+	AZ(mkdir(tmpdir, 0700));
+
 	tp = VTAILQ_FIRST(&tst_head);
 	CHECK_OBJ_NOTNULL(tp, TST_MAGIC);
 	AN(tp->ntodo);
@@ -222,6 +233,8 @@
 		VTAILQ_INSERT_TAIL(&tst_head, tp, list);
 
 	jp->tst = tp;
+	jp->tmpdir = strdup(tmpdir);
+	AN(jp->tmpdir);
 
 	AZ(pipe(p));
 	assert(p[0] > STDERR_FILENO);
@@ -236,7 +249,8 @@
 		assert(dup2(p[1], STDERR_FILENO) == STDERR_FILENO);
 		for (sfd = STDERR_FILENO + 1; sfd < 100; sfd++)
 			(void)close(sfd);
-		retval = exec_file(jp->tst->filename, jp->tst->script, jp->buf, jp->bufsiz);
+		retval = exec_file(jp->tst->filename, jp->tst->script,
+		    jp->tmpdir, jp->buf, jp->bufsiz);
 		_exit(retval);
 	}
 	AZ(close(p[1]));

Modified: trunk/varnish-cache/bin/varnishtest/vtc_varnish.c
===================================================================
--- trunk/varnish-cache/bin/varnishtest/vtc_varnish.c	2010-11-09 09:15:28 UTC (rev 5526)
+++ trunk/varnish-cache/bin/varnishtest/vtc_varnish.c	2010-11-09 09:23:47 UTC (rev 5527)
@@ -147,6 +147,7 @@
 varnish_new(const char *name)
 {
 	struct varnish *v;
+	struct vsb *vsb;
 	char buf[1024];
 
 	AN(name);
@@ -154,17 +155,20 @@
 	AN(v);
 	REPLACE(v->name, name);
 
-	bprintf(buf, "%s/%s", vtc_tmpdir, name);
-	v->workdir = strdup(buf);
+	v->vl = vtc_logopen(name);
+	AN(v->vl);
+
+	bprintf(buf, "${tmpdir}/%s", name);
+	vsb = macro_expand(v->vl, buf);
+	AN(vsb);
+	v->workdir = strdup(vsb_data(vsb));
 	AN(v->workdir);
+	vsb_delete(vsb);
 
 	bprintf(buf, "rm -rf %s ; mkdir -p %s ; echo ' %ld' > %s/_S",
 	    v->workdir, v->workdir, random(), v->workdir);
 	AZ(system(buf));
 
-	v->vl = vtc_logopen(name);
-	AN(v->vl);
-
 	v->vl1 = vtc_logopen(name);
 	AN(v->vl1);
 
@@ -250,7 +254,7 @@
 static void
 varnish_launch(struct varnish *v)
 {
-	struct vsb *vsb;
+	struct vsb *vsb, *vsb1;
 	int i, nfd, nap;
 	struct vss_addr **ap;
 	char abuf[128], pbuf[128];
@@ -272,7 +276,7 @@
 	vtc_log(v->vl, 2, "Launch");
 	vsb = vsb_newauto();
 	AN(vsb);
-	vsb_printf(vsb, "cd ../varnishd &&");
+	vsb_printf(vsb, "cd ${topbuild}/bin/varnishd &&");
 	vsb_printf(vsb, " ./varnishd -d -d -n %s", v->workdir);
 	vsb_printf(vsb, " -l 10m,1m,-");
 	vsb_printf(vsb, " -p auto_restart=off");
@@ -286,6 +290,11 @@
 	vsb_finish(vsb);
 	AZ(vsb_overflowed(vsb));
 	vtc_log(v->vl, 3, "CMD: %s", vsb_data(vsb));
+	vsb1 = macro_expand(v->vl, vsb_data(vsb));
+	AN(vsb1);
+	vsb_delete(vsb);
+	vsb = vsb1;
+	vtc_log(v->vl, 3, "CMD: %s", vsb_data(vsb));
 	AZ(pipe(&v->fds[0]));
 	AZ(pipe(&v->fds[2]));
 	v->pid = fork();




More information about the varnish-commit mailing list