Skip to content

Instantly share code, notes, and snippets.

@chobits
Created October 29, 2014 08:56
Show Gist options
  • Save chobits/4ac2f309604c6ecdfd93 to your computer and use it in GitHub Desktop.
Save chobits/4ac2f309604c6ecdfd93 to your computer and use it in GitHub Desktop.
$ cd /home/xiaochen.wxc/work/github-xiaochen/tengine-xiaochen
$ cat test_nginx.sh
TEST_NGINX="/home/xiaochen.wxc/work/github-xiaochen/tengine-xiaochen/tests/test-nginx/test-nginx"
export PATH=/home/xiaochen.wxc/work/github-xiaochen/tengine-xiaochen/objs:$PATH
prove -v -I $TEST_NGINX/inc -I $TEST_NGINX/lib \
tests/test-nginx/cases/footer.t \
tests/test-nginx/cases/proxy_no_buffering_chunked.t \
tests/test-nginx/cases/proxy_no_buffering.t \
tests/test-nginx/cases/syslog.t \
tests/test-nginx/cases/trim.t \
tests/test-nginx/cases/user_agent.t \
tests/test-nginx/cases/limit_upstream_tries.t
$ sh test_nginx.sh
tests/test-nginx/cases/footer.t ......................
1..6
ok 1 - TEST 1:1 - status code ok
Use of uninitialized value $val in regexp compilation at /home/xiaochen.wxc/work/github-xiaochen/tengine-xiaochen/tests/test-nginx/test-nginx/lib/Test/Nginx/Socket.pm line 934.
ok 2 - TEST 1:1 - header HTTP/1.1 200 OK like ok
ok 3 - TEST 2:2 - status code ok
ok 4 - TEST 2:2 - response_body - response is expected (req 0)
ok 5 - TEST 0:0 - status code ok
ok 6 - TEST 0:0 - response_body - response is expected (req 0)
ok
tests/test-nginx/cases/proxy_no_buffering_chunked.t ..
1..22
ok 1 - TEST 38: POST chunked in "helloworld" delay - status code ok
ok 2 - TEST 38: POST chunked in "helloworld" delay - response_body - response is expected
ok 3 - TEST 43: POST chunked in "helloworld", big chunk, 500k - status code ok
ok 4 - TEST 43: POST chunked in "helloworld", big chunk, 500k - response_body - response is expected
ok 5 - TEST 42: POST chunked in "helloworld", big chunk, 6k - status code ok
ok 6 - TEST 42: POST chunked in "helloworld", big chunk, 6k - response_body - response is expected
ok 7 - TEST 39: POST chunked in "helloworld", client_body_buffer_size=2 - status code ok
ok 8 - TEST 39: POST chunked in "helloworld", client_body_buffer_size=2 - response_body - response is expected
ok 9 - TEST 44: PUT chunked in "helloworld", big chunk, 6k - status code ok
ok 10 - TEST 44: PUT chunked in "helloworld", big chunk, 6k - response_body - response is expected
ok 11 - TEST 40: POST chunked in "helloworld", client_body_buffer_size=1 - status code ok
ok 12 - TEST 40: POST chunked in "helloworld", client_body_buffer_size=1 - response_body - response is expected
ok 13 - TEST 37: POST chunked in "a" - status code ok
ok 14 - TEST 37: POST chunked in "a" - response_body - response is expected
ok 15 - TEST 45: PUT chunked in "helloworld", big chunk, 6k, content-length is 0 - status code ok
ok 16 - TEST 45: PUT chunked in "helloworld", big chunk, 6k, content-length is 0 - response_body - response is expected
ok 17 - TEST 35: POST chunked in "helloworld" - status code ok
ok 18 - TEST 35: POST chunked in "helloworld" - response_body - response is expected
ok 19 - TEST 41: POST chunked in "helloworld", client_body_buffer_size=3 - status code ok
ok 20 - TEST 41: POST chunked in "helloworld", client_body_buffer_size=3 - response_body - response is expected
ok 21 - TEST 36: POST chunked in "" - status code ok
ok 22 - TEST 36: POST chunked in "" - response_body - response is expected
ok
tests/test-nginx/cases/proxy_no_buffering.t ..........
1..70
ok 1 - TEST 15: POST 10M, 8k - status code ok
ok 2 - TEST 15: POST 10M, 8k - response_body - response is expected
nginx: [warn] client_body_postpone_size 2097152 should be less than total postpone buffer size 65536 in /home/xiaochen.wxc/work/github-xiaochen/tengine-xiaochen/t/servroot/conf/nginx.conf:55
ok 3 - TEST 19: POST 10M, 2M - status code ok
ok 4 - TEST 19: POST 10M, 2M - response_body - response is expected
ok 5 - TEST 3: POST 100K - status code ok
ok 6 - TEST 3: POST 100K - response_body - response is expected
ok 7 - TEST 27: POST 100K, buffers 128K - status code ok
ok 8 - TEST 27: POST 100K, buffers 128K - response_body - response is expected
nginx: [warn] client_body_postpone_size 2097152 should be less than total postpone buffer size 65536 in /home/xiaochen.wxc/work/github-xiaochen/tengine-xiaochen/t/servroot/conf/nginx.conf:55
ok 9 - TEST 18: POST 1M, 2M - status code ok
ok 10 - TEST 18: POST 1M, 2M - response_body - response is expected
nginx: [warn] client_body_postpone_size 2097152 should be less than total postpone buffer size 65536 in /home/xiaochen.wxc/work/github-xiaochen/tengine-xiaochen/t/servroot/conf/nginx.conf:55
ok 11 - TEST 17: POST 10K, 2M postpone - status code ok
ok 12 - TEST 17: POST 10K, 2M postpone - response_body - response is expected
nginx: [warn] client_body_postpone_size 131072 should be less than total postpone buffer size 65536 in /home/xiaochen.wxc/work/github-xiaochen/tengine-xiaochen/t/servroot/conf/nginx.conf:55
ok 13 - TEST 10: POST 10M, 128k - status code ok
ok 14 - TEST 10: POST 10M, 128k - response_body - response is expected
ok 15 - TEST 12: POST 10K, 8k - status code ok
ok 16 - TEST 12: POST 10K, 8k - response_body - response is expected
ok 17 - TEST 33: POST 1M, 1B postpone - status code ok
ok 18 - TEST 33: POST 1M, 1B postpone - response_body - response is expected
ok 19 - TEST 5: POST 10M - status code ok
ok 20 - TEST 5: POST 10M - response_body - response is expected
nginx: [warn] client_body_postpone_size 2097152 should be less than total postpone buffer size 65536 in /home/xiaochen.wxc/work/github-xiaochen/tengine-xiaochen/t/servroot/conf/nginx.conf:55
ok 21 - TEST 16: POST 1K, 2M postpone - status code ok
ok 22 - TEST 16: POST 1K, 2M postpone - response_body - response is expected
nginx: [warn] client_body_postpone_size 131072 should be less than total postpone buffer size 65536 in /home/xiaochen.wxc/work/github-xiaochen/tengine-xiaochen/t/servroot/conf/nginx.conf:55
ok 23 - TEST 7: POST 10K, 128k - status code ok
ok 24 - TEST 7: POST 10K, 128k - response_body - response is expected
ok 25 - TEST 28: POST 1M, buffers 128K - status code ok
ok 26 - TEST 28: POST 1M, buffers 128K - response_body - response is expected
ok 27 - TEST 31: POST 10K, 1B postpone - status code ok
ok 28 - TEST 31: POST 10K, 1B postpone - response_body - response is expected
ok 29 - TEST 2: POST 10K - status code ok
ok 30 - TEST 2: POST 10K - response_body - response is expected
ok 31 - TEST 25: POST 1K, buffers 128K - status code ok
ok 32 - TEST 25: POST 1K, buffers 128K - response_body - response is expected
ok 33 - TEST 13: POST 100K, 8k - status code ok
ok 34 - TEST 13: POST 100K, 8k - response_body - response is expected
ok 35 - TEST 32: POST 100K, 1B postpone - status code ok
ok 36 - TEST 32: POST 100K, 1B postpone - response_body - response is expected
nginx: [warn] client_body_postpone_size 131072 should be less than total postpone buffer size 65536 in /home/xiaochen.wxc/work/github-xiaochen/tengine-xiaochen/t/servroot/conf/nginx.conf:55
ok 37 - TEST 9: POST 1M, 128k - status code ok
ok 38 - TEST 9: POST 1M, 128k - response_body - response is expected
ok 39 - TEST 22: POST 100K, buffer on - status code ok
ok 40 - TEST 22: POST 100K, buffer on - response_body - response is expected
ok 41 - TEST 11: POST 1K, 8k postpone - status code ok
ok 42 - TEST 11: POST 1K, 8k postpone - response_body - response is expected
nginx: [warn] client_body_postpone_size 131072 should be less than total postpone buffer size 65536 in /home/xiaochen.wxc/work/github-xiaochen/tengine-xiaochen/t/servroot/conf/nginx.conf:55
ok 43 - TEST 8: POST 100K, 128k - status code ok
ok 44 - TEST 8: POST 100K, 128k - response_body - response is expected
ok 45 - TEST 20: POST 1K, buffer on - status code ok
ok 46 - TEST 20: POST 1K, buffer on - response_body - response is expected
ok 47 - TEST 4: POST 1M - status code ok
ok 48 - TEST 4: POST 1M - response_body - response is expected
ok 49 - TEST 24: POST 10M, buffer on - status code ok
ok 50 - TEST 24: POST 10M, buffer on - response_body - response is expected
nginx: [warn] client_body_postpone_size 2097152 should be less than total postpone buffer size 65536 in /home/xiaochen.wxc/work/github-xiaochen/tengine-xiaochen/t/servroot/conf/nginx.conf:55
ok 51 - TEST 18: POST 100K, 2M - status code ok
ok 52 - TEST 18: POST 100K, 2M - response_body - response is expected
ok 53 - TEST 30: POST 1K, 1B postpone - status code ok
ok 54 - TEST 30: POST 1K, 1B postpone - response_body - response is expected
ok 55 - TEST 34: POST 10M, 1B postpone - status code ok
ok 56 - TEST 34: POST 10M, 1B postpone - response_body - response is expected
ok 57 - TEST 29: POST 10M, buffers 128K - status code ok
ok 58 - TEST 29: POST 10M, buffers 128K - response_body - response is expected
nginx: [warn] client_body_postpone_size 131072 should be less than total postpone buffer size 65536 in /home/xiaochen.wxc/work/github-xiaochen/tengine-xiaochen/t/servroot/conf/nginx.conf:55
ok 59 - TEST 6: POST 1K, 128k - status code ok
ok 60 - TEST 6: POST 1K, 128k - response_body - response is expected
ok 61 - TEST 1: POST 1K - status code ok
ok 62 - TEST 1: POST 1K - response_body - response is expected
ok 63 - TEST 23: POST 1M, buffer on - status code ok
ok 64 - TEST 23: POST 1M, buffer on - response_body - response is expected
ok 65 - TEST 21: POST 10K, buffer on - status code ok
ok 66 - TEST 21: POST 10K, buffer on - response_body - response is expected
ok 67 - TEST 26: POST 10K, buffers 128K - status code ok
ok 68 - TEST 26: POST 10K, buffers 128K - response_body - response is expected
ok 69 - TEST 14: POST 1M, 8k - status code ok
ok 70 - TEST 14: POST 1M, 8k - response_body - response is expected
ok
tests/test-nginx/cases/syslog.t ......................
1..19
ok 1 - TEST 1: syslog:user for access log === - status code ok
ok 2 - TEST 19: syslog:user:info:/dev/log for error log === - status code ok
ok 3 - TEST 15: syslog:user:info:127.0.0.1:514:test.taobao.com for error log === - status code ok
ok 4 - TEST 11: syslog:user for error log === - status code ok
ok 5 - TEST 5: syslog:user:info:127.0.0.1:514:test.taobao.com for access log === - status code ok
ok 6 - TEST 18: syslog:user:info:/dev/log:test.taobao.com for error log === - status code ok
ok 7 - TEST 7: syslog:user:info:127.0.0.1::test.taobao.com for access log === - status code ok
ok 8 - TEST 12: syslog:user:info for error log === - status code ok
ok 9 - TEST 6: syslog:user::127.0.0.1:514:test.taobao.com for access log === - status code ok
ok 10 - TEST 17: syslog:user:info:127.0.0.1::test.taobao.com for error log === - status code ok
ok 11 - TEST 2: syslog:user:info for access log === - status code ok
ok 12 - TEST 4: syslog:user:info:127.0.0.1:514 for access log === - status code ok
ok 13 - TEST 9: syslog:user:info:/dev/log for access log === - status code ok
ok 14 - TEST 13: syslog:user:info:127.0.0.1 for error log === - status code ok
ok 15 - TEST 14: syslog:user:info:127.0.0.1:514 for error log === - status code ok
ok 16 - TEST 3: syslog:user:info:127.0.0.1 for access log === - status code ok
ok 17 - TEST 8: syslog:user:info:/dev/log:test.taobao.com for access log === - status code ok
ok 18 - TEST 16: syslog:user::127.0.0.1:514:test.taobao.com for error log === - status code ok
ok 19 - Test 20: hostname and domain support, besides ip === - status code ok
ok
tests/test-nginx/cases/trim.t ........................
1..54
ok 1 - TEST 14: do not trim css quote - status code ok
ok 2 - TEST 14: do not trim css quote - response_body - response is expected (req 0)
ok 3 - TEST 13: trim css comment - status code ok
ok 4 - TEST 13: trim css comment - response_body - response is expected (req 0)
ok 5 - TEST 23: trim_css off - status code ok
ok 6 - TEST 23: trim_css off - response_body - response is expected (req 0)
ok 7 - TEST 26: trim css - status code ok
ok 8 - TEST 26: trim css - response_body - response is expected (req 0)
ok 9 - TEST 1: do not trim within 'textarea' 'pre' 'ie-comment' - status code ok
ok 10 - TEST 1: do not trim within 'textarea' 'pre' 'ie-comment' - response_body - response is expected (req 0)
ok 11 - TEST 19: do not trim html comment of ssi/esi - status code ok
ok 12 - TEST 19: do not trim html comment of ssi/esi - response_body - response is expected (req 0)
ok 13 - TEST 10: if $arg_http_trim is off, trim off. - status code ok
ok 14 - TEST 10: if $arg_http_trim is off, trim off. - response_body - response is expected (req 0)
ok 15 - TEST 8: trim Chinese characters - status code ok
ok 16 - TEST 8: trim Chinese characters - response_body - response is expected (req 0)
ok 17 - TEST 4: do not trim within tag quote - status code ok
ok 18 - TEST 4: do not trim within tag quote - response_body - response is expected (req 0)
ok 19 - TEST 25: remove space around '=' in tag - status code ok
ok 20 - TEST 25: remove space around '=' in tag - response_body - response is expected (req 0)
ok 21 - TEST 2: trim within other tags - status code ok
ok 22 - TEST 2: trim within other tags - response_body - response is expected (req 0)
ok 23 - TEST 11: trim javascript comment - status code ok
ok 24 - TEST 11: trim javascript comment - response_body - response is expected (req 0)
ok 25 - TEST 22: trim_js off - status code ok
ok 26 - TEST 22: trim_js off - response_body - response is expected (req 0)
ok 27 - TEST 18: comment of javascript - status code ok
ok 28 - TEST 18: comment of javascript - response_body - response is expected (req 0)
ok 29 - TEST 3: trim within non-ie comment - status code ok
ok 30 - TEST 3: trim within non-ie comment - response_body - response is expected (req 0)
ok 31 - TEST 24: trim_js off and trim_css off - status code ok
ok 32 - TEST 24: trim_js off and trim_css off - response_body - response is expected (req 0)
ok 33 - TEST 27: variable value - status code ok
ok 34 - TEST 27: variable value - response_body - response is expected (req 0)
ok 35 - TEST 16: do not trim css comment of child selector hack - status code ok
ok 36 - TEST 16: do not trim css comment of child selector hack - response_body - response is expected (req 0)
ok 37 - TEST 15 trim aplus.js - status code ok
ok 38 - TEST 15 trim aplus.js - response_body - response is expected (req 0)
ok 39 - TEST 17: do not trim css comment of IE5/Mac hack - status code ok
ok 40 - TEST 17: do not trim css comment of IE5/Mac hack - response_body - response is expected (req 0)
ok 41 - TEST 21: nest pre - status code ok
ok 42 - TEST 21: nest pre - response_body - response is expected (req 0)
ok 43 - TEST 6: return zero size - status code ok
ok 44 - TEST 6: return zero size - response_body - response is expected (req 0)
ok 45 - TEST 20: trim tag - status code ok
ok 46 - TEST 20: trim tag - response_body - response is expected (req 0)
ok 47 - TEST 12: do not tirm javascript quote and RE - status code ok
ok 48 - TEST 12: do not tirm javascript quote and RE - response_body - response is expected (req 0)
ok 49 - TEST 9: sendfile on - status code ok
ok 50 - TEST 9: sendfile on - response_body - response is expected (req 0)
ok 51 - TEST 5: trim newline - status code ok
ok 52 - TEST 5: trim newline - response_body - response is expected (req 0)
ok 53 - TEST 7: trim more tags - status code ok
ok 54 - TEST 7: trim more tags - response_body - response is expected (req 0)
ok
tests/test-nginx/cases/user_agent.t ..................
1..18
ok 1 - TEST 4:4 - status code ok
ok 2 - TEST 4:4 - response_body - response is expected (req 0)
ok 3 - TEST 6:6 - status code ok
ok 4 - TEST 6:6 - response_body - response is expected (req 0)
ok 5 - TEST 2:2 - status code ok
ok 6 - TEST 2:2 - response_body - response is expected (req 0)
ok 7 - TEST 10:10 - status code ok
ok 8 - TEST 10:10 - response_body - response is expected (req 0)
ok 9 - TEST 8:8 - status code ok
ok 10 - TEST 8:8 - response_body - response is expected (req 0)
ok 11 - TEST 3:3 - status code ok
ok 12 - TEST 3:3 - response_body - response is expected (req 0)
ok 13 - TEST 7:7 - status code ok
ok 14 - TEST 7:7 - response_body - response is expected (req 0)
ok 15 - TEST 9:9 - status code ok
ok 16 - TEST 9:9 - response_body - response is expected (req 0)
ok 17 - TEST 5:5 - status code ok
ok 18 - TEST 5:5 - response_body - response is expected (req 0)
ok
tests/test-nginx/cases/limit_upstream_tries.t ........
1..38
ok 1 - TEST 19: session_sticky - status code ok
ok 2 - TEST 19: session_sticky - response_body_like - response is expected (127.0.0.1:7001, 127.0.0.1:7002)
ok 3 - TEST 6: server config - status code ok
ok 4 - TEST 6: server config - response_body_like - response is expected (127.0.0.1:7003, 127.0.0.1:7001)
ok 5 - TEST 18: keepalive - status code ok
ok 6 - TEST 18: keepalive - response_body_like - response is expected (127.0.0.1:7002, 127.0.0.1:7003)
ok 7 - TEST 11: proxy_upstream_treis = server number. - status code ok
ok 8 - TEST 11: proxy_upstream_treis = server number. - response_body_like - response is expected (127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7001)
ok 9 - TEST 1: proxy_pass - status code ok
ok 10 - TEST 1: proxy_pass - response_body_like - response is expected (127.0.0.1:7002, 127.0.0.1:7003)
ok 11 - TEST 10: proxy_upstream_tries = 0 - status code ok
ok 12 - TEST 10: proxy_upstream_tries = 0 - response_body_like - response is expected (127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003)
ok 13 - TEST 15: proxy_next_upstream http_404 - status code ok
ok 14 - TEST 15: proxy_next_upstream http_404 - response_body_like - response is expected (127.0.0.1:7001)
ok 15 - TEST 5: scgi_pass - status code ok
ok 16 - TEST 5: scgi_pass - response_body_like - response is expected (127.0.0.1:7002, 127.0.0.1:7003)
ok 17 - TEST 17: ip_hash - status code ok
ok 18 - TEST 17: ip_hash - response_body_like - response is expected (127.0.0.1:7003, 127.0.0.1:7002)
ok 19 - TEST 13: proxy_upstream_treis = 1 - status code ok
ok 20 - TEST 13: proxy_upstream_treis = 1 - response_body_like - response is expected (127.0.0.1:7003)
ok 21 - TEST 3: uwsgi_pass - status code ok
ok 22 - TEST 3: uwsgi_pass - response_body_like - response is expected (127.0.0.1:7002, 127.0.0.1:7003)
ok 23 - TEST 2: fastcgi_pass - status code ok
ok 24 - TEST 2: fastcgi_pass - response_body_like - response is expected (127.0.0.1:7001, 127.0.0.1:7002)
ok 25 - TEST 9: proxy_upstream_tries not set, with other config - status code ok
ok 26 - TEST 9: proxy_upstream_tries not set, with other config - response_body_like - response is expected (127.0.0.1:7003, 127.0.0.1:7001, 127.0.0.1:7002)
ok 27 - TEST 16: success connect - status code ok
ok 28 - TEST 16: success connect - response_body_like - response is expected (success)
ok 29 - TEST 7: server and location config - status code ok
ok 30 - TEST 7: server and location config - response_body_like - response is expected (127.0.0.1:7002, 127.0.0.1:7003)
ok 31 - TEST 14: proxy_next_upstream off - status code ok
ok 32 - TEST 14: proxy_next_upstream off - response_body_like - response is expected (127.0.0.1:7003)
ok 33 - TEST 12: proxy_upstream_treis > server number. - status code ok
ok 34 - TEST 12: proxy_upstream_treis > server number. - response_body_like - response is expected (127.0.0.1:7003, 127.0.0.1:7001, 127.0.0.1:7002)
ok 35 - TEST 8: proxy_upstream_tries not set - status code ok
ok 36 - TEST 8: proxy_upstream_tries not set - response_body_like - response is expected (127.0.0.1:7003, 127.0.0.1:7001, 127.0.0.1:7002)
ok 37 - TEST 4: memcached_pass - status code ok
ok 38 - TEST 4: memcached_pass - response_body_like - response is expected (127.0.0.1:7002, 127.0.0.1:7003)
ok
All tests successful.
Files=7, Tests=227, 55 wallclock secs ( 0.11 usr 0.01 sys + 15.54 cusr 5.45 csys = 21.11 CPU)
Result: PASS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment