Ejemplo n.º 1
0
static bool test_normal_case() {
	emit_test("Is normal input identified correctly?");
	char* input = strdup( "66.184.142.51" );
	emit_input_header();
	emit_param("IP", input);
	struct in_addr ip;
	unsigned char* byte = (unsigned char*) &ip;
	int result = is_ipaddr( input, &ip );
	free( input );
	emit_output_expected_header();
	emit_param("IP", "%d.%d.%d.%d", 66, 184, 142, 51);
	emit_retval("%s", tfstr(TRUE));
	emit_output_actual_header();
	emit_param("IP", "%d.%d.%d.%d", *byte, *(byte+1), *(byte+2), *(byte+3));
	emit_retval("%s", tfstr(result));
	if(result != TRUE || *byte != 66 || *(byte+1) != 184 || *(byte+2) != 142 || *(byte+3) != 51) {
		FAIL;
	}
	PASS;
}
Ejemplo n.º 2
0
static bool test_normal_case() {
	emit_test("Is normal input converted correctly?");
	struct sockaddr_in sa_in;
	char* input = strdup("<192.168.0.2:80?param1=value1&param2=value2>");
	int result = string_to_sin(input, &sa_in);
	emit_input_header();
	emit_param("STRING", input);
	free(input);
	emit_output_expected_header();
	emit_retval("%s", tfstr(TRUE));
	emit_param("sockaddr_in.in_addr", "192.168.0.2");
	emit_param("sockaddr_in.port", "80");
	emit_output_actual_header();
	emit_retval("%s", tfstr(result));
	unsigned char* byte = (unsigned char*) &sa_in.sin_addr;
	int port = ntohs(sa_in.sin_port);
	emit_param("sockaddr_in.in_addr", "%d.%d.%d.%d", *byte, *(byte+1), *(byte+2), *(byte+3));
	emit_param("sockaddr_in.port", "%d", port);
	if(result != 1 || port != 80 || !utest_sock_eq_octet(&(sa_in.sin_addr), 192, 168, 0, 2) ) {
		FAIL;
	}
	PASS;
}
Ejemplo n.º 3
0
static bool test_normal_case() {
	emit_test("Is normal input converted correctly?");
#ifdef WIN32
	unsigned long address = inet_addr("192.168.0.2");
	if(address == INADDR_NONE || address == INADDR_ANY) {
#else
	in_addr ip;
	if(inet_aton("192.168.0.2", &ip) == 0) {
#endif
		emit_alert("inet_aton() returned failure.");
		ABORT;
	}
	unsigned int port = 47;
	emit_input_header();
	emit_param("IP", "192.168.0.2");
	emit_param("PORT", "47");
	emit_output_expected_header();
	char* expected = strdup("<192.168.0.2:47>");
	emit_retval(expected);
	emit_output_actual_header();
	sockaddr_in sa_in;
#ifdef WIN32
	sa_in.sin_addr.s_addr = address;
#else
	sa_in.sin_addr.s_addr = ip.s_addr;
#endif
	sa_in.sin_port = htons(port);
	char* sinstring = sin_to_string(&sa_in);
	emit_retval(sinstring);
	if(strcmp(expected, sinstring) != 0) {
		free(expected);
		free(sinstring);
		FAIL;
	}
	free(expected);
	PASS;
}
Ejemplo n.º 4
0
static bool tokenize_multiple_calls() {
	emit_test("Test multiple calls to GetNextToken().");
	const char *a = "To  be or not to be; that is the question";
	Tokenize(a);
	const char* expectedTokens[] = {"To", "", "be", "or", "not", "to", "be", ""
		, "that", "is", "the", "question"};
	const char* resultToken0 = GetNextToken(" ;", false);
	const char* resultToken1 = GetNextToken(" ;", false);
	const char* resultToken2 = GetNextToken(" ;", false);
	const char* resultToken3 = GetNextToken(" ;", false);
	const char* resultToken4 = GetNextToken(" ;", false);
	const char* resultToken5 = GetNextToken(" ;", false);
	const char* resultToken6 = GetNextToken(" ;", false);
	const char* resultToken7 = GetNextToken(" ;", false);
	const char* resultToken8 = GetNextToken(" ;", false);
	const char* resultToken9 = GetNextToken(" ;", false);
	const char* resultToken10 = GetNextToken(" ;", false);
	const char* resultToken11 = GetNextToken(" ;", false);
	emit_input_header();
	emit_param("delim", "%s", " ;");
	emit_param("skipBlankTokens", "%d", false);
	emit_output_expected_header();
	emit_param("Token 1", "%s", expectedTokens[0]);
	emit_param("Token 2", "%s", expectedTokens[1]);
	emit_param("Token 3", "%s", expectedTokens[2]);
	emit_param("Token 4", "%s", expectedTokens[3]);
	emit_param("Token 5", "%s", expectedTokens[4]);
	emit_param("Token 6", "%s", expectedTokens[5]);
	emit_param("Token 7", "%s", expectedTokens[6]);
	emit_param("Token 8", "%s", expectedTokens[7]);
	emit_param("Token 9", "%s", expectedTokens[8]);
	emit_param("Token 10", "%s", expectedTokens[9]);
	emit_param("Token 11", "%s", expectedTokens[10]);
	emit_param("Token 12", "%s", expectedTokens[11]);
	emit_output_actual_header();
	emit_param("Token 1", "%s", resultToken0);
	emit_param("Token 2", "%s", resultToken1);
	emit_param("Token 3", "%s", resultToken2);
	emit_param("Token 4", "%s", resultToken3);
	emit_param("Token 5", "%s", resultToken4);
	emit_param("Token 6", "%s", resultToken5);
	emit_param("Token 7", "%s", resultToken6);
	emit_param("Token 8", "%s", resultToken7);
	emit_param("Token 9", "%s", resultToken8);
	emit_param("Token 10", "%s", resultToken9);
	emit_param("Token 11", "%s", resultToken10);
	emit_param("Token 12", "%s", resultToken11);
	if(strcmp(expectedTokens[0], resultToken0) != MATCH || 
			strcmp(expectedTokens[1], resultToken1) != MATCH ||
			strcmp(expectedTokens[2], resultToken2) != MATCH ||
			strcmp(expectedTokens[3], resultToken3) != MATCH ||
			strcmp(expectedTokens[4], resultToken4) != MATCH ||
			strcmp(expectedTokens[5], resultToken5) != MATCH ||
			strcmp(expectedTokens[6], resultToken6) != MATCH ||
			strcmp(expectedTokens[7], resultToken7) != MATCH ||
			strcmp(expectedTokens[8], resultToken8) != MATCH ||
			strcmp(expectedTokens[9], resultToken9) != MATCH ||
			strcmp(expectedTokens[10], resultToken10) != MATCH ||
			strcmp(expectedTokens[11], resultToken11) != MATCH) {
		FAIL;
	}
	PASS;
}