Testsuite: DNS lookup notes
[users/jgh/exim.git] / test / scripts / 4600-SPF / 4600
index 825efb9595490bd79a1108edf440bd126635e432..8490288e19dd3a186c2a41c78b2e07de5ebaaa0c 100644 (file)
@@ -1,32 +1,32 @@
 # acl condition and variables
 #
 # acl condition and variables
 #
-# It is rather difficult to properly test spf.  We use libspf2 to do the work, and it
-# does the DNS lookups, so we cannot intercept them in the testsuite's usual fashion
-# to provide values for testcases.
+# The 127.0.0.1 source addr seems to be a builtin in the spf library; no dns lookup is done.
+# HOSTIPV4 does get a series of lookups (see server debug output to verify that).
 #
 #
-# For now just check that what should be working syntax does not cause us to fall over.
-# Be careful with envelope-domains used for testcases, as real DNS lookups will be done.
+# The libspf2 object stack is built with an exim-specific DNS lookup base object,
+# so the testsuite intercept to fakedns works.  Be careful of names and addresses
+# used, as nonhandled lookups are passed on to real DNS.
 #
 #
-exim -bd -DSERVER=server -oX PORT_D
+exim -bd -DSERVER=server -oX PORT_D:PORT_S:PORT_N
 ****
 ****
-client HOSTIPV4 PORT_D
+client 127.0.0.1 PORT_S
 ??? 220
 helo testclient
 ??? 250
 mail from:<a@example.com>
 ??? 250
 rcpt to:<fred@test.ex>
 ??? 220
 helo testclient
 ??? 250
 mail from:<a@example.com>
 ??? 250
 rcpt to:<fred@test.ex>
-??? 550
+??? 250
 quit
 ****
 quit
 ****
-client HOSTIPV4 PORT_D
+client HOSTIPV4 PORT_S
 ??? 220
 helo testclient
 ??? 250
 mail from:<b@test.example.com>
 ??? 250
 rcpt to:<fred@test.ex>
 ??? 220
 helo testclient
 ??? 250
 mail from:<b@test.example.com>
 ??? 250
 rcpt to:<fred@test.ex>
-??? 550
+??? 250
 quit
 ****
 client 127.0.0.1 PORT_D
 quit
 ****
 client 127.0.0.1 PORT_D
@@ -39,5 +39,25 @@ rcpt to:<fred@test.ex>
 ??? 250
 quit
 ****
 ??? 250
 quit
 ****
+client HOSTIPV4 PORT_D
+??? 220
+helo testclient
+??? 250
+mail from:<b@test.example.com>
+??? 250
+rcpt to:<fred@test.ex>
+??? 550
+quit
+****
+client 127.0.0.1 PORT_N
+??? 220
+helo testclient
+??? 250
+mail from:<c@example.com>
+??? 250
+rcpt to:<fred@test.ex>
+??? 550
+quit
+****
 #
 killdaemon
 #
 killdaemon