Browse Source

[1818] Run lettuce tests in lockstep, checking availability of services (contd.)

Mukund Sivaraman 13 years ago
parent
commit
efc43a67d2

+ 1 - 7
tests/lettuce/configurations/example.org.inmem.config

@@ -2,13 +2,7 @@
     "Boss": {
         "components": {
             "b10-auth": {"kind": "needed", "special": "auth" },
-            "b10-xfrin": { "address": "Xfrin", "kind": "dispensable" },
-            "b10-xfrout": { "address": "Xfrout", "kind": "dispensable" },
-            "b10-zonemgr": { "address": "Zonemgr", "kind": "dispensable" },
-            "b10-stats": { "address": "Stats", "kind": "dispensable" },
-            "b10-stats-httpd": { "address": "StatsHttpd", "kind": "dispensable" },
-            "b10-cmdctl": { "special": "cmdctl", "kind": "needed" },
-            "b10-resolver": {"kind": "needed", "special": "resolver"}
+            "b10-cmdctl": { "special": "cmdctl", "kind": "needed" }
         }
     }
 }

+ 0 - 2
tests/lettuce/configurations/ixfr-out/testset1-config.db

@@ -5,8 +5,6 @@
             "b10-xfrin": { "address": "Xfrin", "kind": "dispensable" },
             "b10-xfrout": { "address": "Xfrout", "kind": "dispensable" },
             "b10-zonemgr": { "address": "Zonemgr", "kind": "dispensable" },
-            "b10-stats": { "address": "Stats", "kind": "dispensable" },
-            "b10-stats-httpd": { "address": "StatsHttpd", "kind": "dispensable" },
             "b10-cmdctl": { "special": "cmdctl", "kind": "needed" }
         }
     }

+ 0 - 3
tests/lettuce/configurations/xfrin/retransfer_master.conf

@@ -22,11 +22,8 @@
     "Boss": {
         "components": {
             "b10-auth": {"kind": "needed", "special": "auth" },
-            "b10-xfrin": { "address": "Xfrin", "kind": "dispensable" },
             "b10-xfrout": { "address": "Xfrout", "kind": "dispensable" },
             "b10-zonemgr": { "address": "Zonemgr", "kind": "dispensable" },
-            "b10-stats": { "address": "Stats", "kind": "dispensable" },
-            "b10-stats-httpd": { "address": "StatsHttpd", "kind": "dispensable" },
             "b10-cmdctl": { "special": "cmdctl", "kind": "needed" }
         }
     }

+ 1 - 5
tests/lettuce/configurations/xfrin/retransfer_slave.conf

@@ -18,12 +18,8 @@
         "components": {
             "b10-auth": {"kind": "needed", "special": "auth" },
             "b10-xfrin": { "address": "Xfrin", "kind": "dispensable" },
-            "b10-xfrout": { "address": "Xfrout", "kind": "dispensable" },
             "b10-zonemgr": { "address": "Zonemgr", "kind": "dispensable" },
-            "b10-stats": { "address": "Stats", "kind": "dispensable" },
-            "b10-stats-httpd": { "address": "StatsHttpd", "kind": "dispensable" },
-            "b10-cmdctl": { "special": "cmdctl", "kind": "needed" },
-            "b10-resolver": {"kind": "needed", "special": "resolver"}
+            "b10-cmdctl": { "special": "cmdctl", "kind": "needed" }
         }
     }
 }

+ 7 - 7
tests/lettuce/features/default.feature

@@ -10,13 +10,13 @@ Feature: default bind10 config
 
     # These should be running
     bind10 module Boss should be running
-    bind10 module Logging should be running
-    bind10 module Stats should be running
-    bind10 module StatsHttpd should be running
+    And bind10 module Logging should be running
+    And bind10 module Stats should be running
+    And bind10 module StatsHttpd should be running
 
     # These should not be running
     bind10 module Resolver should not be running
-    bind10 module Xfrout should not be running
-    bind10 module Zonemgr should not be running
-    bind10 module Xfrin should not be running
-    bind10 module Auth should not be running
+    And bind10 module Xfrout should not be running
+    And bind10 module Zonemgr should not be running
+    And bind10 module Xfrin should not be running
+    And bind10 module Auth should not be running

+ 20 - 2
tests/lettuce/features/example.feature

@@ -13,6 +13,11 @@ Feature: Example feature
         And wait for bind10 stderr message AUTH_SERVER_STARTED
 
         bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
 
         A query for www.example.org should have rcode NOERROR
         A query for www.doesnotexist.org should have rcode REFUSED
@@ -38,6 +43,11 @@ Feature: Example feature
         And wait for bind10 stderr message AUTH_SERVER_STARTED
 
         bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
 
         # This is a general step to stop a named process. By convention,
         # the default name for any process is the same as the one we
@@ -65,6 +75,11 @@ Feature: Example feature
         And wait for bind10 stderr message AUTH_SERVER_STARTED
 
         bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
 
         # Some simple queries that is not examined further
         A query for www.example.com should have rcode REFUSED
@@ -133,6 +148,11 @@ Feature: Example feature
         And wait for bind10 stderr message AUTH_SERVER_STARTED
 
         bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
 
         A query for www.example.org should have rcode NOERROR
         Wait for new bind10 stderr message AUTH_SEND_NORMAL_RESPONSE
@@ -150,13 +170,11 @@ Feature: Example feature
         And wait for bind10_one stderr message BIND10_STARTED_CC
         And wait for bind10_one stderr message CMDCTL_STARTED
         And wait for bind10_one stderr message AUTH_SERVER_STARTED
-        Then wait for bind10 auth of bind10_one to start
 
         And I start bind10 with configuration example2.org.config with cmdctl port 47804 as bind10_two
         And wait for bind10_two stderr message BIND10_STARTED_CC
         And wait for bind10_two stderr message CMDCTL_STARTED
         And wait for bind10_two stderr message AUTH_SERVER_STARTED
-        Then wait for bind10 auth of bind10_two to start
 
         A query for www.example.org to 127.0.0.1:47806 should have rcode NOERROR
         A query for www.example.org to [::1]:47807 should have rcode NOERROR

+ 16 - 2
tests/lettuce/features/ixfr_out_bind10.feature

@@ -31,7 +31,14 @@ Feature: IXFR out
 
     Scenario: Test Set 1
         Given I have bind10 running with configuration ixfr-out/testset1-config.db
-        Then wait for bind10 xfrout to start
+
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+        And wait for bind10 stderr message XFROUT_STARTED
+        And wait for bind10 stderr message XFRIN_STARTED
+        And wait for bind10 stderr message ZONEMGR_STARTED
+
         The SOA serial for example.com should be 22
 
         #
@@ -146,7 +153,14 @@ Feature: IXFR out
 
     Scenario: Test Set 2
         Given I have bind10 running with configuration ixfr-out/testset1-config.db
-        Then wait for bind10 xfrout to start
+
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+        And wait for bind10 stderr message XFROUT_STARTED
+        And wait for bind10 stderr message XFRIN_STARTED
+        And wait for bind10 stderr message ZONEMGR_STARTED
+
         The SOA serial for example.com should be 22
 
         #

+ 5 - 5
tests/lettuce/features/multi_instance.feature

@@ -9,12 +9,12 @@ Feature: Multiple instances
 	And wait for bind10 stderr message CMDCTL_STARTED
 	And wait for bind10 stderr message AUTH_SERVER_STARTED
 
-        And bind10 module Auth should be running
+        bind10 module Auth should be running
         And bind10 module Resolver should not be running
-	bind10 module Xfrout should not be running
-	bind10 module Zonemgr should not be running
-	bind10 module Xfrin should not be running
-	bind10 module Stats should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
 
         A query for example.com should have rcode REFUSED
 

+ 154 - 0
tests/lettuce/features/nsec3_auth.feature

@@ -12,6 +12,17 @@ Feature: NSEC3 Authoritative service
 
     Scenario: B.1. Name Error
         Given I have bind10 running with configuration nsec3/nsec3_auth.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A dnssec query for a.c.x.w.example. should have rcode NXDOMAIN
         The last query response should have flags qr aa rd
         The last query response should have edns_flags do
@@ -32,6 +43,17 @@ Feature: NSEC3 Authoritative service
 
     Scenario: B.2. No Data Error
         Given I have bind10 running with configuration nsec3/nsec3_auth.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A dnssec query for ns1.example. type MX should have rcode NOERROR
         The last query response should have flags qr aa rd
         The last query response should have edns_flags do
@@ -48,6 +70,17 @@ Feature: NSEC3 Authoritative service
 
     Scenario: B2.1. No Data Error, Empty Non-Terminal
         Given I have bind10 running with configuration nsec3/nsec3_auth.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A dnssec query for y.w.example. should have rcode NOERROR
         The last query response should have flags qr aa rd
         The last query response should have edns_flags do
@@ -64,6 +97,17 @@ Feature: NSEC3 Authoritative service
 
     Scenario: B.3. Referral to an Opt-Out Unsigned Zone
         Given I have bind10 running with configuration nsec3/nsec3_auth.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A dnssec query for mc.c.example. type MX should have rcode NOERROR
         The last query response should have flags qr rd
         The last query response should have edns_flags do
@@ -87,6 +131,17 @@ Feature: NSEC3 Authoritative service
 
     Scenario: B.4. Wildcard Expansion
         Given I have bind10 running with configuration nsec3/nsec3_auth.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A dnssec query for a.z.w.example. type MX should have rcode NOERROR
         The last query response should have flags qr aa rd
         The last query response should have edns_flags do
@@ -122,6 +177,17 @@ Feature: NSEC3 Authoritative service
 
     Scenario: B.5. Wildcard No Data Error
         Given I have bind10 running with configuration nsec3/nsec3_auth.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A dnssec query for a.z.w.example. type AAAA should have rcode NOERROR
         The last query response should have flags qr aa rd
         The last query response should have edns_flags do
@@ -142,6 +208,17 @@ Feature: NSEC3 Authoritative service
 
     Scenario: B.6. DS Child Zone No Data Error
         Given I have bind10 running with configuration nsec3/nsec3_auth.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A dnssec query for example. type DS should have rcode NOERROR
         The last query response should have flags qr aa rd
         The last query response should have edns_flags do
@@ -162,6 +239,17 @@ Feature: NSEC3 Authoritative service
 
     Scenario: 7.2.2 other; Name Error where one NSEC3 covers multiple parts of proof (closest encloser)
         Given I have bind10 running with configuration nsec3/nsec3_auth.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A dnssec query for b.x.w.example. should have rcode NXDOMAIN
         The last query response should have flags qr aa rd
         The last query response should have edns_flags do
@@ -180,6 +268,17 @@ Feature: NSEC3 Authoritative service
 
     Scenario: 7.2.2 other; Name Error where one NSEC3 covers multiple parts of proof (wildcard)
         Given I have bind10 running with configuration nsec3/nsec3_auth.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A dnssec query for a.w.example. should have rcode NOERROR
         The last query response should have flags qr aa rd
         The last query response should have edns_flags do
@@ -198,6 +297,17 @@ Feature: NSEC3 Authoritative service
 
     Scenario: Wildcard other: Wildcard name itself
         Given I have bind10 running with configuration nsec3/nsec3_auth.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A dnssec query for *.w.example. type MX should have rcode NOERROR
         The last query response should have flags qr aa rd
         The last query response should have edns_flags do
@@ -229,6 +339,17 @@ Feature: NSEC3 Authoritative service
 
     Scenario: Wildcard other: Wildcard name itself nodata
         Given I have bind10 running with configuration nsec3/nsec3_auth.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A dnssec query for *.w.example. type A should have rcode NOERROR
         The last query response should have flags qr aa rd
         The last query response should have edns_flags do
@@ -245,6 +366,17 @@ Feature: NSEC3 Authoritative service
 
     Scenario: Direct query for NSEC3 record
         Given I have bind10 running with configuration nsec3/nsec3_auth.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A dnssec query for 0p9mhaveqvm6t7vbl5lop2u3t2rp3tom.example. type NSEC3 should have rcode NXDOMAIN
         The last query response should have flags qr aa rd
         The last query response should have edns_flags do
@@ -265,6 +397,17 @@ Feature: NSEC3 Authoritative service
 
     Scenario: No data, type DS, in-zone
         Given I have bind10 running with configuration nsec3/nsec3_auth.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A dnssec query for ai.example. type DS should have rcode NOERROR
         The last query response should have flags qr aa rd
         The last query response should have edns_flags do
@@ -281,6 +424,17 @@ Feature: NSEC3 Authoritative service
 
     Scenario: No data, type DS, optout delegation
         Given I have bind10 running with configuration nsec3/nsec3_auth.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A dnssec query for c.example. type DS should have rcode NOERROR
         The last query response should have flags qr aa rd
         The last query response should have edns_flags do

+ 22 - 0
tests/lettuce/features/queries.feature

@@ -5,6 +5,17 @@ Feature: Querying feature
 
     Scenario: Repeated queries
         Given I have bind10 running with configuration example.org.inmem.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A query for www.example.org should have rcode NOERROR
         The last query response should have flags qr aa rd
         The last query response should have ancount 1
@@ -61,6 +72,17 @@ Feature: Querying feature
 
     Scenario: ANY query
         Given I have bind10 running with configuration example.org.inmem.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Resolver should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
+
         A query for example.org type ANY should have rcode NOERROR
         The last query response should have flags qr aa rd
         The last query response should have ancount 4

+ 10 - 1
tests/lettuce/features/resolver_basic.feature

@@ -11,7 +11,16 @@ Feature: Basic Resolver
         # to be revised (as it would then leak, which is probably true
         # for any resolver system test)
         When I start bind10 with configuration resolver/resolver_basic.config
-        And wait for new bind10 stderr message RESOLVER_STARTED
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message RESOLVER_STARTED
+
+        bind10 module Resolver should be running
+        And bind10 module Auth should not be running
+	And bind10 module Xfrout should not be running
+	And bind10 module Zonemgr should not be running
+	And bind10 module Xfrin should not be running
+	And bind10 module Stats should not be running
 
         # The ACL is set to reject any queries
         A query for l.root-servers.net. should have rcode REFUSED

+ 12 - 0
tests/lettuce/features/xfrin_bind10.feature

@@ -3,7 +3,19 @@ Feature: Xfrin
     
     Scenario: Retransfer command
     Given I have bind10 running with configuration xfrin/retransfer_master.conf with cmdctl port 47804 as master
+    And wait for master stderr message BIND10_STARTED_CC
+    And wait for master stderr message CMDCTL_STARTED
+    And wait for master stderr message AUTH_SERVER_STARTED
+    And wait for master stderr message XFROUT_STARTED
+    And wait for master stderr message ZONEMGR_STARTED
+
     And I have bind10 running with configuration xfrin/retransfer_slave.conf
+    And wait for bind10 stderr message BIND10_STARTED_CC
+    And wait for bind10 stderr message CMDCTL_STARTED
+    And wait for bind10 stderr message AUTH_SERVER_STARTED
+    And wait for bind10 stderr message XFRIN_STARTED
+    And wait for bind10 stderr message ZONEMGR_STARTED
+
     A query for www.example.org should have rcode REFUSED
     Wait for bind10 stderr message CMDCTL_STARTED
     When I send bind10 the command Xfrin retransfer example.org IN ::1 47807