tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

tllformat.c (1510B)


      1 #include <stdio.h>
      2 #include <string.h>
      3 
      4 /* The original file was tiformat.c and it has been changed for long long tests\
      5 . */
      6 typedef struct
      7 {
      8  int line;
      9  long long int value;
     10  const char *result;
     11  const char *format_string;
     12 } sprint_int_type;
     13 
     14 sprint_int_type sprint_ints[] =
     15 {
     16  {__LINE__, 0x00000000ULL,             "0", "%llx"},
     17  {__LINE__, 0xffff00000000208bULL,     "ffff00000000208b", "%llx"},
     18  {__LINE__, 0xffff00000000208bULL,     "18446462598732849291", "%llu"},
     19  {__LINE__, 18446462598732849291ULL,   "ffff00000000208b", "%llx"},
     20  {__LINE__, 18446462598732849291ULL,   "18446462598732849291", "%llu"},
     21  {__LINE__, 18359476226655002763ULL,   "fec9f65b0000208b", "%llx"},
     22  {__LINE__, 18359476226655002763ULL,   "18359476226655002763", "%llu"},
     23 
     24  {0},
     25 };
     26 
     27 int
     28 main (void)
     29 {
     30  int errcount = 0;
     31  int testcount = 0;
     32 #define BSIZE 1024
     33  char buffer[BSIZE];
     34  sprint_int_type *iptr;
     35  for (iptr = sprint_ints; iptr->line; iptr++)
     36    {
     37      snprintf (buffer, sizeof(buffer), iptr->format_string, iptr->value);
     38      if (strcmp (buffer, iptr->result) != 0)
     39 {
     40   ++errcount;
     41   printf ("\
     42 Error in line %d using \"%s\".  Result is \"%s\"; should be: \"%s\".\n",
     43 	  iptr->line, iptr->format_string, buffer, iptr->result);
     44        }
     45      ++testcount;
     46    }
     47 
     48  if (errcount == 0)
     49    {
     50      printf ("Encountered no errors in %d tests.\n", testcount);
     51      return 0;
     52    }
     53  else
     54    {
     55      printf ("Encountered %d errors in %d tests.\n",
     56       errcount, testcount);
     57      return 1;
     58    }
     59 }