2 * Copyright (C) 2013 Simon Marchi <simon.marchi@polymtl.ca>
4 * SPDX-License-Identifier: GPL-2.0-only
14 #include <common/utils.h>
17 int lttng_opt_quiet
= 1;
18 int lttng_opt_verbose
= 3;
21 struct valid_test_input
{
23 uint64_t expected_result
;
26 /* Valid test cases */
27 static 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 static const int num_valid_tests
= sizeof(valid_tests_inputs
) / sizeof(valid_tests_inputs
[0]);
71 /* Invalid test cases */
72 static const char *invalid_tests_inputs
[] = {
77 "4611686018427387904G",
94 static const int num_invalid_tests
= sizeof(invalid_tests_inputs
) / sizeof(invalid_tests_inputs
[0]);
96 static void test_utils_parse_size_suffix(void)
102 /* Test valid cases */
103 for (i
= 0; i
< num_valid_tests
; i
++) {
105 sprintf(name
, "valid test case: %s", valid_tests_inputs
[i
].input
);
107 ret
= utils_parse_size_suffix(valid_tests_inputs
[i
].input
, &result
);
108 ok(ret
== 0 && result
== valid_tests_inputs
[i
].expected_result
, name
);
111 /* Test invalid cases */
112 for (i
= 0; i
< num_invalid_tests
; i
++) {
114 sprintf(name
, "invalid test case: %s", invalid_tests_inputs
[i
]);
116 ret
= utils_parse_size_suffix(invalid_tests_inputs
[i
], &result
);
121 int main(int argc
, char **argv
)
123 plan_tests(num_valid_tests
+ num_invalid_tests
);
125 diag("utils_parse_size_suffix tests");
127 test_utils_parse_size_suffix();
129 return exit_status();