cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

unit_number__scnprintf.c (838B)


      1// SPDX-License-Identifier: GPL-2.0
      2#include <inttypes.h>
      3#include <linux/compiler.h>
      4#include <linux/types.h>
      5#include <string.h>
      6#include "tests.h"
      7#include "units.h"
      8#include "debug.h"
      9
     10static int test__unit_number__scnprint(struct test_suite *t __maybe_unused, int subtest __maybe_unused)
     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}
     41
     42DEFINE_SUITE("unit_number__scnprintf", unit_number__scnprint);