Commit | Line | Data |
---|---|---|
b2441318 | 1 | // SPDX-License-Identifier: GPL-2.0 |
fd20e811 | 2 | #include <inttypes.h> |
9808143b JO |
3 | #include <linux/compiler.h> |
4 | #include <linux/types.h> | |
8520a98d | 5 | #include <string.h> |
9808143b | 6 | #include "tests.h" |
58db1d6e | 7 | #include "units.h" |
9808143b JO |
8 | #include "debug.h" |
9 | ||
33f44bfd | 10 | static int test__unit_number__scnprint(struct test_suite *t __maybe_unused, int subtest __maybe_unused) |
9808143b JO |
11 | { |
12 | struct { | |
13 | u64 n; | |
14 | const char *str; | |
15 | } test[] = { | |
16 | { 1, "1B" }, | |
17 | { 10*1024, "10K" }, | |
18 | { 20*1024*1024, "20M" }, | |
19 | { 30*1024*1024*1024ULL, "30G" }, | |
20 | { 0, "0B" }, | |
21 | { 0, NULL }, | |
22 | }; | |
23 | unsigned i = 0; | |
24 | ||
25 | while (test[i].str) { | |
26 | char buf[100]; | |
27 | ||
28 | unit_number__scnprintf(buf, sizeof(buf), test[i].n); | |
29 | ||
30 | pr_debug("n %" PRIu64 ", str '%s', buf '%s'\n", | |
31 | test[i].n, test[i].str, buf); | |
32 | ||
33 | if (strcmp(test[i].str, buf)) | |
34 | return TEST_FAIL; | |
35 | ||
36 | i++; | |
37 | } | |
38 | ||
39 | return TEST_OK; | |
40 | } | |
d68f0365 IR |
41 | |
42 | DEFINE_SUITE("unit_number__scnprintf", unit_number__scnprint); |