Commit 31f86d26 authored by Geoff Simmons's avatar Geoff Simmons

add decode_n() and transcode_n() to the usage test

parent 2ca0f54d
...@@ -31,6 +31,25 @@ varnish v1 -errvcl {vmod blobcode error: encode() is illegal in vcl_init() and v ...@@ -31,6 +31,25 @@ varnish v1 -errvcl {vmod blobcode error: encode() is illegal in vcl_init() and v
} }
} }
varnish v1 -errvcl {vmod blobcode error: decode() is illegal in vcl_init() and vcl_fini().vmod blobcode error: encode() is illegal in vcl_init() and vcl_fini().} {
import blobcode from "${vmod_topbuild}/src/.libs/libvmod_blobcode.so";
backend b { .host="${bad_ip}"; }
sub vcl_init {
new err = blobcode.blob(IDENTITY, blobcode.encode(IDENTITY,
blobcode.decode_n(1, IDENTITY, "x")));
}
}
varnish v1 -errvcl {vmod blobcode error: transcode() is illegal in vcl_init() and vcl_fini().} {
import blobcode from "${vmod_topbuild}/src/.libs/libvmod_blobcode.so";
backend b { .host="${bad_ip}"; }
sub vcl_init {
new err = blobcode.blob(IDENTITY,
blobcode.transcode_n(1, IDENTITY, IDENTITY,
"x"));
}
}
# The *code() functions are legal in every other VCL sub # The *code() functions are legal in every other VCL sub
varnish v1 -vcl { varnish v1 -vcl {
import blobcode from "${vmod_topbuild}/src/.libs/libvmod_blobcode.so"; import blobcode from "${vmod_topbuild}/src/.libs/libvmod_blobcode.so";
...@@ -40,72 +59,120 @@ varnish v1 -vcl { ...@@ -40,72 +59,120 @@ varnish v1 -vcl {
set req.http.x = blobcode.encode(IDENTITY, set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode(IDENTITY, "foo")); blobcode.decode(IDENTITY, "foo"));
set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo"); set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo");
set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode_n(1, IDENTITY,
"foo"));
set req.http.x = blobcode.transcode_n(1, IDENTITY, IDENTITY, "foo");
} }
sub vcl_pipe { sub vcl_pipe {
set req.http.x = blobcode.encode(IDENTITY, set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode(IDENTITY, "foo")); blobcode.decode(IDENTITY, "foo"));
set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo"); set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo");
set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode_n(1, IDENTITY,
"foo"));
set req.http.x = blobcode.transcode_n(1, IDENTITY, IDENTITY, "foo");
} }
sub vcl_pass { sub vcl_pass {
set req.http.x = blobcode.encode(IDENTITY, set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode(IDENTITY, "foo")); blobcode.decode(IDENTITY, "foo"));
set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo"); set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo");
set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode_n(1, IDENTITY,
"foo"));
set req.http.x = blobcode.transcode_n(1, IDENTITY, IDENTITY, "foo");
} }
sub vcl_hash { sub vcl_hash {
set req.http.x = blobcode.encode(IDENTITY, set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode(IDENTITY, "foo")); blobcode.decode(IDENTITY, "foo"));
set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo"); set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo");
set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode_n(1, IDENTITY,
"foo"));
set req.http.x = blobcode.transcode_n(1, IDENTITY, IDENTITY, "foo");
} }
sub vcl_miss { sub vcl_miss {
set req.http.x = blobcode.encode(IDENTITY, set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode(IDENTITY, "foo")); blobcode.decode(IDENTITY, "foo"));
set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo"); set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo");
set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode_n(1, IDENTITY,
"foo"));
set req.http.x = blobcode.transcode_n(1, IDENTITY, IDENTITY, "foo");
} }
sub vcl_hit { sub vcl_hit {
set req.http.x = blobcode.encode(IDENTITY, set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode(IDENTITY, "foo")); blobcode.decode(IDENTITY, "foo"));
set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo"); set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo");
set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode_n(1, IDENTITY,
"foo"));
set req.http.x = blobcode.transcode_n(1, IDENTITY, IDENTITY, "foo");
} }
sub vcl_purge { sub vcl_purge {
set req.http.x = blobcode.encode(IDENTITY, set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode(IDENTITY, "foo")); blobcode.decode(IDENTITY, "foo"));
set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo"); set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo");
set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode_n(1, IDENTITY,
"foo"));
set req.http.x = blobcode.transcode_n(1, IDENTITY, IDENTITY, "foo");
} }
sub vcl_deliver { sub vcl_deliver {
set req.http.x = blobcode.encode(IDENTITY, set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode(IDENTITY, "foo")); blobcode.decode(IDENTITY, "foo"));
set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo"); set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo");
set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode_n(1, IDENTITY,
"foo"));
set req.http.x = blobcode.transcode_n(1, IDENTITY, IDENTITY, "foo");
} }
sub vcl_synth { sub vcl_synth {
set req.http.x = blobcode.encode(IDENTITY, set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode(IDENTITY, "foo")); blobcode.decode(IDENTITY, "foo"));
set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo"); set req.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo");
set req.http.x = blobcode.encode(IDENTITY,
blobcode.decode_n(1, IDENTITY,
"foo"));
set req.http.x = blobcode.transcode_n(1, IDENTITY, IDENTITY, "foo");
} }
sub vcl_backend_fetch { sub vcl_backend_fetch {
set bereq.http.x = blobcode.encode(IDENTITY, set bereq.http.x = blobcode.encode(IDENTITY,
blobcode.decode(IDENTITY, "foo")); blobcode.decode(IDENTITY, "foo"));
set bereq.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo"); set bereq.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo");
set bereq.http.x = blobcode.encode(IDENTITY,
blobcode.decode_n(1, IDENTITY,
"foo"));
set bereq.http.x = blobcode.transcode_n(1, IDENTITY, IDENTITY, "foo");
} }
sub vcl_backend_response { sub vcl_backend_response {
set bereq.http.x = blobcode.encode(IDENTITY, set bereq.http.x = blobcode.encode(IDENTITY,
blobcode.decode(IDENTITY, "foo")); blobcode.decode(IDENTITY, "foo"));
set bereq.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo"); set bereq.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo");
set bereq.http.x = blobcode.encode(IDENTITY,
blobcode.decode_n(1, IDENTITY,
"foo"));
set bereq.http.x = blobcode.transcode_n(1, IDENTITY, IDENTITY, "foo");
} }
sub vcl_backend_error { sub vcl_backend_error {
set bereq.http.x = blobcode.encode(IDENTITY, set bereq.http.x = blobcode.encode(IDENTITY,
blobcode.decode(IDENTITY, "foo")); blobcode.decode(IDENTITY, "foo"));
set bereq.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo"); set bereq.http.x = blobcode.transcode(IDENTITY, IDENTITY, "foo");
set bereq.http.x = blobcode.encode(IDENTITY,
blobcode.decode_n(1, IDENTITY,
"foo"));
set bereq.http.x = blobcode.transcode_n(1, IDENTITY, IDENTITY, "foo");
} }
} }
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