summaryrefslogtreecommitdiffstats
path: root/libnetdata/storage_number/tests
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 14:31:17 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 14:31:17 +0000
commit8020f71afd34d7696d7933659df2d763ab05542f (patch)
tree2fdf1b5447ffd8bdd61e702ca183e814afdcb4fc /libnetdata/storage_number/tests
parentInitial commit. (diff)
downloadnetdata-8020f71afd34d7696d7933659df2d763ab05542f.tar.xz
netdata-8020f71afd34d7696d7933659df2d763ab05542f.zip
Adding upstream version 1.37.1.upstream/1.37.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'libnetdata/storage_number/tests')
-rw-r--r--libnetdata/storage_number/tests/Makefile.am4
-rw-r--r--libnetdata/storage_number/tests/test_storage_number.c52
2 files changed, 56 insertions, 0 deletions
diff --git a/libnetdata/storage_number/tests/Makefile.am b/libnetdata/storage_number/tests/Makefile.am
new file mode 100644
index 0000000..babdcf0
--- /dev/null
+++ b/libnetdata/storage_number/tests/Makefile.am
@@ -0,0 +1,4 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+AUTOMAKE_OPTIONS = subdir-objects
+MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
diff --git a/libnetdata/storage_number/tests/test_storage_number.c b/libnetdata/storage_number/tests/test_storage_number.c
new file mode 100644
index 0000000..19309e5
--- /dev/null
+++ b/libnetdata/storage_number/tests/test_storage_number.c
@@ -0,0 +1,52 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#include "../../libnetdata.h"
+#include "../../required_dummies.h"
+#include <setjmp.h>
+#include <cmocka.h>
+
+static void test_number_printing(void **state)
+{
+ (void)state;
+
+ char value[50];
+
+ print_netdata_double(value, 0);
+ assert_string_equal(value, "0");
+
+ print_netdata_double(value, 0.0000001);
+ assert_string_equal(value, "0.0000001");
+
+ print_netdata_double(value, 0.00000009);
+ assert_string_equal(value, "0.0000001");
+
+ print_netdata_double(value, 0.000000001);
+ assert_string_equal(value, "0");
+
+ print_netdata_double(value, 99.99999999999999999);
+ assert_string_equal(value, "100");
+
+ print_netdata_double(value, -99.99999999999999999);
+ assert_string_equal(value, "-100");
+
+ print_netdata_double(value, 123.4567890123456789);
+ assert_string_equal(value, "123.456789");
+
+ print_netdata_double(value, 9999.9999999);
+ assert_string_equal(value, "9999.9999999");
+
+ print_netdata_double(value, -9999.9999999);
+ assert_string_equal(value, "-9999.9999999");
+
+ print_netdata_double(value, unpack_storage_number(pack_storage_number(16.777218L, SN_DEFAULT_FLAGS)));
+ assert_string_equal(value, "16.77722");
+}
+
+int main(void)
+{
+ const struct CMUnitTest tests[] = {
+ cmocka_unit_test(test_number_printing)
+ };
+
+ return cmocka_run_group_tests_name("storage_number", tests, NULL, NULL);
+}