X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Ftest_bio.c;h=310e8f5c091f9d136ad75e1e561e472596fc5ee4;hb=94f01bdd2fda575769f01f8072689fa6936af8f4;hp=b005cb05725e1a6d8ada533604b017075069b55e;hpb=37edd6776d34c68b4e84bdc705ea451aac2c71b2;p=oweals%2Fgnunet.git diff --git a/src/util/test_bio.c b/src/util/test_bio.c index b005cb057..310e8f5c0 100644 --- a/src/util/test_bio.c +++ b/src/util/test_bio.c @@ -49,8 +49,7 @@ test_normal_rw () GNUNET_assert (NULL != fileW); GNUNET_assert (GNUNET_OK == GNUNET_BIO_write_string (fileW, TESTSTRING)); GNUNET_assert (GNUNET_OK == GNUNET_BIO_write_meta_data (fileW, metaDataW)); - GNUNET_assert (GNUNET_OK == - GNUNET_BIO_write_int64 (fileW, TESTNUMBER64)); + GNUNET_assert (GNUNET_OK == GNUNET_BIO_write_int64 (fileW, TESTNUMBER64)); GNUNET_assert (GNUNET_OK == GNUNET_BIO_write_close (fileW)); fileR = GNUNET_BIO_read_open (fileName); @@ -164,22 +163,17 @@ 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); @@ -193,59 +187,76 @@ test_bigmeta_rw () 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(){ +test_directory_r () +{ +#if LINUX || DARWIN char *msg; char readResult[200]; struct GNUNET_BIO_ReadHandle *fileR; fileR = GNUNET_BIO_read_open ("/dev"); GNUNET_assert (NULL != fileR); - GNUNET_assert (GNUNET_SYSERR == GNUNET_BIO_read (fileR, "Read error", readResult, 65537)); + GNUNET_assert (GNUNET_SYSERR == + GNUNET_BIO_read (fileR, "Read error", readResult, sizeof(readResult))); msg = NULL; GNUNET_BIO_read_close (fileR, &msg); GNUNET_free (msg); +#endif 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 *fileWNO; + struct GNUNET_BIO_ReadHandle *fileRNO; + 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); + GNUNET_log_skip (0, GNUNET_YES); GNUNET_assert (NULL == fileWNO); + GNUNET_log_skip (1, GNUNET_NO); fileRNO = GNUNET_BIO_read_open (fileNameNO); + GNUNET_log_skip (0, GNUNET_YES); 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); - 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); @@ -254,21 +265,22 @@ 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, 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)); + 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; } @@ -384,14 +396,19 @@ check_file_rw () { GNUNET_assert (0 == test_normal_rw ()); GNUNET_assert (0 == test_nullfile_rw ()); - GNUNET_assert (0 == test_directory_r()); + GNUNET_assert (0 == test_fullfile_rw ()); + GNUNET_assert (0 == test_directory_r ()); return 0; } int -main (int argc, char *argv[]){ - GNUNET_assert (0 == check_file_rw()); - GNUNET_assert (0 == check_metadata_rw()); - GNUNET_assert (0 == check_string_rw()); - return 0; -} /* end of main */ +main (int argc, char *argv[]) +{ + GNUNET_log_setup ("test-bio", "WARNING", NULL); + GNUNET_assert (0 == check_file_rw ()); + GNUNET_assert (0 == check_metadata_rw ()); + GNUNET_assert (0 == check_string_rw ()); + return 0; +} + +/* end of test_bio.c */