rcpgenerator.cc ednssubnet.cc nsecrecords.cc sillyrecords.cc dnssecinfra.cc \
test-base64_cc.cc test-iputils_hh.cc test-dns_random_hh.cc dns_random.cc \
test-rcpgenerator_cc.cc responsestats.cc test-bindparser_cc.cc \
- bindparser.cc bindlexer.c dns.cc
+ bindparser.cc bindlexer.c test-zoneparser_tng_cc.cc zoneparser-tng.hh \
+ zoneparser-tng.cc dns.cc
testrunner_LDFLAGS= @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS)
testrunner_LDADD= $(POLARSSL_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIBS)
--- /dev/null
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_NO_MAIN
+#include <boost/test/unit_test.hpp>
+#include <boost/assign/list_of.hpp>
+#include <boost/foreach.hpp>
+#include <boost/tuple/tuple.hpp>
+#include <boost/iostreams/stream.hpp>
+#include <boost/iostreams/device/file.hpp>
+#include <boost/lexical_cast.hpp>
+#include "dns.hh"
+#include "zoneparser-tng.hh"
+#include <fstream>
+
+BOOST_AUTO_TEST_SUITE(test_zoneparser_tng_cc)
+
+BOOST_AUTO_TEST_CASE(test_tng_record_types) {
+ ZoneParserTNG zp("../regression-tests/zones/unit.test", "unit.test");
+ DNSResourceRecord rr;
+
+ boost::iostreams::stream<boost::iostreams::file_source> ifs("../regression-tests/zones/unit.test");
+
+ while(zp.get(rr)) {
+ // make sure these concur.
+ std::string host, type, data;
+ int ttl;
+ std::getline(ifs, host, ' ');
+ std::getline(ifs, type, ' ');
+ ttl = boost::lexical_cast<int>(type);
+ std::getline(ifs, type, ' ');
+ std::getline(ifs, type, ' ');
+ std::getline(ifs, data, '\n');
+ // see if these agree
+ BOOST_CHECK_EQUAL(rr.qname, host);
+ BOOST_CHECK_EQUAL(rr.ttl, ttl);
+ BOOST_CHECK_EQUAL(rr.qtype.getName(), type);
+ BOOST_CHECK_EQUAL(rr.getZoneRepresentation(), data);
+ }
+
+}
+
+BOOST_AUTO_TEST_SUITE_END();
--- /dev/null
+unit.test. 300 IN SOA ns.unit.test. hostmaster.unit.test. 1 3600 1200 604800 300
+unit.test. 300 IN NS ns.unit.test.
+unit.test. 300 IN MX 30 mx.unit.test.
+unit.test. 300 IN A 1.2.3.4
+root.mx.unit.test. 300 IN MX 20 .
+root.srv.unit.test. 300 IN SRV 10 10 5060 .
+naptr-a.unit.test. 300 IN NAPTR 100 10 "" "" "/urn:cid:.+@([^\.]+\.)(.*)$/\2/i" .
+naptr-b.unit.test. 300 IN NAPTR 100 50 "s" "http+I2L+I2C+I2R" "" _http._tcp.rec.test.
+unit.test. 300 IN SOA ns.unit.test. hostmaster.unit.test. 1 3600 1200 604800 300