diff --git a/test/isinetaddr_test.c b/test/isinetaddr_test.c index e0589bb..325a78c 100644 --- a/test/isinetaddr_test.c +++ b/test/isinetaddr_test.c @@ -3,21 +3,44 @@ #include #include +const char *valid[] = { + "192.168.1.1", + "0.0.0.0", + "255.255.255.255", + "123.45.67.89" +}; + +const char *invalid[] = { + "192.168.500.1", + ".192.168.1.1", + "192..168.1.1", + "192.168.1.1.", + "192.168.1.1..", + "192.168.1.1a", + "555555555555555555555555555555555", + "" +}; + int main(void) { - /* Assertions */ - assert(isinetaddr("192.168.1.1") == 1); - assert(isinetaddr("0.0.0.0") == 1); - assert(isinetaddr("255.255.255.255") == 1); - assert(isinetaddr("123.45.67.89") == 1); - assert(isinetaddr("192.168.500.1") == 0); - assert(isinetaddr(".192.168.1.1") == 0); - assert(isinetaddr("192..168.1.1") == 0); - assert(isinetaddr("192.168.1.1.") == 0); - assert(isinetaddr("192.168.1.1..") == 0); - assert(isinetaddr("192.168.1.1a") == 0); - assert(isinetaddr("") == 0); - /* Record success */ + size_t len; + /* IPv4: valid */ + len = sizeof(valid) / sizeof(valid[0]); + for(size_t i = 0; i < len; i++) { + if (isinetaddr(valid[i]) != 1) { + fprintf(stderr, "assertion failed: '%s' should be valid\n", valid[i]); + abort(); + } + } + /* IPv4: invalid */ + len = sizeof(invalid) / sizeof(invalid[0]); + for(size_t i = 0; i < len; i++) { + if (isinetaddr(invalid[i]) != 0) { + fprintf(stderr, "assertion failed: '%s' should NOT be valid\n", invalid[i]); + abort(); + } + } + /* Done */ printf("OK\n"); return EXIT_SUCCESS; }