MCPcopy Create free account
hub / github.com/ElementsProject/lightning / bad_programmer

Function bad_programmer

common/test/run-param.c:304–359  ·  view source on GitHub ↗

* Check to make sure there are no programming mistakes. */

Source from the content-addressed store, hash-verified

302 * Check to make sure there are no programming mistakes.
303 */
304static void bad_programmer(void)
305{
306 u64 *ival;
307 u64 *ival2;
308 u64 *fpval;
309 struct json *j = json_parse(cmd, "[ '25', '546', '26' ]");
310
311 /* check for repeated names */
312 assert(!param(cmd, j->buffer, j->toks,
313 p_req("repeat", param_u64, &ival),
314 p_req("fp", param_millionths, &fpval),
315 p_req("repeat", param_u64, &ival2), NULL));
316 assert(check_fail());
317 assert(strstr(fail_msg, "developer error"));
318
319 assert(!param(cmd, j->buffer, j->toks,
320 p_req("repeat", param_u64, &ival),
321 p_req("fp", param_millionths, &fpval),
322 p_req("repeat", param_u64, &ival), NULL));
323 assert(check_fail());
324 assert(strstr(fail_msg, "developer error"));
325
326 assert(!param(cmd, j->buffer, j->toks,
327 p_req("u64", param_u64, &ival),
328 p_req("repeat", param_millionths, &fpval),
329 p_req("repeat", param_millionths, &fpval), NULL));
330 assert(check_fail());
331 assert(strstr(fail_msg, "developer error"));
332
333 /* check for repeated arguments */
334 assert(!param(cmd, j->buffer, j->toks,
335 p_req("u64", param_u64, &ival),
336 p_req("repeated-arg", param_u64, &ival), NULL));
337 assert(check_fail());
338 assert(strstr(fail_msg, "developer error"));
339
340 assert(!param(cmd, j->buffer, j->toks,
341 p_req("u64", (param_cbx) NULL, NULL), NULL));
342 assert(check_fail());
343 assert(strstr(fail_msg, "developer error"));
344
345 /* Add required param after optional */
346 j = json_parse(cmd, "[ '25', '546', '26', '1.1' ]");
347 unsigned int *msatoshi;
348 u64 *riskfactor_millionths;
349 assert(!param(
350 cmd, j->buffer, j->toks, p_req("u64", param_u64, &ival),
351 p_req("fp", param_millionths, &fpval),
352 p_opt_def("msatoshi", param_number, &msatoshi, 100),
353 p_req("riskfactor", param_millionths, &riskfactor_millionths),
354 NULL));
355 assert(*msatoshi);
356 assert(*msatoshi == 100);
357 assert(check_fail());
358 assert(strstr(fail_msg, "developer error"));
359}
360#endif
361

Callers 1

mainFunction · 0.85

Calls 3

check_failFunction · 0.85
json_parseFunction · 0.70
paramClass · 0.70

Tested by

no test coverage detected