]> git.ozlabs.org Git - ccan/blobdiff - tools/ccanlint/tests/info_documentation_exists.c
configurator: HAVE_PROC_SELF_MAPS
[ccan] / tools / ccanlint / tests / info_documentation_exists.c
index a5316fe00d0ae3dba4a2a2287a51ce1dfeb17faa..6d914648ca19e3852de76632d3b2fac69523f476 100644 (file)
@@ -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)
 {
@@ -59,14 +59,16 @@ static void create_info_template_doc(struct manifest *m, struct score *score)
 }
 
 static void check_info_documentation_exists(struct manifest *m,
-                                        bool keep,
-                                        unsigned int *timeleft,
-                                        struct score *score)
+                                           unsigned int *timeleft,
+                                           struct score *score)
 {
        struct list_head *infodocs = get_ccan_file_docs(m->info_file);
        struct doc_section *d;
        bool summary = false, description = false;
 
+       /* We don't fail ccanlint for this. */
+       score->pass = true;
+
        list_for_each(infodocs, d, list) {
                if (!streq(d->function, m->basename))
                        continue;
@@ -78,17 +80,18 @@ static void check_info_documentation_exists(struct manifest *m,
 
        if (summary && description) {
                score->score = score->total;
-               score->pass = true;
        } else if (!summary) {
-               score->error = "_info file has no module documentation.\n\n"
+               score->error = talloc_strdup(score,
+               "_info file has no module documentation.\n\n"
                "CCAN modules use /**-style comments for documentation: the\n"
-               "overall documentation belongs in the _info metafile.\n";
+               "overall documentation belongs in the _info metafile.\n");
                info_documentation_exists.handle = create_info_template_doc;
        } else if (!description)  {
-               score->error = "_info file has no module description.\n\n"
+               score->error = talloc_strdup(score,
+               "_info file has no module description.\n\n"
                "The lines after the first summary line in the _info file\n"
                "documentation should describe the purpose and use of the\n"
-               "overall package\n";
+               "overall package\n");
        }
 }
 
@@ -99,4 +102,3 @@ struct ccanlint info_documentation_exists = {
        .needs = "info_exists"
 };
 
-REGISTER_TEST(info_documentation_exists);