From 5f3d09836c17cb80a1953196c98371ed70396903 Mon Sep 17 00:00:00 2001 From: "Heiko Schlittermann (HS12)" Date: Tue, 12 May 2015 22:01:08 +0200 Subject: [PATCH] Testsuite: locate fakens relative to the config_main_directory This makes the test configs more intuitive, because the spool_directory=SPOOL/spool does not need to be there anymore, except we really need a spool directory. --- src/src/dns.c | 10 +++++----- test/src/fakens.c | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/src/dns.c b/src/src/dns.c index 24f3522c7..f19d23b4c 100644 --- a/src/src/dns.c +++ b/src/src/dns.c @@ -81,8 +81,8 @@ if (len >= 13 && Ustrcmp(endname - 13, "test.fail.dns") == 0) /* Look for the fakens utility, and if it exists, call it. */ -(void)string_format(utilname, sizeof(utilname), "%s/../bin/fakens", - spool_directory); +(void)string_format(utilname, sizeof(utilname), "%s/bin/fakens", + config_main_directory); if (stat(CS utilname, &statbuf) >= 0) { @@ -90,11 +90,11 @@ if (stat(CS utilname, &statbuf) >= 0) int infd, outfd, rc; uschar *argv[5]; - DEBUG(D_dns) debug_printf("DNS lookup of %s (%s) using fakens\n", - name, dns_text_type(type)); + DEBUG(D_dns) debug_printf("DNS lookup of %s (%s) using fakens `%s'\n", + name, dns_text_type(type), utilname); argv[0] = utilname; - argv[1] = spool_directory; + argv[1] = config_main_directory; argv[2] = name; argv[3] = dns_text_type(type); argv[4] = NULL; diff --git a/test/src/fakens.c b/test/src/fakens.c index fc7848e77..33bfe4f3e 100644 --- a/test/src/fakens.c +++ b/test/src/fakens.c @@ -7,8 +7,8 @@ avoids the need to install special zones in a real nameserver. When Exim is running in its (new) test harness, DNS lookups are first passed to this program instead of to the real resolver. (With a few exceptions - see the discussion in the test suite's README file.) The program is also passed the name of the Exim -spool directory; it expects to find its "zone files" in ../dnszones relative to -that directory. Note that there is little checking in this program. The fake +spool directory; it expects to find its "zone files" in dnszones relative to +exim config_main_directory. Note that there is little checking in this program. The fake zone files are assumed to be syntactically valid. The zones that are handled are found by scanning the dnszones directory. A file @@ -601,7 +601,7 @@ if (argc != 4) /* Find the zones */ -(void)sprintf(CS buffer, "%s/../dnszones", argv[1]); +(void)sprintf(CS buffer, "%s/dnszones", argv[1]); d = opendir(CCS buffer); if (d == NULL) @@ -672,7 +672,7 @@ if (zonefile == NULL) return PASS_ON; } -(void)sprintf(CS buffer, "%s/../dnszones/%s", argv[1], zonefile); +(void)sprintf(CS buffer, "%s/dnszones/%s", argv[1], zonefile); /* Initialize the start of the response packet. We don't have to fake up everything, because we know that Exim will look only at the answer and -- 2.25.1