ccanlint: Add -k option to keep results.
[ccan] / tools / ccanlint / compulsory_tests / build.c
index e3f96d7d62c6c28b79e8a2f8b5bdd7f476b79725..a8f7bcb6aac6303344837c59eab1648f1e84fea2 100644 (file)
@@ -33,7 +33,9 @@ static char *obj_list(const struct manifest *m)
        return list;
 }
 
-static void *do_build(struct manifest *m)
+static void *do_build(struct manifest *m,
+                     bool keep,
+                     unsigned int *timeleft)
 {
        char *filename, *err;
 
@@ -43,10 +45,10 @@ static void *do_build(struct manifest *m)
                return NULL;
        }
        filename = link_objects(m, obj_list(m), &err);
-       if (filename) {
+       if (filename && keep) {
                char *realname = talloc_asprintf(m, "%s.o", m->dir);
                /* We leave this object file around, all built. */
-               if (rename(filename, realname) != 0)
+               if (!move_file(filename, realname))
                        return talloc_asprintf(m, "Failed to rename %s to %s",
                                               filename, realname);
                return NULL;
@@ -62,7 +64,8 @@ static const char *describe_build(struct manifest *m, void *check_result)
 }
 
 struct ccanlint build = {
-       .name = "Module can be built",
+       .key = "build",
+       .name = "Module can be built from object files",
        .total_score = 1,
        .check = do_build,
        .describe = describe_build,