Mercurial > hg > nginx-tests
view fastcgi.t @ 103:4ae2198b97ec
Tests: limit_req tests for 0.8.18 changes and bug.
1. Make sure rejected requests are not counted, as leaky bucket algorithm
suggests (finally correctly done in 0.8.18).
2. Make sure negative excess values are handled properly (bug appeared in
0.8.18, fixed in 0.8.19).
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 09 Oct 2009 21:05:42 +0400 |
parents | 726c3c2a8b8c |
children | 1c0ec30614c6 |
line wrap: on
line source
#!/usr/bin/perl # (C) Maxim Dounin # Test for fastcgi backend. ############################################################################### use warnings; use strict; use Test::More; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; eval { require FCGI; }; plan(skip_all => 'FCGI not installed') if $@; my $t = Test::Nginx->new()->plan(4) ->write_file_expand('nginx.conf', <<'EOF'); master_process off; daemon off; events { } http { access_log off; client_body_temp_path %%TESTDIR%%/client_body_temp; fastcgi_temp_path %%TESTDIR%%/fastcgi_temp; proxy_temp_path %%TESTDIR%%/proxy_temp; server { listen 127.0.0.1:8080; server_name localhost; location / { fastcgi_pass 127.0.0.1:8081; } } } EOF $t->run_daemon(\&fastcgi_daemon); $t->run(); ############################################################################### like(http_get('/'), qr/SEE-THIS/, 'fastcgi request'); like(http_get('/redir'), qr/302/, 'fastcgi redirect'); like(http_get('/'), qr/^3$/m, 'fastcgi third request'); unlike(http_head('/'), qr/SEE-THIS/, 'no data in HEAD'); ############################################################################### sub fastcgi_daemon { my $socket = FCGI::OpenSocket('127.0.0.1:8081', 5); my $request = FCGI::Request(\*STDIN, \*STDOUT, \*STDERR, \%ENV, $socket); my $count; while( $request->Accept() >= 0 ) { $count++; print <<EOF; Location: http://127.0.0.1:8080/redirect Content-Type: text/html SEE-THIS $count EOF } FCGI::CloseSocket($socket); } ###############################################################################