2 * Copyright (C) 2015 EfficiOS Inc.
4 * SPDX-License-Identifier: GPL-2.0-only
14 #include <common/utils.hpp>
17 int lttng_opt_quiet
= 1;
18 int lttng_opt_verbose
= 3;
22 struct valid_test_input
{
24 uint64_t expected_result
;
27 /* Valid test cases */
28 struct valid_test_input valid_tests_inputs
[] = {
36 { "20m", 1200000000 },
38 { "5h", 18000000000 },
56 const int num_valid_tests
= sizeof(valid_tests_inputs
) / sizeof(valid_tests_inputs
[0]);
58 /* Invalid test cases */
59 const char *invalid_tests_inputs
[] = {
64 "4611686018427387904s",
80 "14ms garbage after value",
91 const int num_invalid_tests
= sizeof(invalid_tests_inputs
) / sizeof(invalid_tests_inputs
[0]);
94 static void test_utils_parse_time_suffix(void)
100 /* Test valid cases */
101 for (i
= 0; i
< num_valid_tests
; i
++) {
104 ret
= utils_parse_time_suffix(valid_tests_inputs
[i
].input
, &result
);
105 sprintf(name
, "valid test case: %s expected %" PRIu64
, valid_tests_inputs
[i
].input
, result
);
106 ok(ret
== 0 && result
== valid_tests_inputs
[i
].expected_result
, "%s", name
);
109 /* Test invalid cases */
110 for (i
= 0; i
< num_invalid_tests
; i
++) {
113 sprintf(name
, "invalid test case: %s", invalid_tests_inputs
[i
]);
115 ret
= utils_parse_time_suffix(invalid_tests_inputs
[i
], &result
);
116 ok(ret
!= 0, "%s", name
);
122 plan_tests(num_valid_tests
+ num_invalid_tests
);
124 diag("utils_parse_time_suffix tests");
126 test_utils_parse_time_suffix();
128 return exit_status();