changeset 491:d5bf5942a8b2

Tests: disambiguated parsing of the status code.
author Sergey Kandaurov <pluknet@nginx.com>
date Fri, 07 Nov 2014 13:05:07 +0300
parents 65d2d372ee31
children 799487ee9aee
files fastcgi.t fastcgi_keepalive.t http_expect_100_continue.t http_host.t memcached.t memcached_keepalive.t not_modified.t range.t range_charset.t range_flv.t range_if_range.t range_mp4.t scgi.t
diffstat 13 files changed, 63 insertions(+), 63 deletions(-) [+]
line wrap: on
line diff
--- a/fastcgi.t
+++ b/fastcgi.t
@@ -57,7 +57,7 @@ EOF
 ###############################################################################
 
 like(http_get('/'), qr/SEE-THIS/, 'fastcgi request');
-like(http_get('/redir'), qr/302/, 'fastcgi redirect');
+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');
--- a/fastcgi_keepalive.t
+++ b/fastcgi_keepalive.t
@@ -58,7 +58,7 @@ EOF
 ###############################################################################
 
 like(http_get('/'), qr/SEE-THIS/, 'fastcgi request');
-like(http_get('/redir'), qr/302/, 'fastcgi redirect');
+like(http_get('/redir'), qr/ 302 /, 'fastcgi redirect');
 like(http_get('/'), qr/^request: 3$/m, 'fastcgi third request');
 
 like(http_get('/single'), qr/^connection: 1$/m, 'single connection used');
--- a/http_expect_100_continue.t
+++ b/http_expect_100_continue.t
@@ -52,7 +52,7 @@ EOF
 
 ###############################################################################
 
-like(http_100_request('/', '1.1'), qr/100/, 'expect 100 continue');
+like(http_100_request('/', '1.1'), qr/ 100 /, 'expect 100 continue');
 
 # From RFC 2616, 8.2.3 Use of the 100 (Continue) Status:
 #
@@ -62,7 +62,7 @@ like(http_100_request('/', '1.1'), qr/10
 #        100 (Continue) response if such a request comes from an HTTP/1.0
 #        (or earlier) client.
 
-unlike(http_100_request('/', '1.0'), qr/100/, 'no 100 continue via http 1.0');
+unlike(http_100_request('/', '1.0'), qr/ 100 /, 'no 100 continue via http 1.0');
 
 ###############################################################################
 
--- a/http_host.t
+++ b/http_host.t
@@ -112,31 +112,31 @@ is(http_absolute_path('[::123.45.67.89]'
 is(http_absolute_path('[::ffff:12.30.67.89]:4321'), '[::ffff:12.30.67.89]',
 	'ipv4-mapped ipv6 w/port (absolute request)');
 
-like(http_host_header('example.com/\:552', 1), qr/400/,
+like(http_host_header('example.com/\:552', 1), qr/ 400 /,
 	'domain w/ path separators (host header)');
-like(http_absolute_path('\e/xample.com', 1), qr/400/,
+like(http_absolute_path('\e/xample.com', 1), qr/ 400 /,
 	'domain w/ path separators (absolute request)');
 
-like(http_host_header('..examp-LE.com', 1), qr/400/,
+like(http_host_header('..examp-LE.com', 1), qr/ 400 /,
 	'domain w/ double dot (host header)');
-like(http_absolute_path('com.exa-m.45..:', 1), qr/400/,
+like(http_absolute_path('com.exa-m.45..:', 1), qr/ 400 /,
 	'domain w/ double dot (absolute request)');
 
 
-like(http_host_header('[abcd::e\f98:0/:7654:321]', 1), qr/400/,
+like(http_host_header('[abcd::e\f98:0/:7654:321]', 1), qr/ 400 /,
 	'ipv6 literal w/ path separators (host header)');
-like(http_absolute_path('[abcd\::ef98:0:7654:321/]:12', 1), qr/400/,
+like(http_absolute_path('[abcd\::ef98:0:7654:321/]:12', 1), qr/ 400 /,
 	'ipv6 literal w/ path separators (absolute request)');
 
-like(http_host_header('[abcd::ef98:0:7654:321]..:98', 1), qr/400/,
+like(http_host_header('[abcd::ef98:0:7654:321]..:98', 1), qr/ 400 /,
 	'ipv6 literal w/ double dot (host header)');
-like(http_absolute_path('[ab..cd::ef98:0:7654:321]', 1), qr/400/,
+like(http_absolute_path('[ab..cd::ef98:0:7654:321]', 1), qr/ 400 /,
 	'ipv6 literal w/ double dot (absolute request)');
 
 
-like(http_host_header('[abcd::ef98:0:7654:321]..:98', 1), qr/400/,
+like(http_host_header('[abcd::ef98:0:7654:321]..:98', 1), qr/ 400 /,
 	'ipv6 literal w/ double dot (host header)');
-like(http_absolute_path('[ab..cd::ef98:0:7654:321]', 1), qr/400/,
+like(http_absolute_path('[ab..cd::ef98:0:7654:321]', 1), qr/ 400 /,
 	'ipv6 literal w/ double dot (absolute request)');
 
 
--- a/memcached.t
+++ b/memcached.t
@@ -83,9 +83,9 @@ my $memd = Cache::Memcached->new(servers
 
 like(http_get('/'), qr/SEE-THIS/, 'memcached request');
 
-like(http_get('/notfound'), qr/404/, 'memcached not found');
+like(http_get('/notfound'), qr/ 404 /, 'memcached not found');
 
-like(http_get('/next'), qr/404/, 'not found with memcached_next_upstream');
+like(http_get('/next'), qr/ 404 /, 'not found with memcached_next_upstream');
 
 unlike(http_head('/'), qr/SEE-THIS/, 'memcached no data in HEAD');
 
--- a/memcached_keepalive.t
+++ b/memcached_keepalive.t
@@ -124,8 +124,8 @@ my $memd2 = Cache::Memcached->new(server
 my $total = $memd1->stats()->{total}->{total_connections};
 
 like(http_get('/'), qr/SEE-THIS/, 'keepalive memcached request');
-like(http_get('/notfound'), qr/404/, 'keepalive memcached not found');
-like(http_get('/next'), qr/404/,
+like(http_get('/notfound'), qr/ 404 /, 'keepalive memcached not found');
+like(http_get('/next'), qr/ 404 /,
 	'keepalive not found with memcached_next_upstream');
 like(http_get('/'), qr/SEE-THIS/, 'keepalive memcached request again');
 like(http_get('/'), qr/SEE-THIS/, 'keepalive memcached request again');
--- a/not_modified.t
+++ b/not_modified.t
@@ -52,17 +52,17 @@ EOF
 
 ###############################################################################
 
-like(http_get_ims('/t', 'Wed, 08 Jul 2037 22:53:52 GMT'), qr/304/,
+like(http_get_ims('/t', 'Wed, 08 Jul 2037 22:53:52 GMT'), qr/ 304 /,
 	'0x7F000000');
-like(http_get_ims('/t', 'Tue, 19 Jan 2038 03:14:07 GMT'), qr/304/,
+like(http_get_ims('/t', 'Tue, 19 Jan 2038 03:14:07 GMT'), qr/ 304 /,
 	'0x7FFFFFFF');
 
 SKIP: {
 	skip "only for 32-bit time_t", 2 if (gmtime(0xFFFFFFFF))[5] == 206;
 
-	like(http_get_ims('/t', 'Tue, 19 Jan 2038 03:14:08 GMT'), qr/200/,
+	like(http_get_ims('/t', 'Tue, 19 Jan 2038 03:14:08 GMT'), qr/ 200 /,
 		'0x7FFFFFFF + 1');
-	like(http_get_ims('/t', 'Fri, 25 Feb 2174 09:42:23 GMT'), qr/200/,
+	like(http_get_ims('/t', 'Fri, 25 Feb 2174 09:42:23 GMT'), qr/ 200 /,
 		'0x17FFFFFFF');
 }
 
@@ -74,29 +74,29 @@ my ($t1, $etag);
 $t1 =~ /ETag: (".*")/;
 $etag = $1;
 
-like(http_get_inm('/t', $etag), qr/304/, 'if-none-match');
-like(http_get_inm('/t', '"foo"'), qr/200/, 'if-none-match fail');
-like(http_get_inm('/t', '"foo", "bar", ' . $etag . ' , "baz"'), qr/304/,
+like(http_get_inm('/t', $etag), qr/ 304 /, 'if-none-match');
+like(http_get_inm('/t', '"foo"'), qr/ 200 /, 'if-none-match fail');
+like(http_get_inm('/t', '"foo", "bar", ' . $etag . ' , "baz"'), qr/ 304 /,
 	'if-none-match with complex list');
-like(http_get_inm('/t', '*'), qr/304/, 'if-none-match all');
+like(http_get_inm('/t', '*'), qr/ 304 /, 'if-none-match all');
 
 TODO: {
 local $TODO = 'not yet' unless $t->has_version('1.7.3');
 
-like(http_get_inm('/t', 'W/' . $etag), qr/304/, 'if-none-match weak');
+like(http_get_inm('/t', 'W/' . $etag), qr/ 304 /, 'if-none-match weak');
 
 }
 
-like(http_get_im('/t', $etag), qr/200/, 'if-match');
-like(http_get_im('/t', '"foo"'), qr/412/, 'if-match fail');
+like(http_get_im('/t', $etag), qr/ 200 /, 'if-match');
+like(http_get_im('/t', '"foo"'), qr/ 412 /, 'if-match fail');
 like(http_get_im('/t', '"foo", "bar", ' . "\t" . $etag . ' , "baz"'),
-	qr/200/, 'if-match with complex list');
-like(http_get_im('/t', '*'), qr/200/, 'if-match all');
-like(http_get_im('/t', 'W/' . $etag), qr/412/, 'if-match weak fail');
+	qr/ 200 /, 'if-match with complex list');
+like(http_get_im('/t', '*'), qr/ 200 /, 'if-match all');
+like(http_get_im('/t', 'W/' . $etag), qr/ 412 /, 'if-match weak fail');
 
 # server MUST ignore precondition if its response wouldn't be 2xx or 412
 
-like(http_get_im('/nx', '"foo"'), qr/404/, 'if-match ignored with 404');
+like(http_get_im('/nx', '"foo"'), qr/ 404 /, 'if-match ignored with 404');
 
 ###############################################################################
 
--- a/range.t
+++ b/range.t
@@ -75,40 +75,40 @@ EOF
 my $t1;
 
 $t1 = http_get_range('/t1.html', 'Range: bytes=0-8');
-like($t1, qr/206/, 'range request - 206 partial reply');
+like($t1, qr/ 206 /, 'range request - 206 partial reply');
 like($t1, qr/Content-Length: 9/, 'range request - correct length');
 like($t1, qr/Content-Range: bytes 0-8\/1000/, 'range request - content range');
 like($t1, qr/^X000XXXXX$/m, 'range request - correct content');
 
 $t1 = http_get_range('/t1.html', 'Range: bytes=-10');
-like($t1, qr/206/, 'final bytes - 206 partial reply');
+like($t1, qr/ 206 /, 'final bytes - 206 partial reply');
 like($t1, qr/Content-Length: 10/, 'final bytes - content length');
 like($t1, qr/Content-Range: bytes 990-999\/1000/,
 	'final bytes - content range');
 like($t1, qr/^X099XXXXXX$/m, 'final bytes - correct content');
 
 $t1 = http_get_range('/t1.html', 'Range: bytes=990-');
-like($t1, qr/206/, 'final bytes explicit - 206 partial reply');
+like($t1, qr/ 206 /, 'final bytes explicit - 206 partial reply');
 like($t1, qr/Content-Length: 10/, 'final bytes explicit - content length');
 like($t1, qr/Content-Range: bytes 990-999\/1000/,
 	'final bytes explicit - content range');
 like($t1, qr/^X099XXXXXX$/m, 'final bytes explicit - correct content');
 
 $t1 = http_get_range('/t1.html', 'Range: bytes=990-1990');
-like($t1, qr/206/, 'more than length - 206 partial reply');
+like($t1, qr/ 206 /, 'more than length - 206 partial reply');
 like($t1, qr/Content-Length: 10/, 'more than length - content length');
 like($t1, qr/Content-Range: bytes 990-999\/1000/,
 	'more than length - content range');
 like($t1, qr/^X099XXXXXX$/m, 'more than length - correct content');
 
 $t1 = http_get_range('/t2.html', 'Range: bytes=990-1990');
-like($t1, qr/206/, 'recoded - 206 partial reply');
+like($t1, qr/ 206 /, 'recoded - 206 partial reply');
 like($t1, qr/Content-Length: 10/, 'recoded - content length');
 like($t1, qr/Content-Range: bytes 990-999\/1000/, 'recoded - content range');
 like($t1, qr/^Y099YYYYYY$/m, 'recoded - correct content');
 
 $t1 = http_get_range('/t1.html', 'Range: bytes=0-9, -10, 10-19');
-like($t1, qr/206/, 'multipart - 206 partial reply');
+like($t1, qr/ 206 /, 'multipart - 206 partial reply');
 like($t1, qr/Content-Type: multipart\/byteranges; boundary=/,
 	'multipart - content type');
 like($t1, qr/X000XXXXXX/m, 'multipart - content 0-9');
@@ -116,42 +116,42 @@ like($t1, qr/^X099XXXXXX\x0d?$/m, 'multi
 like($t1, qr/X001XXXXXX\x0d?$/m, 'multipart - content 10-19');
 
 $t1 = http_get_range('/t1.html', 'Range: bytes=0-9, -10, 100000-, 10-19');
-like($t1, qr/206/, 'multipart big - 206 partial reply');
+like($t1, qr/ 206 /, 'multipart big - 206 partial reply');
 like($t1, qr/Content-Type: multipart\/byteranges; boundary=/,
         'multipart big - content type');
 like($t1, qr/X000XXXXXX/m, 'multipart big - content 0-9');
 like($t1, qr/^X099XXXXXX\x0d?$/m, 'multipart big - content -10 aka 990-999');
 like($t1, qr/X001XXXXXX\x0d?$/m, 'multipart big - content 10-19');
 
-like(http_get_range('/t1.html', 'Range: bytes=100000-'), qr/416/,
+like(http_get_range('/t1.html', 'Range: bytes=100000-'), qr/ 416 /,
 	'not satisfiable - too big first byte pos');
-like(http_get_range('/t1.html', 'Range: bytes=alpha'), qr/416/,
+like(http_get_range('/t1.html', 'Range: bytes=alpha'), qr/ 416 /,
 	'not satisfiable - alpha in first byte pos');
-like(http_get_range('/t1.html', 'Range: bytes=10-alpha'), qr/416/,
+like(http_get_range('/t1.html', 'Range: bytes=10-alpha'), qr/ 416 /,
 	'not satisfiable - alpha in last byte pos');
-like(http_get_range('/t1.html', 'Range: bytes=10'), qr/416/,
+like(http_get_range('/t1.html', 'Range: bytes=10'), qr/ 416 /,
 	'not satisfiable - no hyphen');
-like(http_get_range('/t1.html', 'Range: bytes=10-11 12-'), qr/416/,
+like(http_get_range('/t1.html', 'Range: bytes=10-11 12-'), qr/ 416 /,
 	'not satisfiable - no comma');
 
 # last-byte-pos is taken to be equal to one less than the current length
 # of the entity-body in bytes -- rfc2616 sec 14.35.
 
-like(http_get_range('/t1.html', 'Range: bytes=0-10001'), qr/206/,
+like(http_get_range('/t1.html', 'Range: bytes=0-10001'), qr/ 206 /,
 	'satisfiable - last byte pos adjusted');
 
 # total size of all ranges is greater than source response size
 
-like(http_get_range('/t1.html', 'Range: bytes=0-10001, 0-0'), qr/200/,
+like(http_get_range('/t1.html', 'Range: bytes=0-10001, 0-0'), qr/ 200 /,
 	'not satisfiable - malicious byte ranges');
 
-like(http_get_range('/t3.html', 'Range: bytes=0-9, -10'), qr/206/,
+like(http_get_range('/t3.html', 'Range: bytes=0-9, -10'), qr/ 206 /,
 	'max_ranges not reached');
-like(http_get_range('/t3.html', 'Range: bytes=0-9, -10, 10000-'), qr/206/,
+like(http_get_range('/t3.html', 'Range: bytes=0-9, -10, 10000-'), qr/ 206 /,
 	'max_ranges not reached bad range');
 unlike(http_get_range('/t3.html', 'Range: bytes=0-9, -10, 10-19'),
-	qr/206/, 'max_ranges reached');
-unlike(http_get_range('/t4.html', 'Range: bytes=0-9'), qr/206/,
+	qr/ 206 /, 'max_ranges reached');
+unlike(http_get_range('/t4.html', 'Range: bytes=0-9'), qr/ 206 /,
 	'max_ranges zero');
 
 ###############################################################################
--- a/range_charset.t
+++ b/range_charset.t
@@ -84,7 +84,7 @@ my $t1;
 
 http_get('/t1.html');
 $t1 = http_get_range('/t1.html', 'Range: bytes=0-9, 10-19');
-like($t1, qr/206/, 'charset - 206 partial reply');
+like($t1, qr/ 206 /, 'charset - 206 partial reply');
 like($t1, qr/Content-Type: multipart\/byteranges; boundary=\w+\x0d\x0a/,
 	'charset - content type');
 like($t1, qr/Content-Type: text\/html; charset=B(?!; charset)/,
@@ -94,7 +94,7 @@ like($t1, qr/X001XXXXXX\x0d?$/m, 'charse
 
 http_get('/t2.html');
 $t1 = http_get_range('/t2.html', 'Range: bytes=0-9, 10-19');
-like($t1, qr/206/, 'x-accel-charset - 206 partial reply');
+like($t1, qr/ 206 /, 'x-accel-charset - 206 partial reply');
 like($t1, qr/Content-Type: multipart\/byteranges; boundary=\w+\x0d\x0a/,
 	'x-accel-charset - content type');
 like($t1, qr/Content-Type: text\/html; charset=A(?!; charset)/,
--- a/range_flv.t
+++ b/range_flv.t
@@ -57,20 +57,20 @@ my $t1;
 # FLV has 13 byte header at start.
 
 $t1 = http_get_range('/t1.flv?start=100', 'Range: bytes=0-9');
-like($t1, qr/206/, 'first bytes - 206 partial reply');
+like($t1, qr/ 206 /, 'first bytes - 206 partial reply');
 like($t1, qr/Content-Length: 10/, 'first bytes - correct length');
 like($t1, qr/Content-Range: bytes 0-9\/913/, 'first bytes - content range');
 like($t1, qr/^FLV.{7}$/m, 'first bytes - correct content');
 
 $t1 = http_get_range('/t1.flv?start=100', 'Range: bytes=-10');
-like($t1, qr/206/, 'final bytes - 206 partial reply');
+like($t1, qr/ 206 /, 'final bytes - 206 partial reply');
 like($t1, qr/Content-Length: 10/, 'final bytes - content length');
 like($t1, qr/Content-Range: bytes 903-912\/913/,
 	'final bytes - content range');
 like($t1, qr/^X099XXXXXX$/m, 'final bytes - correct content');
 
 $t1 = http_get_range('/t1.flv?start=100', 'Range: bytes=0-99');
-like($t1, qr/206/, 'multi buffers - 206 partial reply');
+like($t1, qr/ 206 /, 'multi buffers - 206 partial reply');
 like($t1, qr/Content-Length: 100/, 'multi buffers - content length');
 like($t1, qr/Content-Range: bytes 0-99\/913/, 'multi buffers - content range');
 like($t1, qr/^FLV.{10}X010XXXXXX(X01[1-7]XXXXXX){7}X018XXX$/m,
--- a/range_if_range.t
+++ b/range_if_range.t
@@ -73,7 +73,7 @@ like($t1, qr/Last-Modified: /, 'if-range
 my $last = $1;
 
 $t1 = http_get_range('/t1.html', "Range: bytes=0-9\nIf-Range: $last");
-like($t1, qr/206/, 'if-range');
+like($t1, qr/ 206 /, 'if-range');
 
 # If-Range + add_header Last-Modified ""
 
@@ -90,7 +90,7 @@ like($t1, qr/Last-Modified: Mon, 28 Sep 
 
 $t1 = http_get_range('/t3.html',
 	"Range: bytes=0-9\nIf-Range: Mon, 28 Sep 1970 06:00:00 GMT");
-like($t1, qr/206/, 'if-range time');
+like($t1, qr/ 206 /, 'if-range time');
 
 ###############################################################################
 
--- a/range_mp4.t
+++ b/range_mp4.t
@@ -72,18 +72,18 @@ my $start = $fsz - 10;
 my $last = $fsz - 1;
 
 $t1 = http_get_range('/test.mp4?start=1', 'Range: bytes=0-9');
-like($t1, qr/206/, 'first bytes - 206 partial reply');
+like($t1, qr/ 206 /, 'first bytes - 206 partial reply');
 like($t1, qr/Content-Length: 10/, 'first bytes - content length');
 like($t1, qr/Content-Range: bytes 0-9\/$fsz/, 'first bytes - content range');
 
 $t1 = http_get_range('/test.mp4?start=1', 'Range: bytes=-10');
-like($t1, qr/206/, 'final bytes - 206 partial reply');
+like($t1, qr/ 206 /, 'final bytes - 206 partial reply');
 like($t1, qr/Content-Length: 10/, 'final bytes - content length');
 like($t1, qr/Content-Range: bytes $start-$last\/$fsz/,
 	'final bytes - content range');
 
 $t1 = http_get_range('/test.mp4?start=1', 'Range: bytes=0-99');
-like($t1, qr/206/, 'multi buffers - 206 partial reply');
+like($t1, qr/ 206 /, 'multi buffers - 206 partial reply');
 like($t1, qr/Content-Length: 100/, 'multi buffers - content length');
 like($t1, qr/Content-Range: bytes 0-99\/$fsz/,
 	'multi buffers - content range');
@@ -92,7 +92,7 @@ TODO: {
 local $TODO = 'multipart range on mp4';
 
 $t1 = http_get_range('/test.mp4?start=1', 'Range: bytes=0-10,11-99');
-like($t1, qr/206/, 'multipart range - 206 partial reply');
+like($t1, qr/ 206 /, 'multipart range - 206 partial reply');
 like($t1, qr/Content-Length: 100/, 'multipart range - content length');
 like($t1, qr/Content-Range: bytes 0-10,11-99\/$fsz/,
 	'multipart range - content range');
--- a/scgi.t
+++ b/scgi.t
@@ -58,7 +58,7 @@ EOF
 ###############################################################################
 
 like(http_get('/'), qr/SEE-THIS/, 'scgi request');
-like(http_get('/redir'), qr/302/, 'scgi redirect');
+like(http_get('/redir'), qr/ 302 /, 'scgi redirect');
 like(http_get('/'), qr/^3$/m, 'scgi third request');
 
 unlike(http_head('/'), qr/SEE-THIS/, 'no data in HEAD');