Commit db438947 authored by Rusty Russell's avatar Rusty Russell

ccanlint: fix _info option handling

Two places were using a bogus ccanlint struct: the side-effect was
that valgrind options didn't work, nor did license fixups.

Make REGISTER_TEST do the extern declaration, and remove the bogus
ones.
parent 10044422
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include <stdbool.h> #include <stdbool.h>
#include "../doc_extract.h" #include "../doc_extract.h"
#define REGISTER_TEST(name, ...) #define REGISTER_TEST(name, ...) extern struct ccanlint name
/* 0 == Describe failed tests. /* 0 == Describe failed tests.
1 == Describe results for partial failures. 1 == Describe results for partial failures.
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#include <ccan/noerr/noerr.h> #include <ccan/noerr/noerr.h>
#include <ccan/grab_file/grab_file.h> #include <ccan/grab_file/grab_file.h>
extern struct ccanlint info_documentation_exists; REGISTER_TEST(info_documentation_exists);
static void create_info_template_doc(struct manifest *m, struct score *score) static void create_info_template_doc(struct manifest *m, struct score *score)
{ {
...@@ -101,4 +101,3 @@ struct ccanlint info_documentation_exists = { ...@@ -101,4 +101,3 @@ struct ccanlint info_documentation_exists = {
.needs = "info_exists" .needs = "info_exists"
}; };
REGISTER_TEST(info_documentation_exists);
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#include <ccan/talloc/talloc.h> #include <ccan/talloc/talloc.h>
#include <ccan/str/str.h> #include <ccan/str/str.h>
struct ccanlint has_license; REGISTER_TEST(license_exists);
static struct doc_section *find_license(const struct manifest *m) static struct doc_section *find_license(const struct manifest *m)
{ {
...@@ -114,7 +114,7 @@ static void check_has_license(struct manifest *m, ...@@ -114,7 +114,7 @@ static void check_has_license(struct manifest *m,
score->error = talloc_strdup(score, score->error = talloc_strdup(score,
"LICENSE does not exist"); "LICENSE does not exist");
if (expected) if (expected)
has_license.handle = handle_license_link; license_exists.handle = handle_license_link;
return; return;
} }
err(1, "readlink on %s", license); err(1, "readlink on %s", license);
...@@ -156,5 +156,3 @@ struct ccanlint license_exists = { ...@@ -156,5 +156,3 @@ struct ccanlint license_exists = {
.check = check_has_license, .check = check_has_license,
.needs = "info_exists" .needs = "info_exists"
}; };
REGISTER_TEST(license_exists);
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include <err.h> #include <err.h>
#include <ccan/talloc/talloc.h> #include <ccan/talloc/talloc.h>
extern struct ccanlint tests_exist; REGISTER_TEST(tests_exist);
static void handle_no_tests(struct manifest *m, struct score *score) static void handle_no_tests(struct manifest *m, struct score *score)
{ {
...@@ -135,4 +135,3 @@ struct ccanlint tests_exist = { ...@@ -135,4 +135,3 @@ struct ccanlint tests_exist = {
.needs = "" .needs = ""
}; };
REGISTER_TEST(tests_exist);
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
#include <string.h> #include <string.h>
#include <ctype.h> #include <ctype.h>
struct ccanlint run_tests_vg; REGISTER_TEST(tests_pass_valgrind);
/* Note: we already test safe_mode in run_tests.c */ /* Note: we already test safe_mode in run_tests.c */
static const char *can_run_vg(struct manifest *m) static const char *can_run_vg(struct manifest *m)
...@@ -115,8 +115,8 @@ static void do_run_tests_vg(struct manifest *m, ...@@ -115,8 +115,8 @@ static void do_run_tests_vg(struct manifest *m,
" --leak-check=full" " --leak-check=full"
" --log-fd=3 %s %s" " --log-fd=3 %s %s"
" 3> valgrind.log", " 3> valgrind.log",
run_tests_vg.options ? tests_pass_valgrind.options ?
run_tests_vg.options : "", tests_pass_valgrind.options : "",
i->compiled); i->compiled);
output = grab_file(i, "valgrind.log", NULL); output = grab_file(i, "valgrind.log", NULL);
if (!output || output[0] == '\0') { if (!output || output[0] == '\0') {
...@@ -173,8 +173,8 @@ static void run_under_debugger_vg(struct manifest *m, struct score *score) ...@@ -173,8 +173,8 @@ static void run_under_debugger_vg(struct manifest *m, struct score *score)
first = list_top(&score->per_file_errors, struct file_error, list); first = list_top(&score->per_file_errors, struct file_error, list);
command = talloc_asprintf(m, "valgrind --db-attach=yes%s %s", command = talloc_asprintf(m, "valgrind --db-attach=yes%s %s",
run_tests_vg.options ? tests_pass_valgrind.options ?
run_tests_vg.options : "", tests_pass_valgrind.options : "",
first->file->compiled); first->file->compiled);
if (system(command)) if (system(command))
doesnt_matter(); doesnt_matter();
...@@ -190,8 +190,6 @@ struct ccanlint tests_pass_valgrind = { ...@@ -190,8 +190,6 @@ struct ccanlint tests_pass_valgrind = {
.needs = "tests_pass" .needs = "tests_pass"
}; };
REGISTER_TEST(tests_pass_valgrind);
struct ccanlint tests_pass_valgrind_noleaks = { struct ccanlint tests_pass_valgrind_noleaks = {
.key = "tests_pass_valgrind_noleaks", .key = "tests_pass_valgrind_noleaks",
.name = "Module's run and api tests have no memory leaks", .name = "Module's run and api tests have no memory leaks",
......
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