summaryrefslogtreecommitdiffstats
path: root/mDNSResponder/unittests/DNSMessageTest.c
diff options
context:
space:
mode:
Diffstat (limited to 'mDNSResponder/unittests/DNSMessageTest.c')
-rw-r--r--mDNSResponder/unittests/DNSMessageTest.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/mDNSResponder/unittests/DNSMessageTest.c b/mDNSResponder/unittests/DNSMessageTest.c
new file mode 100644
index 00000000..fedfed3b
--- /dev/null
+++ b/mDNSResponder/unittests/DNSMessageTest.c
@@ -0,0 +1,50 @@
+#include "mDNSEmbeddedAPI.h"
+#include "DNSMessageTest.h"
+#include "../mDNSCore/DNSCommon.h"
+
+int SizeTest(void);
+int InitializeTest(void);
+int PutDomainNameAsLabels(void);
+int PutRData(void);
+int Finalize(void);
+
+
+DNSMessage *msg;
+
+
+UNITTEST_HEADER(DNSMessageTest)
+ UNITTEST_TEST(SizeTest)
+ UNITTEST_TEST(InitializeTest)
+ UNITTEST_TEST(Finalize)
+UNITTEST_FOOTER
+
+
+UNITTEST_HEADER(SizeTest)
+ msg = (DNSMessage *)malloc (sizeof(DNSMessage));
+ UNITTEST_ASSERT_RETURN(msg != NULL);
+
+ // message header should be 12 bytes
+ UNITTEST_ASSERT(sizeof(msg->h) == 12);
+UNITTEST_FOOTER
+
+
+UNITTEST_HEADER(InitializeTest)
+ // Initialize the message
+ InitializeDNSMessage(&msg->h, onesID, QueryFlags);
+
+ // Check that the message is initialized properly
+ UNITTEST_ASSERT(msg->h.numAdditionals == 0);
+ UNITTEST_ASSERT(msg->h.numAnswers == 0);
+ UNITTEST_ASSERT(msg->h.numQuestions == 0);
+ UNITTEST_ASSERT(msg->h.numAuthorities == 0);
+UNITTEST_FOOTER
+
+
+UNITTEST_HEADER(PutDomainNameAsLabels)
+
+UNITTEST_FOOTER
+
+UNITTEST_HEADER(Finalize)
+ UNITTEST_ASSERT_RETURN(msg != NULL)
+ free(msg);
+UNITTEST_FOOTER \ No newline at end of file