Exemplo n.º 1
0
static void test_parse_port_string(void) {
  static const char *valid[] = {
    "1", "1s", "1r", "1.2.3.4:1", "1.2.3.4:1s", "1.2.3.4:1r",
#if defined(USE_IPV6)
    "[::1]:123", "[3ffe:2a00:100:7031::1]:900",
#endif
    NULL
  };
  static const char *invalid[] = {
    "0", "99999", "1k", "1.2.3", "1.2.3.4:", "1.2.3.4:2p",
    NULL
  };
  struct socket so;
  struct vec vec;
  int i;

  for (i = 0; valid[i] != NULL; i++) {
    vec.ptr = valid[i];
    vec.len = strlen(vec.ptr);
    ASSERT(parse_port_string(&vec, &so) != 0);
  }

  for (i = 0; invalid[i] != NULL; i++) {
    vec.ptr = invalid[i];
    vec.len = strlen(vec.ptr);
    ASSERT(parse_port_string(&vec, &so) == 0);
  }
}
Exemplo n.º 2
0
END_TEST


START_TEST(test_parse_port_string)
{
	/* Adapted from unit_test.c */
	/* Copyright (c) 2013-2015 the Civetweb developers */
	/* Copyright (c) 2004-2013 Sergey Lyubka */
	static const char *valid[] =
	{ "0",
	  "1",
	  "1s",
	  "1r",
	  "1.2.3.4:1",
	  "1.2.3.4:1s",
	  "1.2.3.4:1r",
#if defined(USE_IPV6)
	  "[::1]:123",
	  "[::]:80",
	  "[3ffe:2a00:100:7031::1]:900",
	  "+80",
#endif
	  NULL };
	static const char *invalid[] = {
	    "99999", "1k", "1.2.3", "1.2.3.4:", "1.2.3.4:2p", NULL};
	struct socket so;
	struct vec vec;
	int ip_family;
	int i;

	for (i = 0; valid[i] != NULL; i++) {
		vec.ptr = valid[i];
		vec.len = strlen(vec.ptr);
		ip_family = 123;
		ck_assert_int_ne(parse_port_string(&vec, &so, &ip_family), 0);
		if (i < 7) {
			ck_assert_int_eq(ip_family, 4);
		} else if (i < 10) {
			ck_assert_int_eq(ip_family, 6);
		} else {
			ck_assert_int_eq(ip_family, 4 + 6);
		}
	}

	for (i = 0; invalid[i] != NULL; i++) {
		vec.ptr = invalid[i];
		vec.len = strlen(vec.ptr);
		ip_family = 123;
		ck_assert_int_eq(parse_port_string(&vec, &so, &ip_family), 0);
		ck_assert_int_eq(ip_family, 0);
	}
}
Exemplo n.º 3
0
static const char *test_parse_port_string(void) {
  static const char *valid[] = {
    "1", "1.2.3.4:1",
#if defined(USE_IPV6)
    "[::1]:123", "[3ffe:2a00:100:7031::1]:900",
#endif
    NULL
  };
  static const char *invalid[] = {
    "0", "99999", "1k", "1.2.3", "1.2.3.4:", "1.2.3.4:2p", NULL
  };
  union socket_address sa;
  int i;

  for (i = 0; valid[i] != NULL; i++) {
    ASSERT(parse_port_string(valid[i], &sa) != 0);
  }

  for (i = 0; invalid[i] != NULL; i++) {
    ASSERT(parse_port_string(invalid[i], &sa) == 0);
  }

  return NULL;
}