Browse Source

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.
Rusty Russell 15 years ago
parent
commit
db43894721

+ 1 - 1
tools/ccanlint/ccanlint.h

@@ -4,7 +4,7 @@
 #include <stdbool.h>
 #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.

+ 1 - 2
tools/ccanlint/tests/info_documentation_exists.c

@@ -15,7 +15,7 @@
 #include <ccan/noerr/noerr.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)
 {
@@ -101,4 +101,3 @@ struct ccanlint info_documentation_exists = {
 	.needs = "info_exists"
 };
 
-REGISTER_TEST(info_documentation_exists);

+ 2 - 4
tools/ccanlint/tests/license_exists.c

@@ -11,7 +11,7 @@
 #include <ccan/talloc/talloc.h>
 #include <ccan/str/str.h>
 
-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);

+ 1 - 2
tools/ccanlint/tests/tests_exist.c

@@ -10,7 +10,7 @@
 #include <err.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)
 {
@@ -135,4 +135,3 @@ struct ccanlint tests_exist = {
 	.needs = ""
 };
 
-REGISTER_TEST(tests_exist);

+ 5 - 7
tools/ccanlint/tests/tests_pass_valgrind.c

@@ -17,7 +17,7 @@
 #include <string.h>
 #include <ctype.h>
 
-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",