X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=tools%2Fccanlint%2Ftests%2Fcheck_depends_built.c;fp=tools%2Fccanlint%2Ftests%2Fcheck_depends_built.c;h=0000000000000000000000000000000000000000;hb=5f44c8ca0eb66503db51e0df1b65ff173eb42f57;hp=1392be910a3400c04d83744843c109023f1f3e96;hpb=382e1e2900997b5cc5f28c350c6fcb54d4859ecc;p=ccan diff --git a/tools/ccanlint/tests/check_depends_built.c b/tools/ccanlint/tests/check_depends_built.c deleted file mode 100644 index 1392be91..00000000 --- a/tools/ccanlint/tests/check_depends_built.c +++ /dev/null @@ -1,103 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -static const char *can_build(struct manifest *m) -{ - if (safe_mode) - return "Safe mode enabled"; - return NULL; -} - -/* FIXME: recursive ccanlint if they ask for it. */ -static bool expect_obj_file(const char *dir) -{ - char *olddir; - struct manifest *dep_man; - bool has_c_files; - - olddir = talloc_getcwd(dir); - if (!olddir) - err(1, "Getting current directory"); - - /* We will fail below if this doesn't exist. */ - if (chdir(dir) != 0) - return false; - - dep_man = get_manifest(dir); - if (chdir(olddir) != 0) - err(1, "Returning to original directory '%s'", olddir); - talloc_free(olddir); - - /* If it has C files, we expect an object file built from them. */ - has_c_files = !list_empty(&dep_man->c_files); - talloc_free(dep_man); - return has_c_files; -} - -static void *check_depends_built(struct manifest *m) -{ - struct ccan_file *i; - struct stat st; - char *report = NULL; - - list_for_each(&m->dep_dirs, i, list) { - char *objfile; - - if (!expect_obj_file(i->name)) - continue; - - objfile = talloc_asprintf(m, "%s.o", i->name); - if (stat(objfile, &st) != 0) { - report = talloc_asprintf_append(report, - "object file %s\n", - objfile); - } else { - struct ccan_file *f = new_ccan_file(m, objfile); - list_add_tail(&m->dep_objs, &f->list); - } - - } - - /* We may need libtap for testing, unless we're "tap" */ - if (!streq(m->basename, "tap") - && (!list_empty(&m->run_tests) || !list_empty(&m->api_tests))) { - if (stat("../tap.o", &st) != 0) { - report = talloc_asprintf_append(report, - "object file ../tap.o" - " (for tests)\n"); - } - } - - return talloc_steal(m, report); -} - -static const char *describe_depends_built(struct manifest *m, - void *check_result) -{ - return talloc_asprintf(check_result, - "The following dependencies are not built:\n" - "%s", (char *)check_result); -} - -struct ccanlint depends_built = { - .name = "CCAN dependencies are built", - .total_score = 1, - .check = check_depends_built, - .describe = describe_depends_built, - .can_run = can_build, -}; - -REGISTER_TEST(depends_built, &depends_exist, NULL);