X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Fcompulsory_tests%2Fdepends_exist.c;h=b1694058b632c18ea54d58a9b028d39768f7ea4e;hp=b6be1f94b91ddd47f50538caa862cc9d511f44ed;hb=4c5ed661c625ac2638a18f9540ff5b9f96a6ba6f;hpb=5079b95c1121e7a8e5b0b18b094ec7d8a539c7c7;ds=inline diff --git a/tools/ccanlint/compulsory_tests/depends_exist.c b/tools/ccanlint/compulsory_tests/depends_exist.c index b6be1f94..b1694058 100644 --- a/tools/ccanlint/compulsory_tests/depends_exist.c +++ b/tools/ccanlint/compulsory_tests/depends_exist.c @@ -33,6 +33,7 @@ static bool add_dep(struct manifest *m, const char *dep, struct score *score) return true; } +/* FIXME: check this is still true once we reduce features. */ static void check_depends_exist(struct manifest *m, bool keep, unsigned int *timeleft, struct score *score) @@ -40,15 +41,25 @@ static void check_depends_exist(struct manifest *m, unsigned int i; char **deps; char *updir = talloc_strdup(m, m->dir); + bool needs_tap; if (strrchr(updir, '/')) *strrchr(updir, '/') = '\0'; + /* We may need libtap for testing, unless we're "tap" */ + if (streq(m->basename, "tap")) { + needs_tap = false; + } else if (list_empty(&m->run_tests) && list_empty(&m->api_tests)) { + needs_tap = false; + } else { + needs_tap = true; + } + if (safe_mode) - deps = get_safe_ccan_deps(m, m->dir, true, - &m->info_file->compiled); + deps = get_safe_ccan_deps(m, m->dir, true); else - deps = get_deps(m, m->dir, true, &m->info_file->compiled); + deps = get_deps(m, m->dir, true, + &m->info_file->compiled[COMPILE_NORMAL]); for (i = 0; deps[i]; i++) { if (!strstarts(deps[i], "ccan/")) @@ -56,13 +67,14 @@ static void check_depends_exist(struct manifest *m, if (!add_dep(m, deps[i], score)) return; + + if (streq(deps[i], "ccan/tap")) { + needs_tap = false; + } } - /* 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 (!add_dep(m, "ccan/tap", score)) - return; + if (needs_tap && !add_dep(m, "ccan/tap", score)) { + return; } score->pass = true;