Esempio n. 1
0
void check_token(const char *input, unsigned int input_size,
		 unsigned int *pos,
		 const char *expected_result, unsigned int expected_pos)
{
	char result[80];

	lex_look_ahead(input, input_size, pos, result, sizeof(result));
	check_unsigned_ints(*pos, expected_pos, "expected pos");
	check_strs(result, expected_result, "token");
}
Esempio n. 2
0
void check_depth(unsigned int check_num, names_stack *stack,
		 const char *name, unsigned int depth)
{
	unsigned int actual_depth;
	char buf[MAX_TO_STRING];

	sprintf(buf, "check %u: ", check_num);

	stack_to_string(stack, buf + strlen(buf), MAX_TO_STRING - strlen(buf));
	actual_depth = stack_name_pos(stack, name);
	check_unsigned_ints(actual_depth, depth, buf);
}
Esempio n. 3
0
void test_str_nlen()
{
	const char *input = "foo";
	const char *input2 = "fo\0bar";
	const char *input3 = "";
	unsigned int result, expected_result;

	result = str_nlen(input, sizeof(input));
	expected_result = strlen(input);
	check_unsigned_ints(result, expected_result, "compare with libc");
	check_unsigned_int(result, 3);

	result = str_nlen(input2, sizeof(input2));
	expected_result = strlen(input2);
	check_unsigned_int(result, expected_result);

	result = str_nlen(input3, sizeof(input3));
	expected_result = strlen(input3);
	check_unsigned_int(result, expected_result);

	result = str_nlen(input, 2);
	check_unsigned_ints(result, 2, "limit to 2 not 3");
}
Esempio n. 4
0
void test_two_level_stack(void)
{
	names_stack *stack;
	unsigned int check_num;

	check_num = 0;
	stack = stack_new();

	stack_enter(stack);

	check_depth(check_num++, stack, "foo", 0);
	check_depth(check_num++, stack, "bar", 0);
	check_depth(check_num++, stack, "baz", 0);
	check_unsigned_int(stack_frame_size(stack), 0);

	stack_name_add(stack, "foo");
	stack_name_add(stack, "bar");

	check_depth(check_num++, stack, "foo", 1);
	check_depth(check_num++, stack, "bar", 2);
	check_depth(check_num++, stack, "baz", 0);
	check_unsigned_ints(stack_frame_size(stack), 2, "1");

	stack_enter(stack);
	check_unsigned_ints(stack_frame_size(stack), 0, "2");
	stack_name_add(stack, "baz");
	check_unsigned_ints(stack_frame_size(stack), 1, "3");
	stack_name_add(stack, "foo");
	check_unsigned_ints(stack_frame_size(stack), 2, "4");

	check_depth(check_num++, stack, "foo", 2);
	check_depth(check_num++, stack, "bar", 0);
	check_depth(check_num++, stack, "baz", 1);

	stack_leave(stack);
	check_unsigned_ints(stack_frame_size(stack), 2, "5");

	check_depth(check_num++, stack, "foo", 1);
	check_depth(check_num++, stack, "bar", 2);
	check_depth(check_num++, stack, "baz", 0);

	stack_leave(stack);
	check_unsigned_ints(stack_frame_size(stack), 0, "6");

	check_depth(check_num++, stack, "foo", 0);
	check_depth(check_num++, stack, "bar", 0);
	check_depth(check_num++, stack, "baz", 0);

	stack_destroy(stack);
}
Esempio n. 5
0
void check_expected_calls(ecc_context *ctx, const char *test_name,
                          const char **expected_calls, unsigned int count)
{

    mock_data *data = (mock_data *)ctx->data;
    unsigned int i, len;
    char buf[10000];

    sprintf(buf, "%s:\nexpected_calls {\n", test_name);
    for (i = 0; i < count; i++) {
        len = strlen(buf);
        sprintf(&buf[len], "%d:\t%s\n", i, expected_calls[i]);
    }
    len = strlen(buf);
    sprintf(&buf[len], "}\n");
    len = strlen(buf);
    ctx->to_string(ctx, &buf[len], sizeof(buf) - len);

    check_unsigned_ints(data->calls, count, buf);
    for (i = 0; i < count; i++) {
        check_strs(data->call[i], expected_calls[i], buf);
    }
}