Browse Source

kconfig: error out when seeing recursive dependency

Originally, recursive dependency was a fatal error for Kconfig
because Kconfig cannot compute symbol values in such a situation.

Commit d595cea62403 ("kconfig: print more info when we see a recursive
dependency") changed it to a warning, which I guess was not intentional.

Get it back to an error again.

Also, rename the unit test directory "warn_recursive_dep" to
"err_recursive_dep" so that it matches to the behavior.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Tested-by: Dirk Gouders <dirk@gouders.net>
Masahiro Yamada 7 years ago
parent
commit
f1575595d1

+ 0 - 3
scripts/kconfig/symbol.c

@@ -1248,9 +1248,6 @@ struct symbol *sym_check_deps(struct symbol *sym)
 		sym->flags &= ~SYMBOL_CHECK;
 	}
 
-	if (sym2 && sym2 == sym)
-		sym2 = NULL;
-
 	return sym2;
 }
 

+ 0 - 0
scripts/kconfig/tests/warn_recursive_dep/Kconfig → scripts/kconfig/tests/err_recursive_dep/Kconfig


+ 10 - 0
scripts/kconfig/tests/err_recursive_dep/__init__.py

@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: GPL-2.0
+"""
+Detect recursive dependency error.
+
+Recursive dependency should be treated as an error.
+"""
+
+def test(conf):
+    assert conf.oldaskconfig() == 1
+    assert conf.stderr_contains('expected_stderr')

+ 0 - 0
scripts/kconfig/tests/warn_recursive_dep/expected_stderr → scripts/kconfig/tests/err_recursive_dep/expected_stderr


+ 0 - 9
scripts/kconfig/tests/warn_recursive_dep/__init__.py

@@ -1,9 +0,0 @@
-"""
-Warn recursive inclusion.
-
-Recursive dependency should be warned.
-"""
-
-def test(conf):
-    assert conf.oldaskconfig() == 0
-    assert conf.stderr_contains('expected_stderr')