| 68 pblock_init_default_keys(); |
68 pblock_init_default_keys(); |
| 69 vfs_init(); |
69 vfs_init(); |
| 70 |
70 |
| 71 //test(); |
71 //test(); |
| 72 |
72 |
| 73 printf("%s", "Webserver Test Suite\n====================\n\n"); |
73 //printf("%s", "Webserver Test Suite\n====================\n\n"); |
| 74 |
74 |
| 75 UcxTestSuite* suite = ucx_test_suite_new(); |
75 CxTestSuite *suite = cx_test_suite_new("webserver"); |
| 76 |
76 |
| 77 // util tests |
77 // util tests |
| 78 ucx_test_register(suite, test_util_uri_escape_alphanum); |
78 cx_test_register(suite, test_util_uri_escape_alphanum); |
| 79 ucx_test_register(suite, test_util_uri_escape_space); |
79 cx_test_register(suite, test_util_uri_escape_space); |
| 80 ucx_test_register(suite, test_util_uri_escape_latin); |
80 cx_test_register(suite, test_util_uri_escape_latin); |
| 81 ucx_test_register(suite, test_util_uri_escape_kanji); |
81 cx_test_register(suite, test_util_uri_escape_kanji); |
| 82 |
82 |
| 83 // event tests |
83 // event tests |
| 84 ucx_test_register(suite, test_evhandler_create); |
84 cx_test_register(suite, test_evhandler_create); |
| 85 ucx_test_register(suite, test_event_send); |
85 cx_test_register(suite, test_event_send); |
| 86 ucx_test_register(suite, test_event_send_multi); |
86 cx_test_register(suite, test_event_send_multi); |
| 87 |
87 |
| 88 // object tests |
88 // object tests |
| 89 ucx_test_register(suite, test_expr_parse_expr_value); |
89 cx_test_register(suite, test_expr_parse_expr_value); |
| 90 ucx_test_register(suite, test_expr_parse_expr_neg_value); |
90 cx_test_register(suite, test_expr_parse_expr_neg_value); |
| 91 ucx_test_register(suite, test_expr_parse_expr_value_str); |
91 cx_test_register(suite, test_expr_parse_expr_value_str); |
| 92 ucx_test_register(suite, test_expr_parse_expr_value_bool); |
92 cx_test_register(suite, test_expr_parse_expr_value_bool); |
| 93 ucx_test_register(suite, test_expr_parse_expr_value_var); |
93 cx_test_register(suite, test_expr_parse_expr_value_var); |
| 94 ucx_test_register(suite, test_expr_parse_expr_not_value); |
94 cx_test_register(suite, test_expr_parse_expr_not_value); |
| 95 ucx_test_register(suite, test_expr_parse_expr_sign_value); |
95 cx_test_register(suite, test_expr_parse_expr_sign_value); |
| 96 ucx_test_register(suite, test_expr_parse_expr_compare2values); |
96 cx_test_register(suite, test_expr_parse_expr_compare2values); |
| 97 ucx_test_register(suite, test_expr_parse_expr_compare2value_expr); |
97 cx_test_register(suite, test_expr_parse_expr_compare2value_expr); |
| 98 ucx_test_register(suite, test_expr_parse_expr_compare2expr_value); |
98 cx_test_register(suite, test_expr_parse_expr_compare2expr_value); |
| 99 ucx_test_register(suite, test_expr_parse_expr_bracket); |
99 cx_test_register(suite, test_expr_parse_expr_bracket); |
| 100 ucx_test_register(suite, test_expr_op_defined_simple); |
100 cx_test_register(suite, test_expr_op_defined_simple); |
| 101 ucx_test_register(suite, test_expr_op_defined); |
101 cx_test_register(suite, test_expr_op_defined); |
| 102 ucx_test_register(suite, test_expr_op_file_exists_simple); |
102 cx_test_register(suite, test_expr_op_file_exists_simple); |
| 103 ucx_test_register(suite, test_expr_parse_expr_func_arg0); |
103 cx_test_register(suite, test_expr_parse_expr_func_arg0); |
| 104 ucx_test_register(suite, test_expr_parse_expr_func_arg1); |
104 cx_test_register(suite, test_expr_parse_expr_func_arg1); |
| 105 ucx_test_register(suite, test_expr_parse_expr_func_arg3); |
105 cx_test_register(suite, test_expr_parse_expr_func_arg3); |
| 106 ucx_test_register(suite, test_expr_parse_expr_func_expr1); |
106 cx_test_register(suite, test_expr_parse_expr_func_expr1); |
| 107 ucx_test_register(suite, test_expr_parse_expr_func_expr2); |
107 cx_test_register(suite, test_expr_parse_expr_func_expr2); |
| 108 |
108 |
| 109 // io tests |
109 // io tests |
| 110 ucx_test_register(suite, test_io_http_stream_parse_chunk_header_hdronly_first); |
110 cx_test_register(suite, test_io_http_stream_parse_chunk_header_hdronly_first); |
| 111 ucx_test_register(suite, test_io_http_stream_parse_chunk_header_hdronly); |
111 cx_test_register(suite, test_io_http_stream_parse_chunk_header_hdronly); |
| 112 ucx_test_register(suite, test_io_http_stream_parse_chunk_header_hdronly_seq_fail); |
112 cx_test_register(suite, test_io_http_stream_parse_chunk_header_hdronly_seq_fail); |
| 113 ucx_test_register(suite, test_io_http_stream_parse_chunk_header_hdr_data); |
113 cx_test_register(suite, test_io_http_stream_parse_chunk_header_hdr_data); |
| 114 ucx_test_register(suite, test_io_http_stream_parse_chunk_header_empty); |
114 cx_test_register(suite, test_io_http_stream_parse_chunk_header_empty); |
| 115 ucx_test_register(suite, test_io_http_stream_parse_chunk_header_partial_first); |
115 cx_test_register(suite, test_io_http_stream_parse_chunk_header_partial_first); |
| 116 ucx_test_register(suite, test_io_http_stream_parse_chunk_header_partial); |
116 cx_test_register(suite, test_io_http_stream_parse_chunk_header_partial); |
| 117 ucx_test_register(suite, test_io_http_stream_parse_chunk_header_invalid); |
117 cx_test_register(suite, test_io_http_stream_parse_chunk_header_invalid); |
| 118 ucx_test_register(suite, test_io_http_stream_parse_chunk_header_zero); |
118 cx_test_register(suite, test_io_http_stream_parse_chunk_header_zero); |
| 119 ucx_test_register(suite, test_io_httpstream_write); |
119 cx_test_register(suite, test_io_httpstream_write); |
| 120 ucx_test_register(suite, test_io_httpstream_chunked_write); |
120 cx_test_register(suite, test_io_httpstream_chunked_write); |
| 121 ucx_test_register(suite, test_io_httpstream_chunked_write_end); |
121 cx_test_register(suite, test_io_httpstream_chunked_write_end); |
| 122 ucx_test_register(suite, test_io_httpstream_chunked_write_xx); |
122 cx_test_register(suite, test_io_httpstream_chunked_write_xx); |
| 123 ucx_test_register(suite, test_io_httpstream_chunked_write_partial_header); |
123 cx_test_register(suite, test_io_httpstream_chunked_write_partial_header); |
| 124 ucx_test_register(suite, test_io_httpstream_chunked_write_partial_data); |
124 cx_test_register(suite, test_io_httpstream_chunked_write_partial_data); |
| 125 ucx_test_register(suite, test_io_httpstream_chunked_write_partial_trailer); |
125 cx_test_register(suite, test_io_httpstream_chunked_write_partial_trailer); |
| 126 ucx_test_register(suite, test_io_httpstream_chunked_write_partial_trailer_partial_header); |
126 cx_test_register(suite, test_io_httpstream_chunked_write_partial_trailer_partial_header); |
| 127 ucx_test_register(suite, test_io_httpstream_chunked_write_data_2x); |
127 cx_test_register(suite, test_io_httpstream_chunked_write_data_2x); |
| 128 ucx_test_register(suite, test_io_httpstream_chunked_write_xx_limit); |
128 cx_test_register(suite, test_io_httpstream_chunked_write_xx_limit); |
| 129 |
129 |
| 130 // vfs tests |
130 // vfs tests |
| 131 ucx_test_register(suite, test_vfs_open); |
131 cx_test_register(suite, test_vfs_open); |
| 132 ucx_test_register(suite, test_vfs_mkdir); |
132 cx_test_register(suite, test_vfs_mkdir); |
| 133 ucx_test_register(suite, test_vfs_opendir); |
133 cx_test_register(suite, test_vfs_opendir); |
| 134 ucx_test_register(suite, test_vfs_readdir); |
134 cx_test_register(suite, test_vfs_readdir); |
| 135 ucx_test_register(suite, test_vfs_unlink); |
135 cx_test_register(suite, test_vfs_unlink); |
| 136 ucx_test_register(suite, test_vfs_rmdir); |
136 cx_test_register(suite, test_vfs_rmdir); |
| 137 |
137 |
| 138 // writer tests |
138 // writer tests |
| 139 ucx_test_register(suite, test_writer_putc); |
139 cx_test_register(suite, test_writer_putc); |
| 140 ucx_test_register(suite, test_writer_flush); |
140 cx_test_register(suite, test_writer_flush); |
| 141 ucx_test_register(suite, test_writer_put); |
141 cx_test_register(suite, test_writer_put); |
| 142 |
142 |
| 143 // xml tests |
143 // xml tests |
| 144 ucx_test_register(suite, test_wsxml_iterator); |
144 cx_test_register(suite, test_wsxml_iterator); |
| 145 ucx_test_register(suite, test_wsxml_get_required_namespaces); |
145 cx_test_register(suite, test_wsxml_get_required_namespaces); |
| 146 ucx_test_register(suite, test_wsxml_write_nodes); |
146 cx_test_register(suite, test_wsxml_write_nodes); |
| 147 ucx_test_register(suite, test_wsxml_nslist2string); |
147 cx_test_register(suite, test_wsxml_nslist2string); |
| 148 ucx_test_register(suite, test_wsxml_string2nslist); |
148 cx_test_register(suite, test_wsxml_string2nslist); |
| 149 |
149 |
| 150 // webdav tests |
150 // webdav tests |
| 151 ucx_test_register(suite, test_webdav_plist_add); |
151 cx_test_register(suite, test_webdav_plist_add); |
| 152 ucx_test_register(suite, test_webdav_plist_size); |
152 cx_test_register(suite, test_webdav_plist_size); |
| 153 ucx_test_register(suite, test_propfind_parse); |
153 cx_test_register(suite, test_propfind_parse); |
| 154 ucx_test_register(suite, test_proppatch_parse); |
154 cx_test_register(suite, test_proppatch_parse); |
| 155 ucx_test_register(suite, test_lock_parse); |
155 cx_test_register(suite, test_lock_parse); |
| 156 ucx_test_register(suite, test_rqbody2buffer); |
156 cx_test_register(suite, test_rqbody2buffer); |
| 157 ucx_test_register(suite, test_webdav_plist_iterator); |
157 cx_test_register(suite, test_webdav_plist_iterator); |
| 158 ucx_test_register(suite, test_webdav_plist_iterator_remove_current); |
158 cx_test_register(suite, test_webdav_plist_iterator_remove_current); |
| 159 ucx_test_register(suite, test_msresponse_addproperty); |
159 cx_test_register(suite, test_msresponse_addproperty); |
| 160 ucx_test_register(suite, test_webdav_propfind_init); |
160 cx_test_register(suite, test_webdav_propfind_init); |
| 161 ucx_test_register(suite, test_webdav_op_propfind_begin); |
161 cx_test_register(suite, test_webdav_op_propfind_begin); |
| 162 ucx_test_register(suite, test_webdav_op_propfind_children); |
162 cx_test_register(suite, test_webdav_op_propfind_children); |
| 163 ucx_test_register(suite, test_proppatch_msresponse); |
163 cx_test_register(suite, test_proppatch_msresponse); |
| 164 ucx_test_register(suite, test_msresponse_addproperty_with_errors); |
164 cx_test_register(suite, test_msresponse_addproperty_with_errors); |
| 165 ucx_test_register(suite, test_webdav_op_proppatch); |
165 cx_test_register(suite, test_webdav_op_proppatch); |
| 166 ucx_test_register(suite, test_webdav_vfs_op_do); |
166 cx_test_register(suite, test_webdav_vfs_op_do); |
| 167 ucx_test_register(suite, test_webdav_delete); |
167 cx_test_register(suite, test_webdav_delete); |
| 168 |
168 |
| 169 // webdav methods |
169 // webdav methods |
| 170 ucx_test_register(suite, test_webdav_propfind); |
170 cx_test_register(suite, test_webdav_propfind); |
| 171 ucx_test_register(suite, test_webdav_proppatch); |
171 cx_test_register(suite, test_webdav_proppatch); |
| 172 ucx_test_register(suite, test_webdav_put); |
172 cx_test_register(suite, test_webdav_put); |
| 173 |
173 |
| 174 // plugin tests |
174 // plugin tests |
| 175 #ifdef ENABLE_POSTGRESQL |
175 #ifdef ENABLE_POSTGRESQL |
| 176 register_pg_tests(argc, argv, suite); |
176 register_pg_tests(argc, argv, suite); |
| 177 #endif |
177 #endif |
| 178 |
178 |
| 179 // run tests |
179 // run tests |
| 180 ucx_test_run(suite, stdout); |
180 cx_test_run_stdout(suite); |
| 181 fflush(stdout); |
181 fflush(stdout); |
| 182 |
182 |
| 183 return EXIT_SUCCESS; |
183 return EXIT_SUCCESS; |
| 184 } |
184 } |
| 185 |
185 |