127
129
/* Unepxected end of file test */
128
ATF_TC(master_unexpected);
129
ATF_TC_HEAD(master_unexpected, tc) {
131
ATF_TC_HEAD(unexpected, tc) {
130
132
atf_tc_set_md_var(tc, "descr", "dns_master_loadfile() returns "
131
133
"DNS_R_UNEXPECTED when file ends "
134
ATF_TC_BODY(master_unexpected, tc) {
136
ATF_TC_BODY(unexpected, tc) {
135
137
isc_result_t result;
217
/* Too big rdata test */
219
ATF_TC_HEAD(toobig, tc) {
220
atf_tc_set_md_var(tc, "descr", "dns_master_loadfile() returns "
221
"ISC_R_NOSPACE when record is too big");
223
ATF_TC_BODY(toobig, tc) {
228
result = dns_test_begin(NULL, ISC_FALSE);
229
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
231
result = test_master("testdata/master/master15.data");
232
ATF_REQUIRE_EQ(result, ISC_R_NOSPACE);
237
/* Maximum rdata test */
239
ATF_TC_HEAD(maxrdata, tc) {
240
atf_tc_set_md_var(tc, "descr", "dns_master_loadfile() returns "
241
"ISC_R_SUCCESS when record is maximum "
244
ATF_TC_BODY(maxrdata, tc) {
249
result = dns_test_begin(NULL, ISC_FALSE);
250
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
252
result = test_master("testdata/master/master16.data");
253
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
215
258
/* DNSKEY test */
216
ATF_TC(master_dnskey);
217
ATF_TC_HEAD(master_dnskey, tc) {
260
ATF_TC_HEAD(dnskey, tc) {
218
261
atf_tc_set_md_var(tc, "descr", "dns_master_loadfile() understands "
219
262
"DNSKEY with key material");
221
ATF_TC_BODY(master_dnskey, tc) {
264
ATF_TC_BODY(dnskey, tc) {
222
265
isc_result_t result;
297
340
/* Non-empty blank lines test */
298
ATF_TC(master_blanklines);
299
ATF_TC_HEAD(master_blanklines, tc) {
342
ATF_TC_HEAD(blanklines, tc) {
300
343
atf_tc_set_md_var(tc, "descr", "dns_master_loadfile() handles "
301
344
"non-empty blank lines");
303
ATF_TC_BODY(master_blanklines, tc) {
346
ATF_TC_BODY(blanklines, tc) {
304
347
isc_result_t result;
317
360
/* SOA leading zeroes test */
318
ATF_TC(master_leadingzero);
319
ATF_TC_HEAD(master_leadingzero, tc) {
362
ATF_TC_HEAD(leadingzero, tc) {
320
363
atf_tc_set_md_var(tc, "descr", "dns_master_loadfile() allows "
321
364
"leading zeroes in SOA");
323
ATF_TC_BODY(master_leadingzero, tc) {
366
ATF_TC_BODY(leadingzero, tc) {
324
367
isc_result_t result;
381
ATF_TC_HEAD(totext, tc) {
382
atf_tc_set_md_var(tc, "descr", "masterfile totext tests");
384
ATF_TC_BODY(totext, tc) {
386
dns_rdataset_t rdataset;
387
dns_rdatalist_t rdatalist;
389
unsigned char buf[BIGBUFLEN];
393
result = dns_test_begin(NULL, ISC_FALSE);
394
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
396
/* First, test with an empty rdataset */
397
rdatalist.rdclass = dns_rdataclass_in;
398
rdatalist.type = dns_rdatatype_none;
399
rdatalist.covers = dns_rdatatype_none;
401
ISC_LIST_INIT(rdatalist.rdata);
402
ISC_LINK_INIT(&rdatalist, link);
404
dns_rdataset_init(&rdataset);
405
result = dns_rdatalist_tordataset(&rdatalist, &rdataset);
406
ATF_CHECK_EQ(result, ISC_R_SUCCESS);
408
isc_buffer_init(&target, buf, BIGBUFLEN);
409
result = dns_master_rdatasettotext(dns_rootname,
410
&rdataset, &dns_master_style_debug,
412
ATF_CHECK_EQ(result, ISC_R_SUCCESS);
413
ATF_CHECK_EQ(isc_buffer_usedlength(&target), 0);
416
* XXX: We will also need to add tests for dumping various
417
* rdata types, classes, etc, and comparing the results against
340
427
ATF_TP_ADD_TCS(tp) {
341
ATF_TP_ADD_TC(tp, master_load);
342
ATF_TP_ADD_TC(tp, master_unexpected);
343
ATF_TP_ADD_TC(tp, master_noowner);
344
ATF_TP_ADD_TC(tp, master_nottl);
345
ATF_TP_ADD_TC(tp, master_badclass);
346
ATF_TP_ADD_TC(tp, master_dnskey);
347
ATF_TP_ADD_TC(tp, master_dnsnokey);
348
ATF_TP_ADD_TC(tp, master_include);
349
ATF_TP_ADD_TC(tp, master_includefail);
350
ATF_TP_ADD_TC(tp, master_blanklines);
351
ATF_TP_ADD_TC(tp, master_leadingzero);
428
ATF_TP_ADD_TC(tp, load);
429
ATF_TP_ADD_TC(tp, unexpected);
430
ATF_TP_ADD_TC(tp, noowner);
431
ATF_TP_ADD_TC(tp, nottl);
432
ATF_TP_ADD_TC(tp, badclass);
433
ATF_TP_ADD_TC(tp, dnskey);
434
ATF_TP_ADD_TC(tp, dnsnokey);
435
ATF_TP_ADD_TC(tp, include);
436
ATF_TP_ADD_TC(tp, includefail);
437
ATF_TP_ADD_TC(tp, blanklines);
438
ATF_TP_ADD_TC(tp, leadingzero);
439
ATF_TP_ADD_TC(tp, totext);
440
ATF_TP_ADD_TC(tp, toobig);
441
ATF_TP_ADD_TC(tp, maxrdata);
353
443
return (atf_no_error());