forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
761 B
40 lines
761 B
// SPDX-License-Identifier: GPL-2.0 |
|
#include <inttypes.h> |
|
#include <linux/compiler.h> |
|
#include <linux/types.h> |
|
#include <string.h> |
|
#include "tests.h" |
|
#include "units.h" |
|
#include "debug.h" |
|
|
|
int test__unit_number__scnprint(struct test *t __maybe_unused, int subtest __maybe_unused) |
|
{ |
|
struct { |
|
u64 n; |
|
const char *str; |
|
} test[] = { |
|
{ 1, "1B" }, |
|
{ 10*1024, "10K" }, |
|
{ 20*1024*1024, "20M" }, |
|
{ 30*1024*1024*1024ULL, "30G" }, |
|
{ 0, "0B" }, |
|
{ 0, NULL }, |
|
}; |
|
unsigned i = 0; |
|
|
|
while (test[i].str) { |
|
char buf[100]; |
|
|
|
unit_number__scnprintf(buf, sizeof(buf), test[i].n); |
|
|
|
pr_debug("n %" PRIu64 ", str '%s', buf '%s'\n", |
|
test[i].n, test[i].str, buf); |
|
|
|
if (strcmp(test[i].str, buf)) |
|
return TEST_FAIL; |
|
|
|
i++; |
|
} |
|
|
|
return TEST_OK; |
|
}
|
|
|