]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: add support for in_addr_is_multicast tests
authorSusant Sahani <susant@redhat.com>
Thu, 23 Feb 2017 17:59:31 +0000 (23:29 +0530)
committerSusant Sahani <susant@redhat.com>
Fri, 24 Feb 2017 10:12:59 +0000 (15:42 +0530)
src/test/test-socket-util.c

index d80613dc8459a5d13bc9aa2cf74bed3cb6063827..8ac1d7989fc9eee3f454b50ac9f9f5facfb6af12 100644 (file)
@@ -456,6 +456,23 @@ static void test_sockaddr_un_len(void) {
         assert_se(SOCKADDR_UN_LEN(abstract) == offsetof(struct sockaddr_un, sun_path) + 1 + strlen(abstract.sun_path + 1));
 }
 
+static void test_in_addr_is_multicast(void) {
+        union in_addr_union a, b;
+        int f;
+
+        assert_se(in_addr_from_string_auto("192.168.3.11", &f, &a) >= 0);
+        assert_se(in_addr_is_multicast(f, &a) == 0);
+
+        assert_se(in_addr_from_string_auto("224.0.0.1", &f, &a) >= 0);
+        assert_se(in_addr_is_multicast(f, &a) == 1);
+
+        assert_se(in_addr_from_string_auto("FF01:0:0:0:0:0:0:1", &f, &b) >= 0);
+        assert_se(in_addr_is_multicast(f, &b) == 1);
+
+        assert_se(in_addr_from_string_auto("2001:db8::c:69b:aeff:fe53:743e", &f, &b) >= 0);
+        assert_se(in_addr_is_multicast(f, &b) == 0);
+}
+
 int main(int argc, char *argv[]) {
 
         log_set_max_level(LOG_DEBUG);
@@ -482,5 +499,7 @@ int main(int argc, char *argv[]) {
 
         test_sockaddr_un_len();
 
+        test_in_addr_is_multicast();
+
         return 0;
 }