comparison upstream_hash_memcached.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 0597ca82c26a
children 882267679006
comparison
equal deleted inserted replaced
951:9361c7eddfc1 952:e9064d691790
45 http { 45 http {
46 %%TEST_GLOBALS_HTTP%% 46 %%TEST_GLOBALS_HTTP%%
47 47
48 upstream memd { 48 upstream memd {
49 hash $arg_a; 49 hash $arg_a;
50 server 127.0.0.1:8081; 50 server 127.0.0.1:%%PORT_1%%;
51 server 127.0.0.1:8082; 51 server 127.0.0.1:%%PORT_2%%;
52 server 127.0.0.1:8083; 52 server 127.0.0.1:%%PORT_3%%;
53 } 53 }
54 54
55 upstream memd_c { 55 upstream memd_c {
56 hash $arg_a consistent; 56 hash $arg_a consistent;
57 server 127.0.0.1:8081; 57 server 127.0.0.1:%%PORT_1%%;
58 server 127.0.0.1:8082; 58 server 127.0.0.1:%%PORT_2%%;
59 server 127.0.0.1:8083; 59 server 127.0.0.1:%%PORT_3%%;
60 } 60 }
61 61
62 upstream memd_w { 62 upstream memd_w {
63 hash $arg_a; 63 hash $arg_a;
64 server 127.0.0.1:8081 weight=2; 64 server 127.0.0.1:%%PORT_1%% weight=2;
65 server 127.0.0.1:8082 weight=3; 65 server 127.0.0.1:%%PORT_2%% weight=3;
66 server 127.0.0.1:8083; 66 server 127.0.0.1:%%PORT_3%%;
67 } 67 }
68 68
69 upstream memd_cw { 69 upstream memd_cw {
70 hash $arg_a consistent; 70 hash $arg_a consistent;
71 server 127.0.0.1:8081 weight=2; 71 server 127.0.0.1:%%PORT_1%% weight=2;
72 server 127.0.0.1:8082 weight=3; 72 server 127.0.0.1:%%PORT_2%% weight=3;
73 server 127.0.0.1:8083; 73 server 127.0.0.1:%%PORT_3%%;
74 } 74 }
75 75
76 server { 76 server {
77 listen 127.0.0.1:8080; 77 listen 127.0.0.1:%%PORT_0%%;
78 server_name localhost; 78 server_name localhost;
79 79
80 set $memcached_key $arg_a; 80 set $memcached_key $arg_a;
81 81
82 location / { 82 location / {
106 if ($memhelp =~ /-U/) { 106 if ($memhelp =~ /-U/) {
107 # UDP port is on by default in memcached 1.2.7+ 107 # UDP port is on by default in memcached 1.2.7+
108 push @memopts, '-U', '0'; 108 push @memopts, '-U', '0';
109 } 109 }
110 110
111 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', '8081', @memopts); 111 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', port(1), @memopts);
112 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', '8082', @memopts); 112 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', port(2), @memopts);
113 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', '8083', @memopts); 113 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', port(3), @memopts);
114 $t->run(); 114 $t->run();
115 115
116 $t->waitforsocket('127.0.0.1:8081') or die "Can't start memcached"; 116 $t->waitforsocket('127.0.0.1:' . port(1)) or die "Can't start memcached";
117 $t->waitforsocket('127.0.0.1:8082') or die "Can't start memcached"; 117 $t->waitforsocket('127.0.0.1:' . port(2)) or die "Can't start memcached";
118 $t->waitforsocket('127.0.0.1:8083') or die "Can't start memcached"; 118 $t->waitforsocket('127.0.0.1:' . port(3)) or die "Can't start memcached";
119 119
120 ############################################################################### 120 ###############################################################################
121 121
122 my $memd1 = Cache::Memcached->new(servers => [ '127.0.0.1:8081' ], 122 my $memd1 = Cache::Memcached->new(servers => [ '127.0.0.1:' . port(1) ],
123 connect_timeout => 1.0); 123 connect_timeout => 1.0);
124 my $memd2 = Cache::Memcached->new(servers => [ '127.0.0.1:8082' ], 124 my $memd2 = Cache::Memcached->new(servers => [ '127.0.0.1:' . port(2) ],
125 connect_timeout => 1.0); 125 connect_timeout => 1.0);
126 my $memd3 = Cache::Memcached->new(servers => [ '127.0.0.1:8083' ], 126 my $memd3 = Cache::Memcached->new(servers => [ '127.0.0.1:' . port(3) ],
127 connect_timeout => 1.0); 127 connect_timeout => 1.0);
128 128
129 for my $i (1 .. 20) { 129 for my $i (1 .. 20) {
130 $memd1->set($i, '8081') or die "can't put value into memcached: $!"; 130 $memd1->set($i, port(1)) or die "can't put value into memcached: $!";
131 $memd2->set($i, '8082') or die "can't put value into memcached: $!"; 131 $memd2->set($i, port(2)) or die "can't put value into memcached: $!";
132 $memd3->set($i, '8083') or die "can't put value into memcached: $!"; 132 $memd3->set($i, port(3)) or die "can't put value into memcached: $!";
133 } 133 }
134 134
135 my $memd = new Cache::Memcached(servers => 135 my $memd = new Cache::Memcached(servers => [
136 [ '127.0.0.1:8081', '127.0.0.1:8082', '127.0.0.1:8083' ]); 136 '127.0.0.1:' . port(1),
137 '127.0.0.1:' . port(2),
138 '127.0.0.1:' . port(3) ]);
137 139
138 is_deeply(ngx('/'), mem($memd), 'cache::memcached'); 140 is_deeply(ngx('/'), mem($memd), 'cache::memcached');
139 141
140 $memd = new Cache::Memcached::Fast({ ketama_points => 160, servers => 142 $memd = new Cache::Memcached::Fast({ ketama_points => 160, servers => [
141 [ '127.0.0.1:8081', '127.0.0.1:8082', '127.0.0.1:8083'] }); 143 '127.0.0.1:' . port(1),
144 '127.0.0.1:' . port(2),
145 '127.0.0.1:' . port(3)] });
142 146
143 TODO: { 147 TODO: {
144 local $TODO = 'not yet' unless $Config{byteorder} =~ '1234' 148 local $TODO = 'not yet' unless $Config{byteorder} =~ '1234'
145 or $t->has_version('1.9.1'); 149 or $t->has_version('1.9.1');
146 150
147 is_deeply(ngx('/c'), mem($memd), 'cache::memcached::fast'); 151 is_deeply(ngx('/c'), mem($memd), 'cache::memcached::fast');
148 152
149 } 153 }
150 154
151 $memd = new Cache::Memcached(servers => [ 155 $memd = new Cache::Memcached(servers => [
152 [ '127.0.0.1:8081', 2 ], 156 [ '127.0.0.1:' . port(1), 2 ],
153 [ '127.0.0.1:8082', 3 ], 157 [ '127.0.0.1:' . port(2), 3 ],
154 [ '127.0.0.1:8083', 1 ]]); 158 [ '127.0.0.1:' . port(3), 1 ]]);
155 159
156 is_deeply(ngx('/w'), mem($memd), 'cache::memcached weight'); 160 is_deeply(ngx('/w'), mem($memd), 'cache::memcached weight');
157 161
158 $memd = new Cache::Memcached::Fast({ ketama_points => 160, servers => [ 162 $memd = new Cache::Memcached::Fast({ ketama_points => 160, servers => [
159 { address => '127.0.0.1:8081', weight => 2 }, 163 { address => '127.0.0.1:' . port(1), weight => 2 },
160 { address => '127.0.0.1:8082', weight => 3 }, 164 { address => '127.0.0.1:' . port(2), weight => 3 },
161 { address => '127.0.0.1:8083', weight => 1 }] }); 165 { address => '127.0.0.1:' . port(3), weight => 1 }] });
162 166
163 TODO: { 167 TODO: {
164 local $TODO = 'not yet' unless $Config{byteorder} =~ '1234' 168 local $TODO = 'not yet' unless $Config{byteorder} =~ '1234'
165 or $t->has_version('1.9.1'); 169 or $t->has_version('1.9.1');
166 170