resolved: tests for dns_resource_record_equal(); LOC records

This commit is contained in:
James Coglan
2024-06-12 18:47:55 +01:00
committed by Luca Boccassi
parent a5c24c8757
commit bb9d1d63c1

View File

@@ -1395,6 +1395,142 @@ TEST(dns_resource_record_equal_txt_different_text) {
ASSERT_FALSE(dns_resource_record_equal(a, b));
}
/* ================================================================
* dns_resource_record_equal() : LOC
* ================================================================ */
TEST(dns_resource_record_equal_loc_copy) {
_cleanup_(dns_resource_record_unrefp) DnsResourceRecord *a = NULL, *b = NULL;
a = dns_resource_record_new_full(DNS_CLASS_IN, DNS_TYPE_LOC, "www.example.com");
ASSERT_NOT_NULL(a);
a->loc.version = 0;
a->loc.size = 0x29;
a->loc.horiz_pre = 0x34;
a->loc.vert_pre = 0x53;
a->loc.latitude = 2332887285;
a->loc.longitude = 2146974024;
a->loc.altitude = 10000000;
b = dns_resource_record_copy(a);
ASSERT_NOT_NULL(b);
ASSERT_TRUE(dns_resource_record_equal(a, b));
}
TEST(dns_resource_record_equal_loc_bad_size) {
_cleanup_(dns_resource_record_unrefp) DnsResourceRecord *a = NULL, *b = NULL;
a = dns_resource_record_new_full(DNS_CLASS_IN, DNS_TYPE_LOC, "www.example.com");
ASSERT_NOT_NULL(a);
a->loc.version = 0;
a->loc.size = 0x29;
a->loc.horiz_pre = 0x34;
a->loc.vert_pre = 0x53;
a->loc.latitude = 2332887285;
a->loc.longitude = 2146974024;
a->loc.altitude = 10000000;
b = dns_resource_record_copy(a);
ASSERT_NOT_NULL(b);
b->loc.size = 0x28;
ASSERT_FALSE(dns_resource_record_equal(a, b));
}
TEST(dns_resource_record_equal_loc_bad_horiz_pre) {
_cleanup_(dns_resource_record_unrefp) DnsResourceRecord *a = NULL, *b = NULL;
a = dns_resource_record_new_full(DNS_CLASS_IN, DNS_TYPE_LOC, "www.example.com");
ASSERT_NOT_NULL(a);
a->loc.version = 0;
a->loc.size = 0x29;
a->loc.horiz_pre = 0x34;
a->loc.vert_pre = 0x53;
a->loc.latitude = 2332887285;
a->loc.longitude = 2146974024;
a->loc.altitude = 10000000;
b = dns_resource_record_copy(a);
ASSERT_NOT_NULL(b);
b->loc.horiz_pre = 0x35;
ASSERT_FALSE(dns_resource_record_equal(a, b));
}
TEST(dns_resource_record_equal_loc_vert_pre) {
_cleanup_(dns_resource_record_unrefp) DnsResourceRecord *a = NULL, *b = NULL;
a = dns_resource_record_new_full(DNS_CLASS_IN, DNS_TYPE_LOC, "www.example.com");
ASSERT_NOT_NULL(a);
a->loc.version = 0;
a->loc.size = 0x29;
a->loc.horiz_pre = 0x34;
a->loc.vert_pre = 0x53;
a->loc.latitude = 2332887285;
a->loc.longitude = 2146974024;
a->loc.altitude = 10000000;
b = dns_resource_record_copy(a);
ASSERT_NOT_NULL(b);
b->loc.vert_pre = 0x54;
ASSERT_FALSE(dns_resource_record_equal(a, b));
}
TEST(dns_resource_record_equal_loc_bad_latitude) {
_cleanup_(dns_resource_record_unrefp) DnsResourceRecord *a = NULL, *b = NULL;
a = dns_resource_record_new_full(DNS_CLASS_IN, DNS_TYPE_LOC, "www.example.com");
ASSERT_NOT_NULL(a);
a->loc.version = 0;
a->loc.size = 0x29;
a->loc.horiz_pre = 0x34;
a->loc.vert_pre = 0x53;
a->loc.latitude = 2332887285;
a->loc.longitude = 2146974024;
a->loc.altitude = 10000000;
b = dns_resource_record_copy(a);
ASSERT_NOT_NULL(b);
b->loc.latitude = 2332887286;
ASSERT_FALSE(dns_resource_record_equal(a, b));
}
TEST(dns_resource_record_equal_loc_bad_longitude) {
_cleanup_(dns_resource_record_unrefp) DnsResourceRecord *a = NULL, *b = NULL;
a = dns_resource_record_new_full(DNS_CLASS_IN, DNS_TYPE_LOC, "www.example.com");
ASSERT_NOT_NULL(a);
a->loc.version = 0;
a->loc.size = 0x29;
a->loc.horiz_pre = 0x34;
a->loc.vert_pre = 0x53;
a->loc.latitude = 2332887285;
a->loc.longitude = 2146974024;
a->loc.altitude = 10000000;
b = dns_resource_record_copy(a);
ASSERT_NOT_NULL(b);
b->loc.longitude = 2146974023;
ASSERT_FALSE(dns_resource_record_equal(a, b));
}
TEST(dns_resource_record_equal_loc_bad_altitude) {
_cleanup_(dns_resource_record_unrefp) DnsResourceRecord *a = NULL, *b = NULL;
a = dns_resource_record_new_full(DNS_CLASS_IN, DNS_TYPE_LOC, "www.example.com");
ASSERT_NOT_NULL(a);
a->loc.version = 0;
a->loc.size = 0x29;
a->loc.horiz_pre = 0x34;
a->loc.vert_pre = 0x53;
a->loc.latitude = 2332887285;
a->loc.longitude = 2146974024;
a->loc.altitude = 10000000;
b = dns_resource_record_copy(a);
ASSERT_NOT_NULL(b);
b->loc.altitude = 10000001;
ASSERT_FALSE(dns_resource_record_equal(a, b));
}
/* ================================================================
* dns_resource_record_equal() : SRV
* ================================================================ */