diff upstream_hash.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 6bb1f2ccd386
children 882267679006
line wrap: on
line diff
--- a/upstream_hash.t
+++ b/upstream_hash.t
@@ -38,57 +38,57 @@ http {
 
     upstream u {
         hash $arg_a;
-        server 127.0.0.1:8081;
-        server 127.0.0.1:8082;
-        server 127.0.0.1:8083;
+        server 127.0.0.1:%%PORT_1%%;
+        server 127.0.0.1:%%PORT_2%%;
+        server 127.0.0.1:%%PORT_3%%;
     }
 
     upstream u2 {
         hash $arg_a;
-        server 127.0.0.1:8081;
-        server 127.0.0.1:8083;
+        server 127.0.0.1:%%PORT_1%%;
+        server 127.0.0.1:%%PORT_3%%;
     }
 
     upstream cw {
         hash $arg_a consistent;
-        server 127.0.0.1:8081;
-        server 127.0.0.1:8082;
-        server 127.0.0.1:8083 weight=10;
+        server 127.0.0.1:%%PORT_1%%;
+        server 127.0.0.1:%%PORT_2%%;
+        server 127.0.0.1:%%PORT_3%% weight=10;
     }
 
     upstream cw2 {
         hash $arg_a consistent;
-        server 127.0.0.1:8081;
-        server 127.0.0.1:8083 weight=10;
+        server 127.0.0.1:%%PORT_1%%;
+        server 127.0.0.1:%%PORT_3%% weight=10;
     }
 
     upstream c {
         hash $arg_a consistent;
-        server 127.0.0.1:8081;
-        server 127.0.0.1:8082;
-        server 127.0.0.1:8083;
+        server 127.0.0.1:%%PORT_1%%;
+        server 127.0.0.1:%%PORT_2%%;
+        server 127.0.0.1:%%PORT_3%%;
     }
 
     upstream c2 {
         hash $arg_a consistent;
-        server 127.0.0.1:8081;
-        server 127.0.0.1:8083;
+        server 127.0.0.1:%%PORT_1%%;
+        server 127.0.0.1:%%PORT_3%%;
     }
 
     upstream bad {
         hash $arg_a;
-        server 127.0.0.1:8081;
-        server 127.0.0.1:8084;
+        server 127.0.0.1:%%PORT_1%%;
+        server 127.0.0.1:%%PORT_4%%;
     }
 
     upstream cbad {
         hash $arg_a consistent;
-        server 127.0.0.1:8081;
-        server 127.0.0.1:8084;
+        server 127.0.0.1:%%PORT_1%%;
+        server 127.0.0.1:%%PORT_4%%;
     }
 
     server {
-        listen       127.0.0.1:8080;
+        listen       127.0.0.1:%%PORT_0%%;
         server_name  localhost;
 
         location / {
@@ -122,9 +122,9 @@ http {
     }
 
     server {
-        listen       127.0.0.1:8081;
-        listen       127.0.0.1:8082;
-        listen       127.0.0.1:8083;
+        listen       127.0.0.1:%%PORT_1%%;
+        listen       127.0.0.1:%%PORT_2%%;
+        listen       127.0.0.1:%%PORT_3%%;
         server_name  localhost;
 
         add_header X-Port $server_port;
@@ -134,7 +134,7 @@ http {
         }
 
         location /502 {
-            if ($server_port = 8083) {
+            if ($server_port = %%PORT_3%%) {
                 return 502;
             }
             return 204;
@@ -142,7 +142,7 @@ http {
     }
 
     server {
-        listen       127.0.0.1:8084;
+        listen       127.0.0.1:%%PORT_4%%;
         server_name  localhost;
         return 444;
     }
@@ -154,21 +154,23 @@ EOF
 
 ###############################################################################
 
+my ($p1, $p2, $p3) = (port(1), port(2), port(3));
+
 # Only requests for absent peer are moved to other peers if hash is consistent.
 # Check this by comparing two upstreams with different number of peers.
 
-ok(!cmp_peers([iter('/', 20)], [iter('/2', 20)], 8082), 'inconsistent');
-ok(cmp_peers([iter('/c', 20)], [iter('/c2', 20)], 8082), 'consistent');
-ok(cmp_peers([iter('/cw', 20)], [iter('/cw2', 20)], 8082), 'consistent weight');
+ok(!cmp_peers([iter('/', 20)], [iter('/2', 20)], $p2), 'inconsistent');
+ok(cmp_peers([iter('/c', 20)], [iter('/c2', 20)], $p2), 'consistent');
+ok(cmp_peers([iter('/cw', 20)], [iter('/cw2', 20)], $p2), 'consistent weight');
 
-like(many('/?a=1', 10), qr/808\d: 10/, 'stable hash');
-like(many('/c?a=1', 10), qr/808\d: 10/, 'stable hash - consistent');
+like(many('/?a=1', 10), qr/($p1|$p2|$p3): 10/, 'stable hash');
+like(many('/c?a=1', 10), qr/($p1|$p2|$p3): 10/, 'stable hash - consistent');
 
 my @res = iter('/', 10);
 
 is(@res, 10, 'all hashed peers');
 
-@res = grep { $_ != 8083 } @res;
+@res = grep { $_ != $p3 } @res;
 my @res2 = iter('/502', 10);
 
 is_deeply(\@res, \@res2, 'no proxy_next_upstream');
@@ -176,10 +178,10 @@ isnt(@res2, 10, 'no proxy_next_upstream 
 
 is(iter('/pnu/502', 10), 10, 'proxy_next_upstream peers');
 
-@res = grep { $_ == 8081 } iter('/bad', 20);
+@res = grep { $_ == $p1 } iter('/bad', 20);
 is(@res, 20, 'all hashed peers - bad');
 
-@res = grep { $_ == 8081 } iter('/cbad', 20);
+@res = grep { $_ == $p1 } iter('/cbad', 20);
 is(@res, 20, 'all hashed peers - bad consistent');
 
 ###############################################################################