comparison upstream_hash_memcached.t @ 974:882267679006

Tests: simplified parallel modifications in tests. Mail tests were simplified in c227348453db.
author Andrey Zelenkov <zelenkov@nginx.com>
date Tue, 12 Jul 2016 17:39:03 +0300
parents e9064d691790
children 196d33c2bb45
comparison
equal deleted inserted replaced
973:7d7aef8b9f3a 974:882267679006
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:%%PORT_1%%; 50 server 127.0.0.1:8081;
51 server 127.0.0.1:%%PORT_2%%; 51 server 127.0.0.1:8082;
52 server 127.0.0.1:%%PORT_3%%; 52 server 127.0.0.1:8083;
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:%%PORT_1%%; 57 server 127.0.0.1:8081;
58 server 127.0.0.1:%%PORT_2%%; 58 server 127.0.0.1:8082;
59 server 127.0.0.1:%%PORT_3%%; 59 server 127.0.0.1:8083;
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:%%PORT_1%% weight=2; 64 server 127.0.0.1:8081 weight=2;
65 server 127.0.0.1:%%PORT_2%% weight=3; 65 server 127.0.0.1:8082 weight=3;
66 server 127.0.0.1:%%PORT_3%%; 66 server 127.0.0.1:8083;
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:%%PORT_1%% weight=2; 71 server 127.0.0.1:8081 weight=2;
72 server 127.0.0.1:%%PORT_2%% weight=3; 72 server 127.0.0.1:8082 weight=3;
73 server 127.0.0.1:%%PORT_3%%; 73 server 127.0.0.1:8083;
74 } 74 }
75 75
76 server { 76 server {
77 listen 127.0.0.1:%%PORT_0%%; 77 listen 127.0.0.1:8080;
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', port(1), @memopts); 111 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', port(8081), @memopts);
112 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', port(2), @memopts); 112 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', port(8082), @memopts);
113 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', port(3), @memopts); 113 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', port(8083), @memopts);
114 $t->run(); 114 $t->run();
115 115
116 $t->waitforsocket('127.0.0.1:' . port(1)) or die "Can't start memcached"; 116 $t->waitforsocket('127.0.0.1:' . port(8081)) or die "Can't start memcached";
117 $t->waitforsocket('127.0.0.1:' . port(2)) or die "Can't start memcached"; 117 $t->waitforsocket('127.0.0.1:' . port(8082)) or die "Can't start memcached";
118 $t->waitforsocket('127.0.0.1:' . port(3)) or die "Can't start memcached"; 118 $t->waitforsocket('127.0.0.1:' . port(8083)) or die "Can't start memcached";
119 119
120 ############################################################################### 120 ###############################################################################
121 121
122 my $memd1 = Cache::Memcached->new(servers => [ '127.0.0.1:' . port(1) ], 122 my $memd1 = Cache::Memcached->new(servers => [ '127.0.0.1:' . port(8081) ],
123 connect_timeout => 1.0); 123 connect_timeout => 1.0);
124 my $memd2 = Cache::Memcached->new(servers => [ '127.0.0.1:' . port(2) ], 124 my $memd2 = Cache::Memcached->new(servers => [ '127.0.0.1:' . port(8082) ],
125 connect_timeout => 1.0); 125 connect_timeout => 1.0);
126 my $memd3 = Cache::Memcached->new(servers => [ '127.0.0.1:' . port(3) ], 126 my $memd3 = Cache::Memcached->new(servers => [ '127.0.0.1:' . port(8083) ],
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, port(1)) or die "can't put value into memcached: $!"; 130 $memd1->set($i, port(8081)) or die "can't put value into memcached: $!";
131 $memd2->set($i, port(2)) or die "can't put value into memcached: $!"; 131 $memd2->set($i, port(8082)) or die "can't put value into memcached: $!";
132 $memd3->set($i, port(3)) or die "can't put value into memcached: $!"; 132 $memd3->set($i, port(8083)) 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:' . port(1), 136 '127.0.0.1:' . port(8081),
137 '127.0.0.1:' . port(2), 137 '127.0.0.1:' . port(8082),
138 '127.0.0.1:' . port(3) ]); 138 '127.0.0.1:' . port(8083) ]);
139 139
140 is_deeply(ngx('/'), mem($memd), 'cache::memcached'); 140 is_deeply(ngx('/'), mem($memd), 'cache::memcached');
141 141
142 $memd = new Cache::Memcached::Fast({ ketama_points => 160, servers => [ 142 $memd = new Cache::Memcached::Fast({ ketama_points => 160, servers => [
143 '127.0.0.1:' . port(1), 143 '127.0.0.1:' . port(8081),
144 '127.0.0.1:' . port(2), 144 '127.0.0.1:' . port(8082),
145 '127.0.0.1:' . port(3)] }); 145 '127.0.0.1:' . port(8083)] });
146 146
147 TODO: { 147 TODO: {
148 local $TODO = 'not yet' unless $Config{byteorder} =~ '1234' 148 local $TODO = 'not yet' unless $Config{byteorder} =~ '1234'
149 or $t->has_version('1.9.1'); 149 or $t->has_version('1.9.1');
150 150
151 is_deeply(ngx('/c'), mem($memd), 'cache::memcached::fast'); 151 is_deeply(ngx('/c'), mem($memd), 'cache::memcached::fast');
152 152
153 } 153 }
154 154
155 $memd = new Cache::Memcached(servers => [ 155 $memd = new Cache::Memcached(servers => [
156 [ '127.0.0.1:' . port(1), 2 ], 156 [ '127.0.0.1:' . port(8081), 2 ],
157 [ '127.0.0.1:' . port(2), 3 ], 157 [ '127.0.0.1:' . port(8082), 3 ],
158 [ '127.0.0.1:' . port(3), 1 ]]); 158 [ '127.0.0.1:' . port(8083), 1 ]]);
159 159
160 is_deeply(ngx('/w'), mem($memd), 'cache::memcached weight'); 160 is_deeply(ngx('/w'), mem($memd), 'cache::memcached weight');
161 161
162 $memd = new Cache::Memcached::Fast({ ketama_points => 160, servers => [ 162 $memd = new Cache::Memcached::Fast({ ketama_points => 160, servers => [
163 { address => '127.0.0.1:' . port(1), weight => 2 }, 163 { address => '127.0.0.1:' . port(8081), weight => 2 },
164 { address => '127.0.0.1:' . port(2), weight => 3 }, 164 { address => '127.0.0.1:' . port(8082), weight => 3 },
165 { address => '127.0.0.1:' . port(3), weight => 1 }] }); 165 { address => '127.0.0.1:' . port(8083), weight => 1 }] });
166 166
167 TODO: { 167 TODO: {
168 local $TODO = 'not yet' unless $Config{byteorder} =~ '1234' 168 local $TODO = 'not yet' unless $Config{byteorder} =~ '1234'
169 or $t->has_version('1.9.1'); 169 or $t->has_version('1.9.1');
170 170