memset(&tm, 0, sizeof(tm));
tm.tm_year = year - 1900;
- tm.tm_mon = month;
+ tm.tm_mon = month - 1;
tm.tm_mday = day;
mystdtime = timegm(&tm) ;
}
new = dns_update_soaserial(old, dns_updatemethod_unixtime);
ATF_REQUIRE_EQ(isc_serial_lt(old, new), ISC_TRUE);
ATF_CHECK(new != 0);
- ATF_REQUIRE_EQ(new, old+1);
+ ATF_REQUIRE_EQ(new, old + 1);
dns_test_end();
}
new = dns_update_soaserial(old, dns_updatemethod_unixtime);
ATF_REQUIRE_EQ(isc_serial_lt(old, new), ISC_TRUE);
ATF_CHECK(new != 0);
- ATF_REQUIRE_EQ(new, old+1);
+ ATF_REQUIRE_EQ(new, old + 1);
dns_test_end();
}
new = dns_update_soaserial(old, dns_updatemethod_unixtime);
ATF_REQUIRE_EQ(isc_serial_lt(old, new), ISC_TRUE);
ATF_CHECK(new != 0);
- ATF_REQUIRE_EQ(new, old+1);
+ ATF_REQUIRE_EQ(new, old + 1);
dns_test_end();
}
new = dns_update_soaserial(old, dns_updatemethod_unixtime);
ATF_REQUIRE_EQ(isc_serial_lt(old, new), ISC_TRUE);
ATF_CHECK(new != 0);
- ATF_REQUIRE_EQ(new, old+1);
+ ATF_REQUIRE_EQ(new, old + 1);
dns_test_end();
}
new = dns_update_soaserial(old, dns_updatemethod_unixtime);
ATF_REQUIRE_EQ(isc_serial_lt(old, new), ISC_TRUE);
ATF_CHECK(new != 0);
- ATF_REQUIRE_EQ(new, old+1);
+ ATF_REQUIRE_EQ(new, old + 1);
+ dns_test_end();
+}
+
+ATF_TC(past_to_date);
+ATF_TC_HEAD(past_to_date, tc) {
+ atf_tc_set_md_var(tc, "descr", "past to date");
+}
+ATF_TC_BODY(past_to_date, tc) {
+ isc_uint32_t old, new;
+ isc_result_t result;
+
+ UNUSED(tc);
+
+ set_mystdtime(2014, 3, 31);
+ old = dns_update_soaserial(0, dns_updatemethod_date);
+ set_mystdtime(2014, 4, 1);
+
+ result = dns_test_begin(NULL, ISC_FALSE);
+ ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+ new = dns_update_soaserial(old, dns_updatemethod_date);
+ ATF_REQUIRE_EQ(isc_serial_lt(old, new), ISC_TRUE);
+ ATF_CHECK(new != 0);
+ ATF_REQUIRE_EQ(new, 2014040100);
+ dns_test_end();
+}
+
+ATF_TC(now_to_date);
+ATF_TC_HEAD(now_to_date, tc) {
+ atf_tc_set_md_var(tc, "descr", "now to date");
+}
+ATF_TC_BODY(now_to_date, tc) {
+ isc_uint32_t old;
+ isc_uint32_t new;
+ isc_result_t result;
+
+ UNUSED(tc);
+
+ set_mystdtime(2014, 4, 1);
+ old = dns_update_soaserial(0, dns_updatemethod_date);
+
+ result = dns_test_begin(NULL, ISC_FALSE);
+ ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+ new = dns_update_soaserial(old, dns_updatemethod_date);
+ ATF_REQUIRE_EQ(isc_serial_lt(old, new), ISC_TRUE);
+ ATF_CHECK(new != 0);
+ ATF_REQUIRE_EQ(new, 2014040101);
+ dns_test_end();
+}
+
+ATF_TC(future_to_date);
+ATF_TC_HEAD(future_to_date, tc) {
+ atf_tc_set_md_var(tc, "descr", "future to date");
+}
+ATF_TC_BODY(future_to_date, tc) {
+ isc_uint32_t old;
+ isc_uint32_t new;
+ isc_result_t result;
+
+ UNUSED(tc);
+
+ set_mystdtime(2014, 4, 1);
+ old = dns_update_soaserial(0, dns_updatemethod_date);
+ set_mystdtime(2014, 3, 31);
+
+ result = dns_test_begin(NULL, ISC_FALSE);
+ ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+ new = dns_update_soaserial(old, dns_updatemethod_date);
+ ATF_REQUIRE_EQ(isc_serial_lt(old, new), ISC_TRUE);
+ ATF_CHECK(new != 0);
+ ATF_REQUIRE_EQ(new, 2014040101);
dns_test_end();
}
ATF_TP_ADD_TC(tp, undefined_plus1_to_unix);
ATF_TP_ADD_TC(tp, undefined_minus1_to_unix);
ATF_TP_ADD_TC(tp, unixtime_zero);
+ ATF_TP_ADD_TC(tp, past_to_date);
+ ATF_TP_ADD_TC(tp, now_to_date);
+ ATF_TP_ADD_TC(tp, future_to_date);
return (atf_no_error());
}