[master] 4dece32bd More coverage of VMOD JSON handling
Poul-Henning Kamp
phk at FreeBSD.org
Tue Jun 28 08:53:07 UTC 2022
commit 4dece32bde27fa51f6e1f4fae6ba8b49c363e098
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Tue Jun 28 08:52:12 2022 +0000
More coverage of VMOD JSON handling
diff --git a/bin/varnishtest/tests/m00003.vtc b/bin/varnishtest/tests/m00003.vtc
index a9281bb8c..e03d34ef4 100644
--- a/bin/varnishtest/tests/m00003.vtc
+++ b/bin/varnishtest/tests/m00003.vtc
@@ -19,31 +19,44 @@ varnish v1 -arg "-pvmod_path=${topbuild}/vmod/.libs/" -vcl+backend {
varnish v1 -cliok "param.set vmod_path /nonexistent"
-varnish v1 -errvcl {Could not find VMOD std} {
- import std;
-}
+varnish v1 -errvcl {Could not find VMOD std} { import std; }
varnish v1 -cliok "param.set vmod_path ${topbuild}/vmod/.libs/"
-varnish v1 -vcl+backend {
- import std;
-}
+varnish v1 -vcl+backend { import std; }
varnish v1 -cliok "param.set vmod_path ${tmpdir}"
-shell "true > ${tmpdir}/libvmod_wrong.so"
-
-varnish v1 -errvcl {Could not open VMOD wrong} {
- import wrong;
-}
-
shell {
cp ${topbuild}/vmod/.libs/libvmod_debug.so \
${tmpdir}/libvmod_wrong.so
}
-varnish v1 -errvcl {Wrong file for VMOD wrong} {
- import wrong;
-}
+varnish v1 -errvcl {Wrong file for VMOD wrong} { import wrong; }
+
+filewrite ${tmpdir}/libvmod_wrong.so ""
+varnish v1 -errvcl {Error: No VMOD JSON found} { import wrong; }
+
+shell "chmod 000 ${tmpdir}/libvmod_wrong.so"
+varnish v1 -errvcl {Could not open VMOD wrong} { import wrong; }
+shell "rm -f ${tmpdir}/libvmod_wrong.so"
+
+filewrite ${tmpdir}/libvmod_wrong.so "BLA" "VMOD_JSON_SPEC\x02" "BLA"
+varnish v1 -errvcl {Truncated VMOD JSON} { import wrong; }
+
+filewrite ${tmpdir}/libvmod_wrong.so "VMOD_JSON_SPEC\x02" "BLA" "\x03"
+varnish v1 -errvcl {VMOD wrong: bad metadata} { import wrong; }
+
+filewrite ${tmpdir}/libvmod_wrong.so "VMOD_JSON_SPEC\x02" "0" "\x03"
+varnish v1 -errvcl {Not array[0]} { import wrong; }
+
+filewrite ${tmpdir}/libvmod_wrong.so "VMOD_JSON_SPEC\x02" "[0]" "\x03"
+varnish v1 -errvcl {Not array[1]} { import wrong; }
+
+filewrite ${tmpdir}/libvmod_wrong.so "VMOD_JSON_SPEC\x02" "[[0]]" "\x03"
+varnish v1 -errvcl {Not string[2]} { import wrong; }
+
+filewrite ${tmpdir}/libvmod_wrong.so "VMOD_JSON_SPEC\x02" "[[\"$VBLA\"]]" "\x03"
+varnish v1 -errvcl {Not $VMOD[3]} { import wrong; }
shell "rm -f ${tmpdir}/libvmod_wrong.so"
More information about the varnish-commit
mailing list