-remove async ecc key generation, not needed
[oweals/gnunet.git] / src / util / test_strings.c
index 49895a43a8cac45df1ad5ca470bf7a1b8a0cb49b..e5247ad917e2cd9c1eba8dcd40c010aacaea7a49 100644 (file)
@@ -4,7 +4,7 @@
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
+     by the Free Software Foundation; either version 3, or (at your
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
 #include "gnunet_common.h"
 #include "gnunet_strings_lib.h"
 
 #include "gnunet_common.h"
 #include "gnunet_strings_lib.h"
 
-#define VERBOSE GNUNET_NO
 
 #define WANT(a,b) if (0 != strcmp(a,b)) { fprintf(stderr, "Got `%s', wanted `%s'\n", b, a); GNUNET_free(b); GNUNET_break(0); return 1;} else { GNUNET_free (b); }
 
 #define WANT(a,b) if (0 != strcmp(a,b)) { fprintf(stderr, "Got `%s', wanted `%s'\n", b, a); GNUNET_free(b); GNUNET_break(0); return 1;} else { GNUNET_free (b); }
+#define WANTNF(a,b) do { if (0 != strcmp(a,b)) { fprintf(stderr, "Got `%s', wanted `%s'\n", b, a); GNUNET_break(0); return 1;} } while (0)
 #define WANTB(a,b,l) if (0 != memcmp(a,b,l)) { GNUNET_break(0); return 1;} else { }
 
 #define WANTB(a,b,l) if (0 != memcmp(a,b,l)) { GNUNET_break(0); return 1;} else { }
 
-static int
-check ()
+int
+main (int argc, char *argv[])
 {
   char buf[128];
   char *r;
   char *b;
 {
   char buf[128];
   char *r;
   char *b;
+  const char *bc;
   struct GNUNET_TIME_Absolute at;
   struct GNUNET_TIME_Absolute at;
+  struct GNUNET_TIME_Absolute atx;
+  struct GNUNET_TIME_Relative rt;
+  struct GNUNET_TIME_Relative rtx;
+  const char *hdir;
 
 
+  GNUNET_log_setup ("test_strings", "ERROR", NULL);
   sprintf (buf, "4 %s", _( /* size unit */ "b"));
   b = GNUNET_STRINGS_byte_size_fancy (4);
   WANT (buf, b);
   sprintf (buf, "4 %s", _( /* size unit */ "b"));
   b = GNUNET_STRINGS_byte_size_fancy (4);
   WANT (buf, b);
@@ -48,31 +54,28 @@ check ()
   b = GNUNET_STRINGS_byte_size_fancy (10240LL * 1024LL * 1024LL * 1024LL);
   WANT (buf, b);
   sprintf (buf, "4 %s", _( /* time unit */ "ms"));
   b = GNUNET_STRINGS_byte_size_fancy (10240LL * 1024LL * 1024LL * 1024LL);
   WANT (buf, b);
   sprintf (buf, "4 %s", _( /* time unit */ "ms"));
-  b =
-    GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_relative_multiply
-                                            (GNUNET_TIME_UNIT_MILLISECONDS,
-                                             4));
-  WANT (buf, b);
+  bc = GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_relative_multiply
+                                              (GNUNET_TIME_UNIT_MILLISECONDS,
+                                               4), GNUNET_YES);
+  WANTNF (buf, bc);
   sprintf (buf, "7 %s", _( /* time unit */ "s"));
   sprintf (buf, "7 %s", _( /* time unit */ "s"));
-  b =
-    GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_relative_multiply
-                                            (GNUNET_TIME_UNIT_MILLISECONDS,
-                                             7 * 1000));
-  WANT (buf, b);
+  bc = GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_relative_multiply
+                                              (GNUNET_TIME_UNIT_MILLISECONDS,
+                                               7 * 1000), GNUNET_YES);
+  WANTNF (buf, bc);
   sprintf (buf, "7 %s", _( /* time unit */ "h"));
   sprintf (buf, "7 %s", _( /* time unit */ "h"));
-  b =
-    GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_relative_multiply
-                                            (GNUNET_TIME_UNIT_MILLISECONDS,
-                                             7 * 60 * 60 * 1000));
-  WANT (buf, b);
-  sprintf (buf, "%s%s", getenv (
+  bc = GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_relative_multiply
+                                              (GNUNET_TIME_UNIT_MILLISECONDS,
+                                               7 * 60 * 60 * 1000), GNUNET_YES);
+  WANTNF (buf, bc);
 #ifndef MINGW
 #ifndef MINGW
-      "HOME"
+  hdir = getenv ("HOME");
 #else
 #else
-      "USERPROFILE"
+  hdir = getenv ("USERPROFILE");
 #endif
 #endif
-)      , DIR_SEPARATOR_STR);
+  GNUNET_snprintf (buf, sizeof (buf), "%s%s", hdir, DIR_SEPARATOR_STR);
   b = GNUNET_STRINGS_filename_expand ("~");
   b = GNUNET_STRINGS_filename_expand ("~");
+  GNUNET_assert (b != NULL);
   WANT (buf, b);
   GNUNET_STRINGS_buffer_fill (buf, sizeof (buf), 3, "a", "btx", "c");
   WANTB ("a\0btx\0c", buf, 8);
   WANT (buf, b);
   GNUNET_STRINGS_buffer_fill (buf, sizeof (buf), 3, "a", "btx", "c");
   WANTB ("a\0btx\0c", buf, 8);
@@ -84,34 +87,39 @@ check ()
   WANT ("btx", b);
   if (0 != GNUNET_STRINGS_buffer_tokenize (buf, 2, 2, &r, &b))
     return 1;
   WANT ("btx", b);
   if (0 != GNUNET_STRINGS_buffer_tokenize (buf, 2, 2, &r, &b))
     return 1;
-  at.value = 5000;
-  r = GNUNET_STRINGS_absolute_time_to_string (at);
-  /* r should be something like "Wed Dec 31 17:00:05 1969"
-     where the details of the day and hour depend on the timezone;
-     however, the "0:05 19" should always be there; hence: */
-  if (NULL == strstr (r, "0:05 19"))
-    {
-      fprintf (stderr, "Got %s\n", r);
-      GNUNET_break (0);
-      GNUNET_free (r);
-      return 1;
-    }
-  GNUNET_free (r);
+  at.abs_value = 5000;
+  bc = GNUNET_STRINGS_absolute_time_to_string (at);
+  /* bc should be something like "Wed Dec 31 17:00:05 1969"
+   * where the details of the day and hour depend on the timezone;
+   * however, the "0:05 19" should always be there; hence: */
+  if (NULL == strstr (bc, "0:05 19"))
+  {
+    FPRINTF (stderr, "Got %s\n", bc);
+    GNUNET_break (0);
+    return 1;
+  }
   b = GNUNET_STRINGS_to_utf8 ("TEST", 4, "ASCII");
   WANT ("TEST", b);
   b = GNUNET_STRINGS_to_utf8 ("TEST", 4, "ASCII");
   WANT ("TEST", b);
+  
+  at = GNUNET_TIME_UNIT_FOREVER_ABS;
+  bc = GNUNET_STRINGS_absolute_time_to_string (at);
+  GNUNET_assert (GNUNET_OK ==
+                GNUNET_STRINGS_fancy_time_to_absolute (bc, &atx));
+  GNUNET_assert (atx.abs_value == at.abs_value);
+
+  GNUNET_log_skip (2, GNUNET_NO);
   b = GNUNET_STRINGS_to_utf8 ("TEST", 4, "unknown");
   b = GNUNET_STRINGS_to_utf8 ("TEST", 4, "unknown");
+  GNUNET_log_skip (0, GNUNET_YES);
   WANT ("TEST", b);
   WANT ("TEST", b);
-  return 0;
-}
 
 
-int
-main (int argc, char *argv[])
-{
-  int ret;
+  GNUNET_assert (GNUNET_OK ==
+      GNUNET_STRINGS_fancy_time_to_relative ("15m", &rt));
+  GNUNET_assert (GNUNET_OK ==
+      GNUNET_STRINGS_fancy_time_to_relative ("15 m", &rtx));
+  GNUNET_assert (rt.rel_value == rtx.rel_value);
 
 
-  GNUNET_log_setup ("test_strings", "ERROR", NULL);
-  ret = check ();
-  return ret;
+  return 0;
 }
 
 }
 
+
 /* end of test_strings.c */
 /* end of test_strings.c */