aboutsummaryrefslogtreecommitdiff
path: root/src/util/test_bio.c
diff options
context:
space:
mode:
authorJi Lu <jilu@140774ce-b5e7-0310-ab8b-a85725594a96>2009-10-31 23:21:25 +0000
committerJi Lu <jilu@140774ce-b5e7-0310-ab8b-a85725594a96>2009-10-31 23:21:25 +0000
commit5e4113e83368849500792e57946c3d8dd9e548d8 (patch)
treed2a4d36d8ac7d94ad0e2b1a6af51e7a42958d90c /src/util/test_bio.c
parent55d1217d6dff3819c54af60d9a540800dd3d745c (diff)
downloadgnunet-5e4113e83368849500792e57946c3d8dd9e548d8.tar.gz
gnunet-5e4113e83368849500792e57946c3d8dd9e548d8.zip
please check if there are some bugs inside
Diffstat (limited to 'src/util/test_bio.c')
-rw-r--r--src/util/test_bio.c131
1 files changed, 97 insertions, 34 deletions
diff --git a/src/util/test_bio.c b/src/util/test_bio.c
index 67458a170..c673fc11f 100644
--- a/src/util/test_bio.c
+++ b/src/util/test_bio.c
@@ -23,46 +23,109 @@
23 * @brief testcase for the buffered IO module 23 * @brief testcase for the buffered IO module
24 * @author Ji Lu 24 * @author Ji Lu
25 */ 25 */
26
27
26#include "platform.h" 28#include "platform.h"
27#include "gnunet_util_lib.h" 29#include "gnunet_util_lib.h"
28
29#define TESTSTRING "testString" 30#define TESTSTRING "testString"
30#define TESTNUMBER64 100000L 31#define TESTNUMBER64 100000L
31 32
32int 33int
33main (int argc, char *argv[]) 34main (int argc, char *argv[])
34{ 35{
35 char *readResultString; 36
36 int64_t testNumber = (int64_t)TESTNUMBER64; 37 char *readResultString;
37 int64_t testNum; 38 int64_t testNumber = (int64_t)TESTNUMBER64;
38 char *msg; 39 int64_t testNum;
39 char* fileName; 40 char *msg;
40 struct GNUNET_BIO_ReadHandle *fileR; 41 char file[102400];
41 struct GNUNET_BIO_WriteHandle *fileW; 42 char meta[1024*1024*10];
42 struct GNUNET_CONTAINER_MetaData *metaDataW; 43 int i,j;
43 struct GNUNET_CONTAINER_MetaData *metaDataR; 44 for(i=0;i<102400;i++){
44 45 file[i]='a';
45 fileName = GNUNET_DISK_mktemp ("gnunet_bio"); 46 }
46 metaDataR = GNUNET_CONTAINER_meta_data_create(); 47 for(j=0;j<1024*1024*10;j++){
47 metaDataW = GNUNET_CONTAINER_meta_data_create(); 48 meta[j]='b';
48 GNUNET_CONTAINER_meta_data_add_publication_date(metaDataW); 49 }
49 fileW = GNUNET_BIO_write_open(fileName); 50 char* fileName = GNUNET_DISK_mktemp ("gnunet_bio");
50 GNUNET_assert(NULL!=fileW); 51 char* fileName2 = GNUNET_DISK_mktemp ("gnunet_zwei_bio");
51 GNUNET_assert(GNUNET_OK == GNUNET_BIO_write_string(fileW, TESTSTRING)); 52 char* fileName3 = GNUNET_DISK_mktemp ("gnunet_drei_bio");
52 GNUNET_assert(GNUNET_OK == GNUNET_BIO_write_meta_data(fileW,metaDataW)); 53 char* fileName4 = GNUNET_DISK_mktemp ("gnunet_vier_bio");
53 GNUNET_assert(GNUNET_OK == GNUNET_BIO_write_int64(fileW,testNumber)); 54
54 GNUNET_assert(GNUNET_OK == GNUNET_BIO_write_close(fileW)); 55 struct GNUNET_BIO_ReadHandle *fileR,*fileR2,*fileR3,*fileR4;
55 fileR = GNUNET_BIO_read_open (fileName); 56 struct GNUNET_BIO_WriteHandle *fileW,*fileW2,*fileW3,*fileW4;
56 GNUNET_assert(NULL!=fileR); 57 struct GNUNET_CONTAINER_MetaData *metaDataW;
57 GNUNET_assert(GNUNET_OK == GNUNET_BIO_read_string(fileR, "Read string error", &readResultString, 200)); 58 struct GNUNET_CONTAINER_MetaData *metaDataR;
58 GNUNET_BIO_read_meta_data(fileR, "Read meta error", &metaDataR); 59 struct GNUNET_BIO_ReadHandle *fileRNO;
59 GNUNET_assert(GNUNET_YES == GNUNET_CONTAINER_meta_data_test_equal(metaDataR,metaDataW)); 60 struct GNUNET_BIO_WriteHandle *fileWNO;
60 GNUNET_assert(GNUNET_OK == GNUNET_BIO_read_int64(fileR, &testNum)); 61 struct GNUNET_CONTAINER_MetaData *metaData;
61 GNUNET_BIO_read_close(fileR,&msg); 62 struct GNUNET_CONTAINER_MetaData *metaDataNO;
62 GNUNET_CONTAINER_meta_data_destroy(metaDataW); 63
63 GNUNET_CONTAINER_meta_data_destroy(metaDataR); 64 metaData = GNUNET_CONTAINER_meta_data_create();
64 GNUNET_DISK_directory_remove (fileName); 65 metaDataNO = GNUNET_CONTAINER_meta_data_create();
65 free(fileName); 66 metaDataR = GNUNET_CONTAINER_meta_data_create();
66 67 metaDataW = GNUNET_CONTAINER_meta_data_create();
67 return 0; 68 GNUNET_CONTAINER_meta_data_add_publication_date(metaDataW);
69 GNUNET_CONTAINER_meta_data_add_publication_date(metaData);
70 GNUNET_assert(GNUNET_OK == GNUNET_CONTAINER_meta_data_insert(metaData,EXTRACTOR_COMMENT,meta));
71
72///////////write
73 fileW = GNUNET_BIO_write_open(fileName);
74 GNUNET_assert(NULL != fileW);
75 GNUNET_assert(GNUNET_OK == GNUNET_BIO_write_string(fileW, TESTSTRING));
76 GNUNET_assert(GNUNET_OK == GNUNET_BIO_write_meta_data(fileW,metaDataW));
77 GNUNET_assert(GNUNET_OK == GNUNET_BIO_write_int64(fileW,testNumber));
78 GNUNET_assert(GNUNET_OK == GNUNET_BIO_write_close(fileW));
79 fileW2 = GNUNET_BIO_write_open(fileName2);
80 GNUNET_assert(NULL != fileW2);
81 GNUNET_assert(GNUNET_OK == GNUNET_BIO_write_string(fileW2,NULL));
82 fileWNO = GNUNET_BIO_write_open(file);
83 fileW3 = GNUNET_BIO_write_open(fileName3);
84 GNUNET_assert(NULL != fileW3);
85 GNUNET_assert(GNUNET_OK == GNUNET_BIO_write_meta_data(fileW3,metaData));
86 fileW4 = GNUNET_BIO_write_open(fileName4);
87 GNUNET_assert(NULL != fileW4);
88 GNUNET_assert(GNUNET_OK == GNUNET_BIO_write_string(fileW4,""));
89 GNUNET_assert(NULL != fileWNO);
90 GNUNET_assert(GNUNET_SYSERR == GNUNET_BIO_write_string(fileWNO, TESTSTRING));
91 GNUNET_assert(GNUNET_SYSERR == GNUNET_BIO_write_meta_data(fileWNO,metaDataW));
92 GNUNET_assert(GNUNET_SYSERR == GNUNET_BIO_write_close(fileWNO));
93
94////////////read
95 fileRNO = GNUNET_BIO_read_open(file);
96 GNUNET_assert(NULL != fileRNO);
97 GNUNET_assert(GNUNET_SYSERR == GNUNET_BIO_read_string(fileRNO, "Read string error", &readResultString, 200));
98 GNUNET_assert(GNUNET_SYSERR == GNUNET_BIO_read_int64(fileRNO, &testNum));
99 GNUNET_assert(GNUNET_SYSERR == GNUNET_BIO_read_meta_data(fileRNO,"Read meta error", &metaDataNO));
100 fileR = GNUNET_BIO_read_open(fileName);
101 GNUNET_assert(NULL != fileR);
102 GNUNET_assert(GNUNET_OK == GNUNET_BIO_read_string(fileR, "Read string error", &readResultString, 200));
103 GNUNET_assert(GNUNET_OK == GNUNET_BIO_read_meta_data(fileR, "Read meta error", &metaDataR));
104 GNUNET_assert(GNUNET_YES == GNUNET_CONTAINER_meta_data_test_equal(metaDataR,metaDataW));
105 GNUNET_assert(GNUNET_OK == GNUNET_BIO_read_int64(fileR, &testNum));
106 fileR2 = GNUNET_BIO_read_open(fileName2);
107 GNUNET_assert(NULL != fileR2);
108 GNUNET_assert(GNUNET_SYSERR == GNUNET_BIO_read_string(fileR2, "Read string error", &readResultString, 200));
109 fileR3 = GNUNET_BIO_read_open(fileName3);
110 GNUNET_assert(NULL != fileR3);
111 GNUNET_assert(GNUNET_SYSERR == GNUNET_BIO_read_meta_data(fileR3, "Read meta error", &metaDataR));
112 fileR4 = GNUNET_BIO_read_open(fileName4);
113 GNUNET_assert(NULL != fileR4);
114 GNUNET_assert(GNUNET_OK == GNUNET_BIO_read_string(fileR4, "Read string error", &readResultString, 200));
115 GNUNET_BIO_read_close(fileR,&msg);
116 GNUNET_BIO_read_close(fileR2,&msg);
117 GNUNET_BIO_read_close(fileR3,&msg);
118 GNUNET_BIO_read_close(fileR4,&msg);
119 GNUNET_CONTAINER_meta_data_destroy(metaDataW);
120 GNUNET_CONTAINER_meta_data_destroy(metaDataNO);
121 GNUNET_CONTAINER_meta_data_destroy(metaDataR);
122 GNUNET_CONTAINER_meta_data_destroy(metaData);
123 GNUNET_free(fileName);
124 GNUNET_free(fileName2);
125 GNUNET_free(fileName3);
126 GNUNET_free(fileName4);
127
128
129 return 0;
130
68} /* end of main */ 131} /* end of main */