From: Aki Tuomi Date: Sun, 25 Jan 2015 22:02:00 +0000 (+0200) Subject: Try serialize invalid values to test certain assertions during serialization X-Git-Tag: rec-3.7.0-rc2~29^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a213d1dc949a07ff9816c8640256dd3270093753;p=thirdparty%2Fpdns.git Try serialize invalid values to test certain assertions during serialization --- diff --git a/pdns/test-dnsrecords_cc.cc b/pdns/test-dnsrecords_cc.cc index e43ce1441d..102bc02605 100644 --- a/pdns/test-dnsrecords_cc.cc +++ b/pdns/test-dnsrecords_cc.cc @@ -254,10 +254,13 @@ BOOST_AUTO_TEST_CASE(test_record_types_bad_values) { BOOST_TEST_CHECKPOINT("Checking bad value for record type " << q.getName() << " test #" << n); BOOST_TEST_MESSAGE("Checking bad value for record type " << q.getName() << " test #" << n); + vector packet; + DNSPacketWriter pw(packet, "unit.test", q.getCode()); + if (val.get<2>()) { - BOOST_WARN_EXCEPTION( DNSRecordContent::mastermake(q.getCode(), 1, val.get<1>()), std::runtime_error, test_dnsrecords_cc_predicate ); + BOOST_WARN_EXCEPTION( { DNSRecordContent* drc = DNSRecordContent::mastermake(q.getCode(), 1, val.get<1>()); pw.startRecord("unit.test", q.getCode()); drc->toPacket(pw); }, std::runtime_error, test_dnsrecords_cc_predicate ); } else { - BOOST_CHECK_EXCEPTION( DNSRecordContent::mastermake(q.getCode(), 1, val.get<1>()), std::runtime_error, test_dnsrecords_cc_predicate ); + BOOST_CHECK_EXCEPTION( { DNSRecordContent* drc = DNSRecordContent::mastermake(q.getCode(), 1, val.get<1>()); pw.startRecord("unit.test", q.getCode()); drc->toPacket(pw); }, std::runtime_error, test_dnsrecords_cc_predicate ); } }; }