]> granicus.if.org Git - pdns/commitdiff
Fix testrunner for out-of-tree builds
authorChristian Hofstaedtler <christian@hofstaedtler.name>
Mon, 26 Jan 2015 22:54:35 +0000 (23:54 +0100)
committerChristian Hofstaedtler <christian@hofstaedtler.name>
Mon, 26 Jan 2015 22:54:35 +0000 (23:54 +0100)
pdns/Makefile.am
pdns/test-bindparser_cc.cc
pdns/test-zoneparser_tng_cc.cc

index 4d439dbc59810eac22129f8702157d5f9e4bf2c0..299159bbcee00d68123d713d610f65fd5ed2369c 100644 (file)
@@ -1006,7 +1006,7 @@ pdns_control_SOURCES = \
 pdns_control_LDFLAGS = $(THREADFLAGS)
 
 if UNIT_TESTS
-TESTS_ENVIRONMENT = env BOOST_TEST_LOG_LEVEL=message
+TESTS_ENVIRONMENT = env BOOST_TEST_LOG_LEVEL=message SRCDIR='$(srcdir)'
 TESTS=testrunner
 else
 check-local:
index b1111cbda1dcbb0c95fb97e56be2ea9e49240456..039a04449265c9419136c53d78ae5f462e792d0f 100644 (file)
@@ -7,15 +7,20 @@
 #include "pdnsexception.hh"
 #include <utility>
 #include <boost/foreach.hpp>
+#include <sstream>
+#include <cstdlib>
 
 using std::string;
 
 BOOST_AUTO_TEST_SUITE(bindparser_cc)
 
 BOOST_AUTO_TEST_CASE(test_parser) {
+        std::ostringstream pathbuf;
         BindParser BP;
         BOOST_CHECK_THROW( BP.parse("../regression-tests/named.confx"), PDNSException);
-        BP.parse("../pdns/named.conf.parsertest"); // indirect path because Jenkins runs us from ../regression-tests/
+        BP.setVerbose(true);
+        pathbuf << std::getenv("SRCDIR") << "/../pdns/named.conf.parsertest";
+        BP.parse(pathbuf.str());
 
         vector<BindDomainInfo> domains=BP.getDomains();
         BOOST_CHECK_EQUAL(domains.size(), 11);
index 08bab18f1265fc13f6f3560e5f50aea96279ad69..270c7fd87404743377c8dee97e6e0e14eaf62bb2 100644 (file)
@@ -11,6 +11,7 @@
 #include "zoneparser-tng.hh"
 #include "dnsrecords.hh"
 #include <fstream>
+#include <cstdlib>
 
 BOOST_AUTO_TEST_SUITE(test_zoneparser_tng_cc)
 
@@ -18,10 +19,12 @@ BOOST_AUTO_TEST_CASE(test_tng_record_types) {
   reportAllTypes();
   reportFancyTypes();
 
-  ZoneParserTNG zp("../regression-tests/zones/unit.test", "unit.test");
+  std::ostringstream pathbuf;
+  pathbuf << std::getenv("SRCDIR") << "/../regression-tests/zones/unit.test";
+  ZoneParserTNG zp(pathbuf.str(), "unit.test");
   DNSResourceRecord rr;
 
-  boost::iostreams::stream<boost::iostreams::file_source> ifs("../regression-tests/zones/unit.test");
+  boost::iostreams::stream<boost::iostreams::file_source> ifs(pathbuf.str());
 
   while(zp.get(rr)) {
     // make sure these concur.