master
c 51 lines 1.34 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 #include "../../libnetdata.h"
4 #include <setjmp.h>
5 #include <cmocka.h>
6
7 static void test_number_printing(void **state)
8 {
9 (void)state;
10
11 char value[50];
12
13 print_netdata_double(value, 0);
14 assert_string_equal(value, "0");
15
16 print_netdata_double(value, 0.0000001);
17 assert_string_equal(value, "0.0000001");
18
19 print_netdata_double(value, 0.00000009);
20 assert_string_equal(value, "0.0000001");
21
22 print_netdata_double(value, 0.000000001);
23 assert_string_equal(value, "0");
24
25 print_netdata_double(value, 99.99999999999999999);
26 assert_string_equal(value, "100");
27
28 print_netdata_double(value, -99.99999999999999999);
29 assert_string_equal(value, "-100");
30
31 print_netdata_double(value, 123.4567890123456789);
32 assert_string_equal(value, "123.456789");
33
34 print_netdata_double(value, 9999.9999999);
35 assert_string_equal(value, "9999.9999999");
36
37 print_netdata_double(value, -9999.9999999);
38 assert_string_equal(value, "-9999.9999999");
39
40 print_netdata_double(value, unpack_storage_number(pack_storage_number(16.777218L, SN_DEFAULT_FLAGS)));
41 assert_string_equal(value, "16.77722");
42 }
43
44 int main(void)
45 {
46 const struct CMUnitTest tests[] = {
47 cmocka_unit_test(test_number_printing)
48 };
49
50 return cmocka_run_group_tests_name("storage_number", tests, NULL, NULL);
51 }