diff stream_limit_rate.t @ 952:e9064d691790

Tests: converted tests to run in parallel.
author Andrey Zelenkov <zelenkov@nginx.com>
date Tue, 21 Jun 2016 16:39:13 +0300
parents b1fa8e0cc27b
children 882267679006
line wrap: on
line diff
--- a/stream_limit_rate.t
+++ b/stream_limit_rate.t
@@ -46,59 +46,59 @@ stream {
     proxy_upload_rate        1000;
 
     server {
-        listen               127.0.0.1:8081;
-        proxy_pass           127.0.0.1:8080;
+        listen               127.0.0.1:%%PORT_1%%;
+        proxy_pass           127.0.0.1:%%PORT_0%%;
     }
 
     server {
-        listen               127.0.0.1:8082;
-        proxy_pass           127.0.0.1:8080;
+        listen               127.0.0.1:%%PORT_2%%;
+        proxy_pass           127.0.0.1:%%PORT_0%%;
         proxy_download_rate  0;
         proxy_upload_rate    0;
     }
 
     server {
-        listen               127.0.0.1:8083;
-        proxy_pass           127.0.0.1:8080;
+        listen               127.0.0.1:%%PORT_3%%;
+        proxy_pass           127.0.0.1:%%PORT_0%%;
         proxy_download_rate  1;
     }
 
     server {
-        listen               127.0.0.1:8084;
-        proxy_pass           127.0.0.1:8080;
+        listen               127.0.0.1:%%PORT_4%%;
+        proxy_pass           127.0.0.1:%%PORT_0%%;
         proxy_upload_rate    1;
     }
 
     server {
-        listen               127.0.0.1:8085;
-        proxy_pass           127.0.0.1:8080;
+        listen               127.0.0.1:%%PORT_5%%;
+        proxy_pass           127.0.0.1:%%PORT_0%%;
         proxy_download_rate  250;
     }
 
     server {
-        listen               127.0.0.1:8086;
-        proxy_pass           127.0.0.1:8090;
+        listen               127.0.0.1:%%PORT_6%%;
+        proxy_pass           127.0.0.1:%%PORT_7%%;
         proxy_upload_rate    250;
     }
 }
 
 EOF
 
-$t->run_daemon(\&stream_daemon, 8080);
-$t->run_daemon(\&stream_daemon, 8090);
+$t->run_daemon(\&stream_daemon, port(0));
+$t->run_daemon(\&stream_daemon, port(7));
 $t->run();
 
-$t->waitforsocket('127.0.0.1:8080');
-$t->waitforsocket('127.0.0.1:8090');
+$t->waitforsocket('127.0.0.1:' . port(0));
+$t->waitforsocket('127.0.0.1:' . port(7));
 
 ###############################################################################
 
 my $str = '1234567890' x 100;
 
-my %r = response($str, peer => '127.0.0.1:8081');
+my %r = response($str, peer => '127.0.0.1:' . port(1));
 is($r{'data'}, $str, 'exact limit');
 
-%r = response($str, peer => '127.0.0.1:8082');
+%r = response($str, peer => '127.0.0.1:' . port(2));
 is($r{'data'}, $str, 'unlimited');
 
 SKIP: {
@@ -107,10 +107,10 @@ skip 'unsafe on VM', 2 unless $ENV{TEST_
 # if interaction between backend and client is slow then proxy can add extra
 # bytes to upload/download data
 
-%r = response($str, peer => '127.0.0.1:8083', readonce => 1);
+%r = response($str, peer => '127.0.0.1:' . port(3), readonce => 1);
 is($r{'data'}, '1', 'download - one byte');
 
-%r = response($str, peer =>  '127.0.0.1:8084');
+%r = response($str, peer =>  '127.0.0.1:' . port(4));
 is($r{'data'}, '1', 'upload - one byte');
 
 }
@@ -119,13 +119,13 @@ is($r{'data'}, '1', 'upload - one byte')
 # the first four chunks are quarters of test string
 # and the fifth one is some extra data from backend.
 
-%r = response($str, peer =>  '127.0.0.1:8085');
+%r = response($str, peer =>  '127.0.0.1:' . port(5));
 my $diff = time() - $r{'time'};
 cmp_ok($diff, '>=', 4, 'download - time');
 is($r{'data'}, $str, 'download - data');
 
 my $time = time();
-%r = response($str . 'close', peer => '127.0.0.1:8086');
+%r = response($str . 'close', peer => '127.0.0.1:' . port(6));
 $diff = time() - $time;
 cmp_ok($diff, '>=', 4, 'upload - time');
 is($r{'data'}, $str . 'close', 'upload - data');
@@ -156,6 +156,7 @@ sub response {
 
 sub stream_daemon {
 	my $port = shift;
+
 	my $server = IO::Socket::INET->new(
 		Proto => 'tcp',
 		LocalAddr => '127.0.0.1',
@@ -193,13 +194,13 @@ sub stream_handle_client {
 
 	log2i("$client $buffer");
 
-	$buffer .= " " . time() if $client->sockport() eq 8080;
+	$buffer .= " " . time() if $client->sockport() eq port(0);
 
 	log2o("$client $buffer");
 
 	$client->syswrite($buffer);
 
-	return $client->sockport() eq 8080 ? 1 : $buffer =~ /close/;
+	return $client->sockport() eq port(0) ? 1 : $buffer =~ /close/;
 }
 
 sub log2i { Test::Nginx::log_core('|| <<', @_); }