diff mail_resolver.t @ 970:c227348453db

Tests: simplified parallel modifications in mail tests.
author Maxim Dounin <mdounin@mdounin.ru>
date Fri, 08 Jul 2016 02:21:16 +0300
parents e9064d691790
children a8b8dd6e8ae1
line wrap: on
line diff
--- a/mail_resolver.t
+++ b/mail_resolver.t
@@ -26,7 +26,7 @@ select STDOUT; $| = 1;
 local $SIG{PIPE} = 'IGNORE';
 
 my $t = Test::Nginx->new()->has(qw/mail smtp http rewrite/)
-	->run_daemon(\&Test::Nginx::SMTP::smtp_test_daemon, port(15));
+	->run_daemon(\&Test::Nginx::SMTP::smtp_test_daemon, port(8026));
 
 $t->write_file_expand('nginx.conf', <<'EOF');
 
@@ -38,7 +38,7 @@ events {
 }
 
 mail {
-    auth_http    http://127.0.0.1:%%PORT_0%%/mail/auth;
+    auth_http    http://127.0.0.1:8080/mail/auth;
     smtp_auth    none;
     server_name  locahost;
 
@@ -46,47 +46,48 @@ mail {
     resolver_timeout 2s;
 
     server {
-        listen    127.0.0.1:%%PORT_1%%;
+        listen    127.0.0.1:8025;
         protocol  smtp;
-        resolver  127.0.0.1:%%PORT_8_UDP%% 127.0.0.1:%%PORT_9_UDP%%
-                  127.0.0.1:%%PORT_10_UDP%%;
+        resolver  127.0.0.1:%%PORT_8081_UDP%%
+                  127.0.0.1:%%PORT_8082_UDP%%
+                  127.0.0.1:%%PORT_8083_UDP%%;
     }
 
     server {
-        listen    127.0.0.1:%%PORT_2%%;
+        listen    127.0.0.1:8027;
         protocol  smtp;
-        resolver  127.0.0.1:%%PORT_9_UDP%%;
+        resolver  127.0.0.1:%%PORT_8082_UDP%%;
     }
 
     server {
-        listen    127.0.0.1:%%PORT_3%%;
+        listen    127.0.0.1:8028;
         protocol  smtp;
-        resolver  127.0.0.1:%%PORT_10_UDP%%;
+        resolver  127.0.0.1:%%PORT_8083_UDP%%;
 
     }
 
     server {
-        listen    127.0.0.1:%%PORT_4%%;
+        listen    127.0.0.1:8029;
         protocol  smtp;
-        resolver  127.0.0.1:%%PORT_11_UDP%%;
+        resolver  127.0.0.1:%%PORT_8084_UDP%%;
     }
 
     server {
-        listen    127.0.0.1:%%PORT_5%%;
+        listen    127.0.0.1:8030;
         protocol  smtp;
-        resolver  127.0.0.1:%%PORT_12_UDP%%;
+        resolver  127.0.0.1:%%PORT_8085_UDP%%;
     }
 
     server {
-        listen    127.0.0.1:%%PORT_6%%;
+        listen    127.0.0.1:8031;
         protocol  smtp;
-        resolver  127.0.0.1:%%PORT_13_UDP%%;
+        resolver  127.0.0.1:%%PORT_8086_UDP%%;
     }
 
     server {
-        listen    127.0.0.1:%%PORT_7%%;
+        listen    127.0.0.1:8032;
         protocol  smtp;
-        resolver  127.0.0.1:%%PORT_14_UDP%%;
+        resolver  127.0.0.1:%%PORT_8087_UDP%%;
     }
 
 }
@@ -95,7 +96,7 @@ http {
     %%TEST_GLOBALS_HTTP%%
 
     server {
-        listen       127.0.0.1:%%PORT_0%%;
+        listen       127.0.0.1:8080;
         server_name  localhost;
 
         location = /mail/auth {
@@ -107,7 +108,7 @@ http {
 
             add_header Auth-Status $reply;
             add_header Auth-Server 127.0.0.1;
-            add_header Auth-Port %%PORT_15%%;
+            add_header Auth-Port %%PORT_8026%%;
             return 204;
         }
     }
@@ -115,12 +116,12 @@ http {
 
 EOF
 
-for (8 .. 14) {
+for (8081 .. 8087) {
 	$t->run_daemon(\&dns_daemon, port($_), $t);
 }
 $t->run();
 
-for (8 .. 14) {
+for (8081 .. 8087) {
 	$t->waitforfile($t->testdir . '/' . port($_));
 }
 
@@ -130,7 +131,7 @@ for (8 .. 14) {
 
 # PTR
 
-my $s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(1));
+my $s = Test::Nginx::SMTP->new();
 $s->read();
 $s->send('EHLO example.com');
 $s->read();
@@ -143,9 +144,9 @@ my $s = Test::Nginx::SMTP->new(PeerAddr 
 $s->send('QUIT');
 $s->read();
 
-# Cached PTR prevents from querying bad ns on the first port
+# Cached PTR prevents from querying bad ns on port 8083
 
-$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(1));
+$s = Test::Nginx::SMTP->new();
 $s->read();
 $s->send('EHLO example.com');
 $s->read();
@@ -160,7 +161,7 @@ my $s = Test::Nginx::SMTP->new(PeerAddr 
 
 # SERVFAIL
 
-$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(2));
+$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(8027));
 $s->read();
 $s->send('EHLO example.com');
 $s->read();
@@ -175,7 +176,7 @@ my $s = Test::Nginx::SMTP->new(PeerAddr 
 
 # PTR with zero length RDATA
 
-$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(3));
+$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(8028));
 $s->read();
 $s->send('EHLO example.com');
 $s->read();
@@ -193,7 +194,7 @@ my $s = Test::Nginx::SMTP->new(PeerAddr 
 TODO: {
 local $TODO = 'support for CNAME RR';
 
-$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(4));
+$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(8029));
 $s->read();
 $s->send('EHLO example.com');
 $s->read();
@@ -214,7 +215,7 @@ TODO: {
 local $TODO = 'support for uncompressed name in PTR'
 	unless $t->has_version('1.9.11');
 
-$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(5));
+$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(8030));
 $s->read();
 $s->send('EHLO example.com');
 $s->read();
@@ -232,7 +233,7 @@ local $TODO = 'support for uncompressed 
 TODO: {
 local $TODO = 'PTR type checking' unless $t->has_version('1.9.11');
 
-$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(6));
+$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(8031));
 $s->read();
 $s->send('EHLO example.com');
 $s->read();
@@ -252,7 +253,7 @@ local $TODO = 'PTR type checking' unless
 TODO: {
 local $TODO = 'not yet' unless $t->has_version('1.9.11');
 
-$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(7));
+$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(8032));
 $s->read();
 $s->send('EHLO example.com');
 $s->read();
@@ -308,34 +309,34 @@ sub reply_handler {
 		push @rdata, rd_addr($ttl, '127.0.0.1');
 
 	} elsif ($name eq '1.0.0.127.in-addr.arpa' && $type == PTR) {
-		if ($port == port(8)) {
+		if ($port == port(8081)) {
 			push @rdata, rd_name(PTR, $ttl, 'a.example.net');
 
-		} elsif ($port == port(9)) {
+		} elsif ($port == port(8082)) {
 			$rcode = SERVFAIL;
 
-		} elsif ($port == port(10)) {
+		} elsif ($port == port(8083)) {
 			# zero length RDATA
 
 			push @rdata, pack("n3N n", 0xc00c, PTR, IN, $ttl, 0);
 
-		} elsif ($port == port(11)) {
+		} elsif ($port == port(8084)) {
 			# PTR answered with CNAME
 
 			push @rdata, rd_name(CNAME, $ttl,
 				'1.1.0.0.127.in-addr.arpa');
 
-		} elsif ($port == port(12)) {
+		} elsif ($port == port(8085)) {
 			# uncompressed answer
 
 			push @rdata, pack("(C/a*)6x n2N n(C/a*)3x",
 				('1', '0', '0', '127', 'in-addr', 'arpa'),
 				PTR, IN, $ttl, 15, ('a', 'example', 'net'));
 
-		} elsif ($port == port(13)) {
+		} elsif ($port == port(8086)) {
 			push @rdata, rd_name(DNAME, $ttl, 'a.example.net');
 
-		} elsif ($port == port(14)) {
+		} elsif ($port == port(8087)) {
 			# PTR answered with CNAME+PTR
 
 			push @rdata, rd_name(CNAME, $ttl,