Line | Branch | Exec | Source |
---|---|---|---|
1 | #include "gate/tests.h" | ||
2 | #include "test_apps.h" | ||
3 | #include "gate/applications.h" | ||
4 | |||
5 | 1 | GATE_TEST_FUNCTION(test_apps_parse_args) | |
6 | { | ||
7 | static gate_string_t const argset1 = GATE_STRING_INIT_STATIC("arg1 arg2 arg3 arg4 "); | ||
8 | static gate_string_t const argset2 = GATE_STRING_INIT_STATIC("arg1 \"arg2 arg3\" arg4"); | ||
9 | static gate_string_t const argset3 = GATE_STRING_INIT_STATIC("arg1 \"arg2\\\"arg3\" arg4"); | ||
10 | static gate_string_t const argset4 = GATE_STRING_INIT_STATIC("arg1 \"arg2\\\\arg3\" arg4"); | ||
11 | static gate_string_t const argset5 = GATE_STRING_INIT_STATIC("arg1 arg2\\arg3 arg4"); | ||
12 | |||
13 | char buffer[GATE_MAX_COPYBUFFER_LENGTH]; | ||
14 | char const* parsed_args[256]; | ||
15 | gate_string_t parsed_arg_str[10]; | ||
16 | 1 | gate_size_t parsed_args_capacity = sizeof(parsed_args) / sizeof(parsed_args[0]); | |
17 | gate_size_t parsed_args_count; | ||
18 | |||
19 | |||
20 | 1 | GATE_TEST_UNIT_BEGIN(test_apps_parse_args); | |
21 | |||
22 | 1 | parsed_args_count = gate_app_parse_args_buffer(&argset1, buffer, sizeof(buffer), parsed_args, parsed_args_capacity); | |
23 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | GATE_TEST_REQUIRE_EQUAL(parsed_args_count, 4); |
24 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[0], "arg1"), 0); |
25 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[1], "arg2"), 0); |
26 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[2], "arg3"), 0); |
27 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[3], "arg4"), 0); |
28 | |||
29 | 1 | parsed_args_count = gate_app_parse_args(&argset1, &parsed_arg_str[0], sizeof(parsed_arg_str) / sizeof(parsed_arg_str[0])); | |
30 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | GATE_TEST_REQUIRE_EQUAL(parsed_args_count, 4); |
31 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_string_equals_str(&parsed_arg_str[0], "arg1"), true); |
32 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_string_equals_str(&parsed_arg_str[1], "arg2"), true); |
33 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_string_equals_str(&parsed_arg_str[2], "arg3"), true); |
34 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_string_equals_str(&parsed_arg_str[3], "arg4"), true); |
35 | 1 | gate_string_release(&parsed_arg_str[0]); | |
36 | 1 | gate_string_release(&parsed_arg_str[1]); | |
37 | 1 | gate_string_release(&parsed_arg_str[2]); | |
38 | 1 | gate_string_release(&parsed_arg_str[3]); | |
39 | |||
40 | 1 | parsed_args_count = gate_app_parse_args_buffer(&argset2, buffer, sizeof(buffer), parsed_args, parsed_args_capacity); | |
41 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | GATE_TEST_REQUIRE_EQUAL(parsed_args_count, 3); |
42 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[0], "arg1"), 0); |
43 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[1], "arg2 arg3"), 0); |
44 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[2], "arg4"), 0); |
45 | |||
46 | 1 | parsed_args_count = gate_app_parse_args_buffer(&argset3, buffer, sizeof(buffer), parsed_args, parsed_args_capacity); | |
47 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | GATE_TEST_REQUIRE_EQUAL(parsed_args_count, 3); |
48 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[0], "arg1"), 0); |
49 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[1], "arg2\"arg3"), 0); |
50 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[2], "arg4"), 0); |
51 | |||
52 | 1 | parsed_args_count = gate_app_parse_args_buffer(&argset4, buffer, sizeof(buffer), parsed_args, parsed_args_capacity); | |
53 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | GATE_TEST_REQUIRE_EQUAL(parsed_args_count, 3); |
54 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[0], "arg1"), 0); |
55 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[1], "arg2\\arg3"), 0); |
56 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[2], "arg4"), 0); |
57 | |||
58 | 1 | parsed_args_count = gate_app_parse_args_buffer(&argset5, buffer, sizeof(buffer), parsed_args, parsed_args_capacity); | |
59 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | GATE_TEST_REQUIRE_EQUAL(parsed_args_count, 3); |
60 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[0], "arg1"), 0); |
61 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[1], "arg2\\arg3"), 0); |
62 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATE_TEST_CHECK_EQUAL(gate_str_comp(parsed_args[2], "arg4"), 0); |
63 | |||
64 | 1 | GATE_TEST_UNIT_END; | |
65 | } | ||
66 | |||
67 | 1 | GATE_TEST_FUNCTION(test_apps) | |
68 | { | ||
69 | 1 | gate_bool_t result = true; | |
70 | |||
71 | 1 | result |= test_apps_parse_args(); | |
72 | |||
73 | 1 | return result; | |
74 | } | ||
75 |