2 * Copyright (C) 2013 Simon Marchi <simon.marchi@polymtl.ca>
4 * SPDX-License-Identifier: GPL-2.0-only
13 #include <common/utils.h>
16 int lttng_opt_quiet
= 1;
17 int lttng_opt_verbose
= 3;
20 struct valid_test_input
{
22 uint64_t expected_result
;
25 /* Valid test cases */
26 static struct valid_test_input valid_tests_inputs
[] = {
33 { "0x1234k", 4771840 },
35 { "1024G", 1099511627776ULL },
58 { "0X40G", 68719476736ULL },
62 { "020G", 17179869184ULL },
65 { "0XA0M", 167772160 },
66 { "0xA0G", 171798691840ULL },
68 static const int num_valid_tests
= sizeof(valid_tests_inputs
) / sizeof(valid_tests_inputs
[0]);
70 /* Invalid test cases */
71 static const char *invalid_tests_inputs
[] = {
76 "4611686018427387904G",
93 static const int num_invalid_tests
= sizeof(invalid_tests_inputs
) / sizeof(invalid_tests_inputs
[0]);
95 static void test_utils_parse_size_suffix(void)
101 /* Test valid cases */
102 for (i
= 0; i
< num_valid_tests
; i
++) {
104 sprintf(name
, "valid test case: %s", valid_tests_inputs
[i
].input
);
106 ret
= utils_parse_size_suffix(valid_tests_inputs
[i
].input
, &result
);
107 ok(ret
== 0 && result
== valid_tests_inputs
[i
].expected_result
, name
);
110 /* Test invalid cases */
111 for (i
= 0; i
< num_invalid_tests
; i
++) {
113 sprintf(name
, "invalid test case: %s", invalid_tests_inputs
[i
]);
115 ret
= utils_parse_size_suffix(invalid_tests_inputs
[i
], &result
);
120 int main(int argc
, char **argv
)
122 plan_tests(num_valid_tests
+ num_invalid_tests
);
124 diag("utils_parse_size_suffix tests");
126 test_utils_parse_size_suffix();
128 return exit_status();