X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=tools%2Fccanlint%2Ftests%2Flicense_exists.c;h=a841d665b2e8f683ca61f831e8b9f794b347ec52;hb=082d651ffd87f78f20d56aa477c3c75d7361c1e1;hp=965a159ff8fff53f15bea96d4675c052eedbd9f0;hpb=051db34fb275491d4d5dfa5bf7970e8e525766d8;p=ccan diff --git a/tools/ccanlint/tests/license_exists.c b/tools/ccanlint/tests/license_exists.c index 965a159f..a841d665 100644 --- a/tools/ccanlint/tests/license_exists.c +++ b/tools/ccanlint/tests/license_exists.c @@ -11,8 +11,6 @@ #include #include -struct ccanlint has_license; - static struct doc_section *find_license(const struct manifest *m) { struct doc_section *d; @@ -51,10 +49,11 @@ static const char *expected_link(const struct manifest *m, || streq(d->lines[0], "LGPLv2 (or later)") || streq(d->lines[0], "LGPL (2 or any later version)")) return "../../licenses/LGPL-2.1"; - if (streq(d->lines[0], "BSD") - || streq(d->lines[0], "BSD-MIT") + if (streq(d->lines[0], "BSD-MIT") || streq(d->lines[0], "MIT")) return "../../licenses/BSD-MIT"; + if (streq(d->lines[0], "BSD (3 clause)")) + return "../../licenses/BSD-3CLAUSE"; return NULL; } @@ -78,6 +77,8 @@ static void handle_license_link(struct manifest *m, struct score *score) } } +extern struct ccanlint license_exists; + static void check_has_license(struct manifest *m, bool keep, unsigned int *timeleft, struct score *score) @@ -90,9 +91,12 @@ static void check_has_license(struct manifest *m, d = find_license(m); if (!d) { - score->error = "No License: tag in _info"; + score->error = talloc_strdup(score, "No License: tag in _info"); return; } + /* If they have a license tag at all, we pass. */ + score->pass = true; + expected = expected_link(m, d); len = readlink(license, buf, sizeof(buf)); @@ -111,9 +115,10 @@ static void check_has_license(struct manifest *m, return; } if (errno == ENOENT) { - score->error = "LICENSE does not exist"; + 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); @@ -155,5 +160,4 @@ struct ccanlint license_exists = { .check = check_has_license, .needs = "info_exists" }; - REGISTER_TEST(license_exists);