Commit b3a47758 authored by Rusty Russell's avatar Rusty Russell

ccanlint: have valgrind fail with an error, always

The upcoming failtest module can only tell that a child failed when it
exits with a non-zero error.  So we need this, although it means for ccanlint
it still needs to look at output to distinguish a memory leak from a real
error.

parent 2d424399
......@@ -108,26 +108,24 @@ static void do_run_tests_vg(struct manifest *m,
score->total++;
/* FIXME: Valgrind's output sucks. XML is unreadable by
* humans, and you can't have both. */
if (run_command(score, timeleft, &cmdout,
"valgrind -q --leak-check=full"
" --log-fd=3 %s %s"
" 3> valgrind.log",
run_tests_vg.options ?
run_tests_vg.options : "",
i->compiled)) {
output = grab_file(i, "valgrind.log", NULL);
if (!output || output[0] == '\0') {
err = NULL;
} else {
i->leak_info = get_leaks(output, &err);
}
if (err) {
score_file_error(score, i, 0, err);
} else
score->score++;
run_command(score, timeleft, &cmdout,
"valgrind -q --error-exitcode=101"
" --leak-check=full"
" --log-fd=3 %s %s"
" 3> valgrind.log",
run_tests_vg.options ?
run_tests_vg.options : "",
i->compiled);
output = grab_file(i, "valgrind.log", NULL);
if (!output || output[0] == '\0') {
err = NULL;
} else {
score_file_error(score, i, 0, cmdout);
i->leak_info = get_leaks(output, &err);
}
if (err)
score_file_error(score, i, 0, err);
else
score->score++;
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment