* Test for bad creating parameters */
| 171 | * Test for bad creating parameters |
| 172 | */ |
| 173 | static int |
| 174 | test_member_create_bad_param(void) |
| 175 | { |
| 176 | struct rte_member_setsum *bad_setsum = NULL; |
| 177 | struct rte_member_parameters bad_params = { |
| 178 | .num_keys = MAX_ENTRIES, /* Total hash table entries. */ |
| 179 | .key_len = KEY_SIZE, /* Length of hash key. */ |
| 180 | .type = RTE_MEMBER_TYPE_HT, |
| 181 | .num_set = 32, |
| 182 | .false_positive_rate = 0.03, |
| 183 | .prim_hash_seed = 1, |
| 184 | .sec_hash_seed = 11, |
| 185 | .socket_id = 0 /* NUMA Socket ID for memory. */ |
| 186 | }; |
| 187 | |
| 188 | printf("Expected error section begin...\n"); |
| 189 | bad_params.name = "bad_param1"; |
| 190 | bad_params.num_set = 0; |
| 191 | bad_params.type = RTE_MEMBER_TYPE_VBF; |
| 192 | /* Test with 0 set for vBF should fail */ |
| 193 | bad_setsum = rte_member_create(&bad_params); |
| 194 | if (bad_setsum != NULL) { |
| 195 | rte_member_free(bad_setsum); |
| 196 | printf("Impossible creating setsum successfully with invalid " |
| 197 | "number of set for vBF\n"); |
| 198 | return -1; |
| 199 | } |
| 200 | |
| 201 | bad_params.name = "bad_param2"; |
| 202 | bad_params.false_positive_rate = 0; |
| 203 | bad_params.num_set = 32; |
| 204 | /* Test with 0 false positive for vBF should fail */ |
| 205 | bad_setsum = rte_member_create(&bad_params); |
| 206 | if (bad_setsum != NULL) { |
| 207 | rte_member_free(bad_setsum); |
| 208 | printf("Impossible creating setsum successfully with invalid " |
| 209 | "false positive rate for vBF\n"); |
| 210 | return -1; |
| 211 | } |
| 212 | |
| 213 | bad_params.name = "bad_param3"; |
| 214 | bad_params.false_positive_rate = 0.03; |
| 215 | bad_params.num_keys = 0; |
| 216 | /* Test with 0 key per BF for vBF should fail */ |
| 217 | bad_setsum = rte_member_create(&bad_params); |
| 218 | if (bad_setsum != NULL) { |
| 219 | rte_member_free(bad_setsum); |
| 220 | printf("Impossible creating setsum successfully with invalid " |
| 221 | "num_keys for vBF\n"); |
| 222 | return -1; |
| 223 | } |
| 224 | |
| 225 | bad_params.name = "bad_param4"; |
| 226 | bad_params.type = RTE_MEMBER_TYPE_HT; |
| 227 | bad_params.num_keys = RTE_MEMBER_BUCKET_ENTRIES / 2; |
| 228 | /* Test with less than 1 bucket for HTSS should fail */ |
| 229 | bad_setsum = rte_member_create(&bad_params); |
| 230 | if (bad_setsum != NULL) { |
no test coverage detected