]> err.no Git - varnish/commitdiff
Plug these two test-scripts in for the night, until some day where
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 20 Nov 2007 22:28:04 +0000 (22:28 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 20 Nov 2007 22:28:04 +0000 (22:28 +0000)
I find out where to put ad-hoc stuff like this in the tree.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2283 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishd/c.sh [new file with mode: 0644]
varnish-cache/bin/varnishd/s.sh [new file with mode: 0644]

diff --git a/varnish-cache/bin/varnishd/c.sh b/varnish-cache/bin/varnishd/c.sh
new file mode 100644 (file)
index 0000000..8bab772
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# A client side script to test the ESI parsing, see s.sh for serverside
+
+set -e
+
+echo "\e[2J"
+while true
+do
+       sleep 1
+       echo "\e[H"
+       fetch -o - -q http://localhost:8080/ | hexdump -C |
+                sed 's/$/\e[K/'
+       echo "\e[J"
+done
diff --git a/varnish-cache/bin/varnishd/s.sh b/varnish-cache/bin/varnishd/s.sh
new file mode 100644 (file)
index 0000000..469cfb5
--- /dev/null
@@ -0,0 +1,82 @@
+#!/bin/sh
+
+# A server side test-script for pushing the ESI XML parser over a
+# storage boundary.
+# The crucial trick here is that we send these objects HTTP/0.9 style
+# so that cache_fetch puts the first 128k in one storage object and
+# the rest in another, thus by putting around 128K space in our test
+# data we can put it right before, over and after the storage boundary.
+#
+# Use c.sh as the client side, and run varnish with this vcl:
+#
+# backend b1 {
+#         set backend.host = "Localhost";
+#         set backend.port = "8081";
+# }
+# 
+# sub vcl_recv {
+#      pass;
+# }
+# 
+# sub vcl_fetch {
+#      esi;
+# }
+
+serve () (
+       (
+       echo 'HTTP/1.0 200 OK'
+       echo ''
+       echo "$1"
+       dd if=/dev/zero bs=$2 count=1 2>/dev/null | tr '\0' ' ' 
+       cat
+       sleep .1
+       ) | nc -l 8081
+)
+
+
+
+if false ; then
+    echo -n "<esi:remove> foo </esi:remove> bar" | serve Test01 1
+    echo -n "<esi:remove> foo </esi:remove> bar" | serve Test02 2
+    # Unterminated CDATA
+    echo -n "<esi:remove> foo </esi:remove> { <![CDATA[foo]] }" | serve Test03 10
+
+    for i in `jot 40 131020`
+    do
+       echo -n "<esi:remove> foo </esi:remove> bar" | serve Test04::$i $i
+    done
+
+    for i in `jot 40 131036`
+    do
+       echo -n "<!--esi foo --> bar" | serve Test05::$i $i
+    done
+
+    for i in `jot 22 131040`
+    do
+       echo -n "<![CDATA[foo]]>" | serve Test06::$i $i
+    done
+
+    echo -n "<esi:remove> " | serve Test07 10
+
+    echo -n "<!--esi " | serve Test08 10
+
+    for i in `jot 10 131042`
+    do
+       echo -n " > " | serve "Test09:$i <esi:remove" $i
+    done
+
+    (
+    echo -n "<esi:remove  "
+    dd if=/dev/zero bs=32768 count=1 2>/dev/null | tr '\0' ' ' 
+    echo -n ">"
+    ) | serve "Test10"  131030
+
+    echo -n " ]]> " | serve "Test11:131048 <![CDATA[  " 131048
+    echo -n " bar" | serve "Test12 foo <esi:comment comment=\"Humbug!\"/> " 1
+    echo -n " bar" | serve "Test13 foo <esi:foo> " 1
+fi
+
+while true
+do
+    echo -n " <esi:say "Hi Mom">" | serve "Test13 foo <esi:foo> " 1
+done