stream_response_epoll: our most "special" concurrency option yet
[rainbows.git] / t / t0105-rack-input-limit-bigger.sh
blob1ae01914e16365f0c641dde9e951575b04665fb4
1 #!/bin/sh
2 . ./test-lib.sh
3 skip_models StreamResponseEpoll
4 test -r random_blob || die "random_blob required, run with 'make $0'"
5 req_curl_chunked_upload_err_check
7 t_plan 10 "rack.input client_max_body_size bigger"
9 t_begin "setup and startup" && {
10 rtmpfiles curl_out curl_err
11 rainbows_setup $model
12 ed -s $unicorn_config <<EOF
13 ,s/client_max_body_size.*/client_max_body_size 10485760/
15 EOF
16 rainbows -D sha1-random-size.ru -c $unicorn_config
17 rainbows_wait_start
20 t_begin "stops a regular request" && {
21 rm -f $ok
22 dd if=/dev/zero bs=10485761 count=1 of=$tmp
23 curl -vsSf -T $tmp -H Expect: \
24 http://$listen/ > $curl_out 2> $curl_err || > $ok
25 rm -f $tmp
26 dbgcat curl_err
27 dbgcat curl_out
28 grep 413 $curl_err
29 test -e $ok
32 t_begin "stops a large chunked request" && {
33 rm -f $ok
34 dd if=/dev/zero bs=10485761 count=1 | \
35 curl -vsSf -T- -H Expect: \
36 http://$listen/ > $curl_out 2> $curl_err || > $ok
37 dbgcat curl_err
38 dbgcat curl_out
39 grep 413 $curl_err
40 test -e $ok
43 t_begin "small size sha1 chunked ok" && {
44 blob_sha1=b376885ac8452b6cbf9ced81b1080bfd570d9b91
45 rm -f $ok
46 dd if=/dev/zero bs=256 count=1 | \
47 curl -vsSf -T- -H Expect: \
48 http://$listen/ > $curl_out 2> $curl_err
49 dbgcat curl_err
50 dbgcat curl_out
51 test "$(cat $curl_out)" = $blob_sha1
54 t_begin "small size sha1 content-length ok" && {
55 blob_sha1=b376885ac8452b6cbf9ced81b1080bfd570d9b91
56 rm -f $ok
57 dd if=/dev/zero bs=256 count=1 of=$tmp
58 curl -vsSf -T $tmp -H Expect: \
59 http://$listen/ > $curl_out 2> $curl_err
60 dbgcat curl_err
61 dbgcat curl_out
62 test "$(cat $curl_out)" = $blob_sha1
65 t_begin "right size sha1 chunked ok" && {
66 blob_sha1=8c206a1a87599f532ce68675536f0b1546900d7a
67 rm -f $ok
68 dd if=/dev/zero bs=10485760 count=1 | \
69 curl -vsSf -T- -H Expect: \
70 http://$listen/ > $curl_out 2> $curl_err
71 dbgcat curl_err
72 dbgcat curl_out
73 test "$(cat $curl_out)" = $blob_sha1
76 t_begin "right size sha1 content-length ok" && {
77 blob_sha1=8c206a1a87599f532ce68675536f0b1546900d7a
78 rm -f $ok
79 dd if=/dev/zero bs=10485760 count=1 of=$tmp
80 curl -vsSf -T $tmp -H Expect: \
81 http://$listen/ > $curl_out 2> $curl_err
82 rm -f $tmp
83 dbgcat curl_err
84 dbgcat curl_out
85 test "$(cat $curl_out)" = $blob_sha1
88 t_begin "default size sha1 chunked ok" && {
89 blob_sha1=3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3
90 rm -f $ok
91 dd if=/dev/zero bs=1048576 count=1 | \
92 curl -vsSf -T- -H Expect: \
93 http://$listen/ > $curl_out 2> $curl_err
94 dbgcat curl_err
95 dbgcat curl_out
96 test "$(cat $curl_out)" = $blob_sha1
99 t_begin "default size sha1 content-length ok" && {
100 blob_sha1=3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3
101 rm -f $ok
102 dd if=/dev/zero bs=1048576 count=1 of=$tmp
103 curl -vsSf -T $tmp -H Expect: \
104 http://$listen/ > $curl_out 2> $curl_err
105 rm -f $tmp
106 dbgcat curl_err
107 dbgcat curl_out
108 test "$(cat $curl_out)" = $blob_sha1
111 t_begin "shutdown" && {
112 kill $rainbows_pid
115 t_done