Browse Source

[1258] simplified test cases a bit by extended factoryFromFile() so that
it can optionally accept parse options.

JINMEI Tatuya 13 years ago
parent
commit
e89895b7e5
2 changed files with 17 additions and 18 deletions
  1. 14 15
      src/lib/dns/tests/message_unittest.cc
  2. 3 3
      src/lib/dns/tests/testdata/Makefile.am

+ 14 - 15
src/lib/dns/tests/message_unittest.cc

@@ -118,16 +118,20 @@ protected:
     vector<unsigned char> received_data;
     vector<unsigned char> expected_data;
 
-    void factoryFromFile(Message& message, const char* datafile);
+    void factoryFromFile(Message& message, const char* datafile,
+                         Message::ParseOptions options =
+                         Message::PARSE_DEFAULT);
 };
 
 void
-MessageTest::factoryFromFile(Message& message, const char* datafile) {
+MessageTest::factoryFromFile(Message& message, const char* datafile,
+                             Message::ParseOptions options)
+{
     received_data.clear();
     UnitTestUtil::readWireData(datafile, received_data);
 
     InputBuffer buffer(&received_data[0], received_data.size());
-    message.fromWire(buffer);
+    message.fromWire(buffer, options);
 }
 
 TEST_F(MessageTest, headerFlag) {
@@ -606,9 +610,7 @@ TEST_F(MessageTest, fromWireCombineRRs) {
     // This message contains 3 RRs in the answer section in the order of
     // A, AAAA, A types.  fromWire() should combine the two A RRs into a
     // single RRset by default.
-    UnitTestUtil::readWireData("message_fromWire19.wire", received_data);
-    InputBuffer buffer(&received_data[0], received_data.size());
-    message_parse.fromWire(buffer);
+    factoryFromFile(message_parse, "message_fromWire19.wire");
 
     RRsetIterator it = message_parse.beginSection(Message::SECTION_ANSWER);
     RRsetIterator it_end = message_parse.endSection(Message::SECTION_ANSWER);
@@ -649,9 +651,8 @@ TEST_F(MessageTest, fromWirePreserveAnswer) {
     // Using the same data as the previous test, but specify the PRESERVE_ORDER
     // option.  The received order of RRs should be preserved, and each RR
     // should be stored in a single RRset.
-    UnitTestUtil::readWireData("message_fromWire19.wire", received_data);
-    InputBuffer buffer(&received_data[0], received_data.size());
-    message_parse.fromWire(buffer, Message::PRESERVE_ORDER);
+    factoryFromFile(message_parse, "message_fromWire19.wire",
+                    Message::PRESERVE_ORDER);
     {
         SCOPED_TRACE("preserve answer RRs");
         preserveRRCheck(message_parse, Message::SECTION_ANSWER);
@@ -660,9 +661,8 @@ TEST_F(MessageTest, fromWirePreserveAnswer) {
 
 TEST_F(MessageTest, fromWirePreserveAuthority) {
     // Same for the previous test, but for the authority section.
-    UnitTestUtil::readWireData("message_fromWire20.wire", received_data);
-    InputBuffer buffer(&received_data[0], received_data.size());
-    message_parse.fromWire(buffer, Message::PRESERVE_ORDER);
+    factoryFromFile(message_parse, "message_fromWire20.wire",
+                    Message::PRESERVE_ORDER);
     {
         SCOPED_TRACE("preserve authority RRs");
         preserveRRCheck(message_parse, Message::SECTION_AUTHORITY);
@@ -671,9 +671,8 @@ TEST_F(MessageTest, fromWirePreserveAuthority) {
 
 TEST_F(MessageTest, fromWirePreserveAdditional) {
     // Same for the previous test, but for the additional section.
-    UnitTestUtil::readWireData("message_fromWire21.wire", received_data);
-    InputBuffer buffer(&received_data[0], received_data.size());
-    message_parse.fromWire(buffer, Message::PRESERVE_ORDER);
+    factoryFromFile(message_parse, "message_fromWire21.wire",
+                    Message::PRESERVE_ORDER);
     {
         SCOPED_TRACE("preserve additional RRs");
         preserveRRCheck(message_parse, Message::SECTION_ADDITIONAL);

+ 3 - 3
src/lib/dns/tests/testdata/Makefile.am

@@ -7,8 +7,8 @@ BUILT_SOURCES += message_fromWire12.wire message_fromWire13.wire
 BUILT_SOURCES += message_fromWire14.wire message_fromWire15.wire
 BUILT_SOURCES += message_fromWire16.wire message_fromWire17.wire
 BUILT_SOURCES += message_fromWire18.wire message_fromWire19.wire
-BUILT_SOURCES += message_fromWire19.wire message_fromWire20.wire
-BUILT_SOURCES += message_fromWire21.wire
+BUILT_SOURCES += message_fromWire20.wire message_fromWire21.wire
+BUILT_SOURCES += message_fromWire22.wire
 BUILT_SOURCES += message_toWire2.wire message_toWire3.wire
 BUILT_SOURCES += message_toWire4.wire message_toWire5.wire
 BUILT_SOURCES += message_toText1.wire message_toText2.wire
@@ -74,7 +74,7 @@ EXTRA_DIST += message_fromWire13.spec message_fromWire14.spec
 EXTRA_DIST += message_fromWire15.spec message_fromWire16.spec
 EXTRA_DIST += message_fromWire17.spec message_fromWire18.spec
 EXTRA_DIST += message_fromWire19.spec message_fromWire20.spec
-EXTRA_DIST += message_fromWire21.spec
+EXTRA_DIST += message_fromWire21.spec message_fromWire22.spec
 EXTRA_DIST += message_toWire1 message_toWire2.spec message_toWire3.spec
 EXTRA_DIST += message_toWire4.spec message_toWire5.spec
 EXTRA_DIST += message_toText1.txt message_toText1.spec