Blame stdio-common/tllformat.c

Packit Service 82fcde
#include <stdio.h>
Packit Service 82fcde
#include <string.h>
Packit Service 82fcde
Packit Service 82fcde
/* The original file was tiformat.c and it has been changed for long long tests\
Packit Service 82fcde
. */
Packit Service 82fcde
typedef struct
Packit Service 82fcde
{
Packit Service 82fcde
  int line;
Packit Service 82fcde
  long long int value;
Packit Service 82fcde
  const char *result;
Packit Service 82fcde
  const char *format_string;
Packit Service 82fcde
} sprint_int_type;
Packit Service 82fcde
Packit Service 82fcde
sprint_int_type sprint_ints[] =
Packit Service 82fcde
{
Packit Service 82fcde
  {__LINE__, 0x00000000ULL,             "0", "%llx"},
Packit Service 82fcde
  {__LINE__, 0xffff00000000208bULL,     "ffff00000000208b", "%llx"},
Packit Service 82fcde
  {__LINE__, 0xffff00000000208bULL,     "18446462598732849291", "%llu"},
Packit Service 82fcde
  {__LINE__, 18446462598732849291ULL,   "ffff00000000208b", "%llx"},
Packit Service 82fcde
  {__LINE__, 18446462598732849291ULL,   "18446462598732849291", "%llu"},
Packit Service 82fcde
  {__LINE__, 18359476226655002763ULL,   "fec9f65b0000208b", "%llx"},
Packit Service 82fcde
  {__LINE__, 18359476226655002763ULL,   "18359476226655002763", "%llu"},
Packit Service 82fcde
Packit Service 82fcde
  {0},
Packit Service 82fcde
};
Packit Service 82fcde
Packit Service 82fcde
int
Packit Service 82fcde
main (void)
Packit Service 82fcde
{
Packit Service 82fcde
  int errcount = 0;
Packit Service 82fcde
  int testcount = 0;
Packit Service 82fcde
#define BSIZE 1024
Packit Service 82fcde
  char buffer[BSIZE];
Packit Service 82fcde
  sprint_int_type *iptr;
Packit Service 82fcde
  for (iptr = sprint_ints; iptr->line; iptr++)
Packit Service 82fcde
    {
Packit Service 82fcde
      sprintf (buffer, iptr->format_string, iptr->value);
Packit Service 82fcde
      if (strcmp (buffer, iptr->result) != 0)
Packit Service 82fcde
	{
Packit Service 82fcde
	  ++errcount;
Packit Service 82fcde
	  printf ("\
Packit Service 82fcde
Error in line %d using \"%s\".  Result is \"%s\"; should be: \"%s\".\n",
Packit Service 82fcde
		  iptr->line, iptr->format_string, buffer, iptr->result);
Packit Service 82fcde
        }
Packit Service 82fcde
      ++testcount;
Packit Service 82fcde
    }
Packit Service 82fcde
Packit Service 82fcde
  if (errcount == 0)
Packit Service 82fcde
    {
Packit Service 82fcde
      printf ("Encountered no errors in %d tests.\n", testcount);
Packit Service 82fcde
      return 0;
Packit Service 82fcde
    }
Packit Service 82fcde
  else
Packit Service 82fcde
    {
Packit Service 82fcde
      printf ("Encountered %d errors in %d tests.\n",
Packit Service 82fcde
	      errcount, testcount);
Packit Service 82fcde
      return 1;
Packit Service 82fcde
    }
Packit Service 82fcde
}