root/tools/perf/tests/unit_number__scnprintf.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. test__unit_number__scnprint

   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 
  10 int test__unit_number__scnprint(struct test *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 }

/* [<][>][^][v][top][bottom][index][help] */