2 * Copyright (C) 2013 EfficiOS Inc.
4 * SPDX-License-Identifier: GPL-2.0-only
13 #include <common/utils.hpp>
16 int lttng_opt_quiet
= 1;
17 int lttng_opt_verbose
= 3;
21 struct valid_test_input
{
23 uint64_t expected_result
;
26 /* Valid test cases */
27 struct valid_test_input valid_tests_inputs
[] = {
34 { "0x1234k", 4771840 },
36 { "1024G", 1099511627776ULL },
59 { "0X40G", 68719476736ULL },
63 { "020G", 17179869184ULL },
66 { "0XA0M", 167772160 },
67 { "0xA0G", 171798691840ULL },
69 const int num_valid_tests
= sizeof(valid_tests_inputs
) / sizeof(valid_tests_inputs
[0]);
71 /* Invalid test cases */
72 const char *invalid_tests_inputs
[] = {
77 "4611686018427387904G",
94 const int num_invalid_tests
= sizeof(invalid_tests_inputs
) / sizeof(invalid_tests_inputs
[0]);
97 static void test_utils_parse_size_suffix(void)
103 /* Test valid cases */
104 for (i
= 0; i
< num_valid_tests
; i
++) {
106 sprintf(name
, "valid test case: %s", valid_tests_inputs
[i
].input
);
108 ret
= utils_parse_size_suffix(valid_tests_inputs
[i
].input
, &result
);
109 ok(ret
== 0 && result
== valid_tests_inputs
[i
].expected_result
, "%s", name
);
112 /* Test invalid cases */
113 for (i
= 0; i
< num_invalid_tests
; i
++) {
115 sprintf(name
, "invalid test case: %s", invalid_tests_inputs
[i
]);
117 ret
= utils_parse_size_suffix(invalid_tests_inputs
[i
], &result
);
118 ok(ret
!= 0, "%s", name
);
124 plan_tests(num_valid_tests
+ num_invalid_tests
);
126 diag("utils_parse_size_suffix tests");
128 test_utils_parse_size_suffix();
130 return exit_status();