Browse Source

ccanlint: handle circular test-depends.

eg. asort depends on order, but order testdepends on asort.

Probably not the greatest thing to do, but don't barf because of it.

Reported-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell 10 years ago
parent
commit
04b63db616
1 changed files with 4 additions and 1 deletions
  1. 4 1
      tools/ccanlint/tests/depends_exist.c

+ 4 - 1
tools/ccanlint/tests/depends_exist.c

@@ -103,8 +103,11 @@ static void check_test_depends_exist(struct manifest *m,
 		if (!strstarts(deps[i], "ccan/"))
 			continue;
 
-		/* Don't add dependency twice: we can only be on one list! */
+		/* Don't add dependency twice: we can only be on one list!
+		 * Also, it's possible to have circular test depends, so drop
+		 * self-refs. */
 		if (!have_dep(m, deps[i])
+		    && !streq(deps[i] + strlen("ccan/"), m->modname)
 		    && !add_dep(m, &m->test_deps, deps[i], score))
 			return;