get rid of SOCKTYPE and FDTYPE
[oweals/gnunet.git] / src / util / test_bio.c
index 87617ddda466599dca1ebab895979bf2b818a92c..8ff93c168a8b907fbb19e7df078d0ae8bd36de0a 100644 (file)
@@ -1,22 +1,22 @@
 /*
      This file is part of GNUnet.
-     (C) 2009 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2009 GNUnet e.V.
 
-     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
-     option) any later version.
+     GNUnet is free software: you can redistribute it and/or modify it
+     under the terms of the GNU Affero General Public License as published
+     by the Free Software Foundation, either version 3 of the License,
+     or (at your option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
      WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-     General Public License for more details.
+     Affero General Public License for more details.
 
-     You should have received a copy of the GNU General Public License
-     along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
-*/
+     You should have received a copy of the GNU Affero General Public License
+     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+     SPDX-License-Identifier: AGPL3.0-or-later
+ */
 
 /**
  * @file util/test_bio.c
@@ -28,7 +28,7 @@
 #include "platform.h"
 #include "gnunet_util_lib.h"
 #define TESTSTRING "testString"
-#define TESTNUMBER64 ((int64_t)100000L)
+#define TESTNUMBER64 ((int64_t) 100000L)
 
 static int
 test_normal_rw ()
@@ -41,6 +41,7 @@ test_normal_rw ()
   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);
@@ -58,14 +59,14 @@ test_normal_rw ()
   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_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);
@@ -75,6 +76,7 @@ test_normal_rw ()
   return 0;
 }
 
+
 static int
 test_nullstring_rw ()
 {
@@ -102,6 +104,7 @@ test_nullstring_rw ()
   return 0;
 }
 
+
 static int
 test_emptystring_rw ()
 {
@@ -129,6 +132,7 @@ test_emptystring_rw ()
   return 0;
 }
 
+
 static int
 test_bigstring_rw ()
 {
@@ -158,47 +162,41 @@ test_bigstring_rw ()
   return 0;
 }
 
+
 static int
 test_bigmeta_rw ()
 {
   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_CONTAINER_MetaData *metaDataW;
   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);
-  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 (NULL != fileR);
   metaDataR = NULL;
-  GNUNET_log_skip (1, GNUNET_NO);
   GNUNET_assert (GNUNET_SYSERR ==
                  GNUNET_BIO_read_meta_data (fileR, "Read meta error",
                                             &metaDataR));
-  GNUNET_log_skip (0, GNUNET_YES);
   msg = NULL;
   GNUNET_BIO_read_close (fileR, &msg);
   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;
 }
 
+
 static int
 test_directory_r ()
 {
@@ -210,7 +208,8 @@ test_directory_r ()
   fileR = GNUNET_BIO_read_open ("/dev");
   GNUNET_assert (NULL != fileR);
   GNUNET_assert (GNUNET_SYSERR ==
-                 GNUNET_BIO_read (fileR, "Read error", readResult, sizeof(readResult)));
+                 GNUNET_BIO_read (fileR, "Read error", readResult,
+                                  sizeof(readResult)));
   msg = NULL;
   GNUNET_BIO_read_close (fileR, &msg);
   GNUNET_free (msg);
@@ -218,25 +217,17 @@ test_directory_r ()
   return 0;
 }
 
+
 static int
 test_nullfile_rw ()
 {
-  char *msg;
-  int64_t testNum;
-  char *readResultString;
   static char fileNameNO[102401];
-  char readResult[200];
-  struct GNUNET_BIO_WriteHandle *fileW, *fileWNO;
-  struct GNUNET_BIO_ReadHandle *fileR, *fileRNO;
-  struct GNUNET_CONTAINER_MetaData *metaDataW;
-  struct GNUNET_CONTAINER_MetaData *metaDataR;
+  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';
-  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);
   GNUNET_log_skip (0, GNUNET_YES);
@@ -246,18 +237,34 @@ test_nullfile_rw ()
   fileRNO = GNUNET_BIO_read_open (fileNameNO);
   GNUNET_log_skip (0, GNUNET_YES);
   GNUNET_assert (NULL == fileRNO);
+  return 0;
+}
+
 
-#ifdef LINUX 
+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);
-  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_CONTAINER_meta_data_destroy (metaDataW);
 
   fileW = GNUNET_BIO_write_open ("/dev/full");
   GNUNET_assert (NULL != fileW);
@@ -266,25 +273,27 @@ test_nullfile_rw ()
   fileR = GNUNET_BIO_read_open ("/dev/null");
   GNUNET_assert (NULL != fileR);
   GNUNET_assert (GNUNET_SYSERR ==
-                 GNUNET_BIO_read (fileR, "Read error", readResult, sizeof(readResult)));
+                 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));
+  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_CONTAINER_meta_data_destroy (metaDataR);
-  GNUNET_CONTAINER_meta_data_destroy (metaDataW);
+  GNUNET_assert (NULL == metaDataR);
 #endif
   return 0;
 }
 
+
 static int
 test_fakestring_rw ()
 {
@@ -313,6 +322,7 @@ test_fakestring_rw ()
   return 0;
 }
 
+
 static int
 test_fakemeta_rw ()
 {
@@ -343,6 +353,7 @@ test_fakemeta_rw ()
   return 0;
 }
 
+
 static int
 test_fakebigmeta_rw ()
 {
@@ -373,6 +384,7 @@ test_fakebigmeta_rw ()
   return 0;
 }
 
+
 static int
 check_string_rw ()
 {
@@ -383,6 +395,7 @@ check_string_rw ()
   return 0;
 }
 
+
 static int
 check_metadata_rw ()
 {
@@ -392,15 +405,18 @@ check_metadata_rw ()
   return 0;
 }
 
+
 static int
 check_file_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;
 }
 
+
 int
 main (int argc, char *argv[])
 {
@@ -411,4 +427,5 @@ main (int argc, char *argv[])
   return 0;
 }
 
+
 /* end of test_bio.c */