comparison upstream_ip_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 07c600de2f90
children 882267679006
comparison
equal deleted inserted replaced
951:9361c7eddfc1 952:e9064d691790
36 http { 36 http {
37 %%TEST_GLOBALS_HTTP%% 37 %%TEST_GLOBALS_HTTP%%
38 38
39 upstream u { 39 upstream u {
40 ip_hash; 40 ip_hash;
41 server 127.0.0.1:8081; 41 server 127.0.0.1:%%PORT_1%%;
42 server 127.0.0.1:8082; 42 server 127.0.0.1:%%PORT_2%%;
43 } 43 }
44 44
45 upstream u2 { 45 upstream u2 {
46 ip_hash; 46 ip_hash;
47 server 127.0.0.1:8081; 47 server 127.0.0.1:%%PORT_1%%;
48 server 127.0.0.1:8082; 48 server 127.0.0.1:%%PORT_2%%;
49 server 127.0.0.1:8083; 49 server 127.0.0.1:%%PORT_3%%;
50 } 50 }
51 51
52 server { 52 server {
53 listen 127.0.0.1:8080; 53 listen 127.0.0.1:%%PORT_0%%;
54 server_name localhost; 54 server_name localhost;
55 55
56 set_real_ip_from 127.0.0.0/8; 56 set_real_ip_from 127.0.0.0/8;
57 add_header X-IP $remote_addr; 57 add_header X-IP $remote_addr;
58 58
63 proxy_pass http://u2; 63 proxy_pass http://u2;
64 } 64 }
65 } 65 }
66 66
67 server { 67 server {
68 listen 127.0.0.1:8081; 68 listen 127.0.0.1:%%PORT_1%%;
69 listen 127.0.0.1:8082; 69 listen 127.0.0.1:%%PORT_2%%;
70 listen 127.0.0.1:8083; 70 listen 127.0.0.1:%%PORT_3%%;
71 server_name localhost; 71 server_name localhost;
72 72
73 location / { 73 location / {
74 add_header X-Port $server_port; 74 add_header X-Port $server_port;
75 return 204; 75 return 204;
84 84
85 $t->plan(2); 85 $t->plan(2);
86 86
87 ############################################################################### 87 ###############################################################################
88 88
89 is(many('/', 30), '8081: 15, 8082: 15', 'ip_hash'); 89 my @ports = my ($port1, $port2, $port3) = (port(1), port(2), port(3));
90 is(many('/u2', 30), '8081: 10, 8082: 10, 8083: 10', 'ip_hash 3 peers'); 90
91 is(many('/', 30), "$port1: 15, $port2: 15", 'ip_hash');
92 is(many('/u2', 30), "$port1: 10, $port2: 10, $port3: 10", 'ip_hash 3 peers');
91 93
92 ############################################################################### 94 ###############################################################################
93 95
94 sub many { 96 sub many {
95 my ($uri, $count) = @_; 97 my ($uri, $count) = @_;
103 $ports{$1} = 0 unless defined $ports{$1}; 105 $ports{$1} = 0 unless defined $ports{$1};
104 $ports{$1}++; 106 $ports{$1}++;
105 } 107 }
106 } 108 }
107 109
108 return join ', ', map { $_ . ": " . $ports{$_} } sort keys %ports; 110 my @keys = map { my $p = $_; grep { $p == $_ } keys %ports } @ports;
111 return join ', ', map { $_ . ": " . $ports{$_} } @keys;
109 } 112 }
110 113
111 ############################################################################### 114 ###############################################################################