-remove async ecc key generation, not needed
[oweals/gnunet.git] / src / util / test_bio.c
index 0fa8c5039659448ee0279c2361ebdfed158d22b2..9b18258fb64a9a85813b8d2c4dea1d53f38fc192 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
@@ -41,6 +41,7 @@ test_normal_rw ()
   struct GNUNET_BIO_ReadHandle *fileR;
   struct GNUNET_CONTAINER_MetaData *metaDataW;
   struct GNUNET_CONTAINER_MetaData *metaDataR;
   struct GNUNET_BIO_ReadHandle *fileR;
   struct GNUNET_CONTAINER_MetaData *metaDataW;
   struct GNUNET_CONTAINER_MetaData *metaDataR;
+
   metaDataW = GNUNET_CONTAINER_meta_data_create ();
   metaDataR = NULL;
   GNUNET_CONTAINER_meta_data_add_publication_date (metaDataW);
   metaDataW = GNUNET_CONTAINER_meta_data_create ();
   metaDataR = NULL;
   GNUNET_CONTAINER_meta_data_add_publication_date (metaDataW);
@@ -58,14 +59,14 @@ test_normal_rw ()
   GNUNET_assert (GNUNET_OK ==
                  GNUNET_BIO_read_string (fileR, "Read string error",
                                          &readResultString, 200));
   GNUNET_assert (GNUNET_OK ==
                  GNUNET_BIO_read_string (fileR, "Read string error",
                                          &readResultString, 200));
+  GNUNET_assert (NULL != readResultString);
   GNUNET_assert (0 == strcmp (TESTSTRING, readResultString));
   GNUNET_free (readResultString);
   GNUNET_assert (GNUNET_OK ==
                  GNUNET_BIO_read_meta_data (fileR, "Read meta error",
                                             &metaDataR));
   GNUNET_assert (GNUNET_YES ==
   GNUNET_assert (0 == strcmp (TESTSTRING, readResultString));
   GNUNET_free (readResultString);
   GNUNET_assert (GNUNET_OK ==
                  GNUNET_BIO_read_meta_data (fileR, "Read meta error",
                                             &metaDataR));
   GNUNET_assert (GNUNET_YES ==
-                 GNUNET_CONTAINER_meta_data_test_equal (metaDataR,
-                                                        metaDataW));
+                 GNUNET_CONTAINER_meta_data_test_equal (metaDataR, metaDataW));
   GNUNET_assert (GNUNET_OK == GNUNET_BIO_read_int64 (fileR, &testNum));
   GNUNET_BIO_read_close (fileR, &msg);
   GNUNET_CONTAINER_meta_data_destroy (metaDataW);
   GNUNET_assert (GNUNET_OK == GNUNET_BIO_read_int64 (fileR, &testNum));
   GNUNET_BIO_read_close (fileR, &msg);
   GNUNET_CONTAINER_meta_data_destroy (metaDataW);
@@ -163,22 +164,17 @@ test_bigmeta_rw ()
 {
   char *msg;
   static char meta[1024 * 1024 * 10];
 {
   char *msg;
   static char meta[1024 * 1024 * 10];
-  memset (meta, 'b', sizeof (meta));
-  meta[sizeof (meta) - 1] = '\0';
   struct GNUNET_BIO_WriteHandle *fileW;
   struct GNUNET_BIO_ReadHandle *fileR;
   char *fileName = GNUNET_DISK_mktemp ("gnunet_bio");
   struct GNUNET_BIO_WriteHandle *fileW;
   struct GNUNET_BIO_ReadHandle *fileR;
   char *fileName = GNUNET_DISK_mktemp ("gnunet_bio");
-  struct GNUNET_CONTAINER_MetaData *metaDataW;
   struct GNUNET_CONTAINER_MetaData *metaDataR;
   struct GNUNET_CONTAINER_MetaData *metaDataR;
-  metaDataW = GNUNET_CONTAINER_meta_data_create ();
-  GNUNET_CONTAINER_meta_data_add_publication_date (metaDataW);
-  GNUNET_assert (GNUNET_OK ==
-                 GNUNET_CONTAINER_meta_data_insert (metaDataW,
-                                                    EXTRACTOR_COMMENT, meta));
 
 
+  memset (meta, 'b', sizeof (meta));
+  meta[sizeof (meta) - 1] = '\0';
   fileW = GNUNET_BIO_write_open (fileName);
   GNUNET_assert (NULL != fileW);
   fileW = GNUNET_BIO_write_open (fileName);
   GNUNET_assert (NULL != fileW);
-  GNUNET_assert (GNUNET_OK == GNUNET_BIO_write_meta_data (fileW, metaDataW));
+  GNUNET_assert (GNUNET_OK == GNUNET_BIO_write_int32 (fileW, sizeof (meta)));
+  GNUNET_assert (GNUNET_OK == GNUNET_BIO_write (fileW, meta, sizeof (meta)));
   GNUNET_assert (GNUNET_OK == GNUNET_BIO_write_close (fileW));
 
   fileR = GNUNET_BIO_read_open (fileName);
   GNUNET_assert (GNUNET_OK == GNUNET_BIO_write_close (fileW));
 
   fileR = GNUNET_BIO_read_open (fileName);
@@ -192,7 +188,6 @@ test_bigmeta_rw ()
   GNUNET_free (msg);
   GNUNET_assert (GNUNET_OK == GNUNET_DISK_directory_remove (fileName));
   GNUNET_assert (NULL == metaDataR);
   GNUNET_free (msg);
   GNUNET_assert (GNUNET_OK == GNUNET_DISK_directory_remove (fileName));
   GNUNET_assert (NULL == metaDataR);
-  GNUNET_CONTAINER_meta_data_destroy (metaDataW);
   GNUNET_free (fileName);
   return 0;
 }
   GNUNET_free (fileName);
   return 0;
 }
@@ -200,6 +195,7 @@ test_bigmeta_rw ()
 static int
 test_directory_r ()
 {
 static int
 test_directory_r ()
 {
+#if LINUX
   char *msg;
   char readResult[200];
   struct GNUNET_BIO_ReadHandle *fileR;
   char *msg;
   char readResult[200];
   struct GNUNET_BIO_ReadHandle *fileR;
@@ -207,46 +203,62 @@ test_directory_r ()
   fileR = GNUNET_BIO_read_open ("/dev");
   GNUNET_assert (NULL != fileR);
   GNUNET_assert (GNUNET_SYSERR ==
   fileR = GNUNET_BIO_read_open ("/dev");
   GNUNET_assert (NULL != fileR);
   GNUNET_assert (GNUNET_SYSERR ==
-                 GNUNET_BIO_read (fileR, "Read error", readResult, 65537));
+                 GNUNET_BIO_read (fileR, "Read error", readResult,
+                                  sizeof (readResult)));
   msg = NULL;
   GNUNET_BIO_read_close (fileR, &msg);
   GNUNET_free (msg);
   msg = NULL;
   GNUNET_BIO_read_close (fileR, &msg);
   GNUNET_free (msg);
+#endif
   return 0;
 }
 
 static int
 test_nullfile_rw ()
 {
   return 0;
 }
 
 static int
 test_nullfile_rw ()
 {
-  char *msg;
-  int64_t testNum;
-  char *readResultString;
   static char fileNameNO[102401];
   static char fileNameNO[102401];
-  char readResult[200];
+  struct GNUNET_BIO_WriteHandle *fileWNO;
+  struct GNUNET_BIO_ReadHandle *fileRNO;
+
   memset (fileNameNO, 'a', sizeof (fileNameNO));
   fileNameNO[sizeof (fileNameNO) - 1] = '\0';
   memset (fileNameNO, 'a', sizeof (fileNameNO));
   fileNameNO[sizeof (fileNameNO) - 1] = '\0';
-  struct GNUNET_BIO_WriteHandle *fileW, *fileWNO;
-  struct GNUNET_BIO_ReadHandle *fileR, *fileRNO;
-  struct GNUNET_CONTAINER_MetaData *metaDataW;
-  struct GNUNET_CONTAINER_MetaData *metaDataR;
-  metaDataW = GNUNET_CONTAINER_meta_data_create ();
-  metaDataR = GNUNET_CONTAINER_meta_data_create ();
-  GNUNET_CONTAINER_meta_data_add_publication_date (metaDataW);
 
 
+  GNUNET_log_skip (1, GNUNET_NO);
   fileWNO = GNUNET_BIO_write_open (fileNameNO);
   fileWNO = GNUNET_BIO_write_open (fileNameNO);
+  GNUNET_log_skip (0, GNUNET_YES);
   GNUNET_assert (NULL == fileWNO);
 
   GNUNET_assert (NULL == fileWNO);
 
+  GNUNET_log_skip (1, GNUNET_NO);
   fileRNO = GNUNET_BIO_read_open (fileNameNO);
   fileRNO = GNUNET_BIO_read_open (fileNameNO);
+  GNUNET_log_skip (0, GNUNET_YES);
   GNUNET_assert (NULL == fileRNO);
   GNUNET_assert (NULL == fileRNO);
+  return 0;
+}
+
+
+static int
+test_fullfile_rw ()
+{
+#ifdef LINUX
+  /* /dev/full only seems to exist on Linux */
+  char *msg;
+  int64_t testNum;
+  char *readResultString;
+  char readResult[200];
+  struct GNUNET_BIO_WriteHandle *fileW;
+  struct GNUNET_BIO_ReadHandle *fileR;
+  struct GNUNET_CONTAINER_MetaData *metaDataW;
+  struct GNUNET_CONTAINER_MetaData *metaDataR;
+
+  metaDataW = GNUNET_CONTAINER_meta_data_create ();
+  GNUNET_CONTAINER_meta_data_add_publication_date (metaDataW);
 
   fileW = GNUNET_BIO_write_open ("/dev/full");
   GNUNET_assert (NULL != fileW);
 
   fileW = GNUNET_BIO_write_open ("/dev/full");
   GNUNET_assert (NULL != fileW);
-  GNUNET_assert (GNUNET_SYSERR ==
-                 GNUNET_BIO_write (fileW, fileNameNO, sizeof (fileNameNO)));
-  GNUNET_assert (GNUNET_SYSERR ==
-                 GNUNET_BIO_write_string (fileW, TESTSTRING));
-  GNUNET_assert (GNUNET_SYSERR ==
-                 GNUNET_BIO_write_meta_data (fileW, metaDataW));
+  (void) GNUNET_BIO_write (fileW, TESTSTRING, strlen (TESTSTRING));
+  (void) GNUNET_BIO_write_string (fileW, TESTSTRING);
+  (void) GNUNET_BIO_write_meta_data (fileW, metaDataW);
   GNUNET_assert (GNUNET_SYSERR == GNUNET_BIO_write_close (fileW));
   GNUNET_assert (GNUNET_SYSERR == GNUNET_BIO_write_close (fileW));
+  GNUNET_CONTAINER_meta_data_destroy (metaDataW);
 
   fileW = GNUNET_BIO_write_open ("/dev/full");
   GNUNET_assert (NULL != fileW);
 
   fileW = GNUNET_BIO_write_open ("/dev/full");
   GNUNET_assert (NULL != fileW);
@@ -255,21 +267,23 @@ test_nullfile_rw ()
   fileR = GNUNET_BIO_read_open ("/dev/null");
   GNUNET_assert (NULL != fileR);
   GNUNET_assert (GNUNET_SYSERR ==
   fileR = GNUNET_BIO_read_open ("/dev/null");
   GNUNET_assert (NULL != fileR);
   GNUNET_assert (GNUNET_SYSERR ==
-                 GNUNET_BIO_read (fileR, "Read error", readResult, 65537));
+                 GNUNET_BIO_read (fileR, "Read error", readResult,
+                                  sizeof (readResult)));
   readResultString = NULL;
   GNUNET_assert (GNUNET_SYSERR ==
                  GNUNET_BIO_read_string (fileR, "Read string error",
                                          &readResultString, 200));
   GNUNET_assert (NULL == readResultString);
   GNUNET_assert (GNUNET_SYSERR == GNUNET_BIO_read_int64 (fileR, &testNum));
   readResultString = NULL;
   GNUNET_assert (GNUNET_SYSERR ==
                  GNUNET_BIO_read_string (fileR, "Read string error",
                                          &readResultString, 200));
   GNUNET_assert (NULL == readResultString);
   GNUNET_assert (GNUNET_SYSERR == GNUNET_BIO_read_int64 (fileR, &testNum));
+  metaDataR = NULL;
   GNUNET_assert (GNUNET_SYSERR ==
                  GNUNET_BIO_read_meta_data (fileR, "Read meta error",
                                             &metaDataR));
   msg = NULL;
   GNUNET_BIO_read_close (fileR, &msg);
   GNUNET_free (msg);
   GNUNET_assert (GNUNET_SYSERR ==
                  GNUNET_BIO_read_meta_data (fileR, "Read meta error",
                                             &metaDataR));
   msg = NULL;
   GNUNET_BIO_read_close (fileR, &msg);
   GNUNET_free (msg);
-  GNUNET_CONTAINER_meta_data_destroy (metaDataR);
-  GNUNET_CONTAINER_meta_data_destroy (metaDataW);
+  GNUNET_assert (NULL == metaDataR);
+#endif
   return 0;
 }
 
   return 0;
 }
 
@@ -385,6 +399,7 @@ check_file_rw ()
 {
   GNUNET_assert (0 == test_normal_rw ());
   GNUNET_assert (0 == test_nullfile_rw ());
 {
   GNUNET_assert (0 == test_normal_rw ());
   GNUNET_assert (0 == test_nullfile_rw ());
+  GNUNET_assert (0 == test_fullfile_rw ());
   GNUNET_assert (0 == test_directory_r ());
   return 0;
 }
   GNUNET_assert (0 == test_directory_r ());
   return 0;
 }
@@ -397,4 +412,6 @@ main (int argc, char *argv[])
   GNUNET_assert (0 == check_metadata_rw ());
   GNUNET_assert (0 == check_string_rw ());
   return 0;
   GNUNET_assert (0 == check_metadata_rw ());
   GNUNET_assert (0 == check_string_rw ());
   return 0;
-}                               /* end of main */
+}
+
+/* end of test_bio.c */