From db43894721895d0ec0a8e599440a9897136bfcb6 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Tue, 18 Jan 2011 12:17:17 +1030 Subject: [PATCH] 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. --- tools/ccanlint/ccanlint.h | 2 +- tools/ccanlint/tests/info_documentation_exists.c | 3 +-- tools/ccanlint/tests/license_exists.c | 6 ++---- tools/ccanlint/tests/tests_exist.c | 3 +-- tools/ccanlint/tests/tests_pass_valgrind.c | 12 +++++------- 5 files changed, 10 insertions(+), 16 deletions(-) diff --git a/tools/ccanlint/ccanlint.h b/tools/ccanlint/ccanlint.h index 40cb4195..41aaec93 100644 --- a/tools/ccanlint/ccanlint.h +++ b/tools/ccanlint/ccanlint.h @@ -4,7 +4,7 @@ #include #include "../doc_extract.h" -#define REGISTER_TEST(name, ...) +#define REGISTER_TEST(name, ...) extern struct ccanlint name /* 0 == Describe failed tests. 1 == Describe results for partial failures. diff --git a/tools/ccanlint/tests/info_documentation_exists.c b/tools/ccanlint/tests/info_documentation_exists.c index 108f57f1..9caa966f 100644 --- a/tools/ccanlint/tests/info_documentation_exists.c +++ b/tools/ccanlint/tests/info_documentation_exists.c @@ -15,7 +15,7 @@ #include #include -extern struct ccanlint info_documentation_exists; +REGISTER_TEST(info_documentation_exists); static void create_info_template_doc(struct manifest *m, struct score *score) { @@ -101,4 +101,3 @@ struct ccanlint info_documentation_exists = { .needs = "info_exists" }; -REGISTER_TEST(info_documentation_exists); diff --git a/tools/ccanlint/tests/license_exists.c b/tools/ccanlint/tests/license_exists.c index 72461bec..1ae27dd3 100644 --- a/tools/ccanlint/tests/license_exists.c +++ b/tools/ccanlint/tests/license_exists.c @@ -11,7 +11,7 @@ #include #include -struct ccanlint has_license; +REGISTER_TEST(license_exists); static struct doc_section *find_license(const struct manifest *m) { @@ -114,7 +114,7 @@ static void check_has_license(struct manifest *m, score->error = talloc_strdup(score, "LICENSE does not exist"); if (expected) - has_license.handle = handle_license_link; + license_exists.handle = handle_license_link; return; } err(1, "readlink on %s", license); @@ -156,5 +156,3 @@ struct ccanlint license_exists = { .check = check_has_license, .needs = "info_exists" }; - -REGISTER_TEST(license_exists); diff --git a/tools/ccanlint/tests/tests_exist.c b/tools/ccanlint/tests/tests_exist.c index 64b2691e..86f7ef27 100644 --- a/tools/ccanlint/tests/tests_exist.c +++ b/tools/ccanlint/tests/tests_exist.c @@ -10,7 +10,7 @@ #include #include -extern struct ccanlint tests_exist; +REGISTER_TEST(tests_exist); static void handle_no_tests(struct manifest *m, struct score *score) { @@ -135,4 +135,3 @@ struct ccanlint tests_exist = { .needs = "" }; -REGISTER_TEST(tests_exist); diff --git a/tools/ccanlint/tests/tests_pass_valgrind.c b/tools/ccanlint/tests/tests_pass_valgrind.c index 4c4338b6..33eb6b1f 100644 --- a/tools/ccanlint/tests/tests_pass_valgrind.c +++ b/tools/ccanlint/tests/tests_pass_valgrind.c @@ -17,7 +17,7 @@ #include #include -struct ccanlint run_tests_vg; +REGISTER_TEST(tests_pass_valgrind); /* Note: we already test safe_mode in run_tests.c */ static const char *can_run_vg(struct manifest *m) @@ -115,8 +115,8 @@ static void do_run_tests_vg(struct manifest *m, " --leak-check=full" " --log-fd=3 %s %s" " 3> valgrind.log", - run_tests_vg.options ? - run_tests_vg.options : "", + tests_pass_valgrind.options ? + tests_pass_valgrind.options : "", i->compiled); output = grab_file(i, "valgrind.log", NULL); if (!output || output[0] == '\0') { @@ -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); command = talloc_asprintf(m, "valgrind --db-attach=yes%s %s", - run_tests_vg.options ? - run_tests_vg.options : "", + tests_pass_valgrind.options ? + tests_pass_valgrind.options : "", first->file->compiled); if (system(command)) doesnt_matter(); @@ -190,8 +190,6 @@ struct ccanlint tests_pass_valgrind = { .needs = "tests_pass" }; -REGISTER_TEST(tests_pass_valgrind); - struct ccanlint tests_pass_valgrind_noleaks = { .key = "tests_pass_valgrind_noleaks", .name = "Module's run and api tests have no memory leaks", -- 2.39.2