diff options
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/test_bio.c | 131 |
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 | ||
32 | int | 33 | int |
33 | main (int argc, char *argv[]) | 34 | main (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 */ |