diff options
| author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-08-15 01:59:43 -0400 |
|---|---|---|
| committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-08-22 10:21:38 -0400 |
| commit | f1575595d15657bd78c139978107deabec5a3959 (patch) | |
| tree | c5964d3190c31f05e2eeee3913047490958ebfc0 /scripts | |
| parent | 4bf6a9af0e9107926d1fb0112e7f9acb0d798cb4 (diff) | |
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>
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/kconfig/symbol.c | 3 | ||||
| -rw-r--r-- | scripts/kconfig/tests/err_recursive_dep/Kconfig (renamed from scripts/kconfig/tests/warn_recursive_dep/Kconfig) | 0 | ||||
| -rw-r--r-- | scripts/kconfig/tests/err_recursive_dep/__init__.py | 10 | ||||
| -rw-r--r-- | scripts/kconfig/tests/err_recursive_dep/expected_stderr (renamed from scripts/kconfig/tests/warn_recursive_dep/expected_stderr) | 0 | ||||
| -rw-r--r-- | scripts/kconfig/tests/warn_recursive_dep/__init__.py | 9 |
5 files changed, 10 insertions, 12 deletions
diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c index 4ec8b1f0d42c..688f487ff454 100644 --- a/scripts/kconfig/symbol.c +++ b/scripts/kconfig/symbol.c | |||
| @@ -1248,9 +1248,6 @@ struct symbol *sym_check_deps(struct symbol *sym) | |||
| 1248 | sym->flags &= ~SYMBOL_CHECK; | 1248 | sym->flags &= ~SYMBOL_CHECK; |
| 1249 | } | 1249 | } |
| 1250 | 1250 | ||
| 1251 | if (sym2 && sym2 == sym) | ||
| 1252 | sym2 = NULL; | ||
| 1253 | |||
| 1254 | return sym2; | 1251 | return sym2; |
| 1255 | } | 1252 | } |
| 1256 | 1253 | ||
diff --git a/scripts/kconfig/tests/warn_recursive_dep/Kconfig b/scripts/kconfig/tests/err_recursive_dep/Kconfig index a65bfcb7137e..a65bfcb7137e 100644 --- a/scripts/kconfig/tests/warn_recursive_dep/Kconfig +++ b/scripts/kconfig/tests/err_recursive_dep/Kconfig | |||
diff --git a/scripts/kconfig/tests/err_recursive_dep/__init__.py b/scripts/kconfig/tests/err_recursive_dep/__init__.py new file mode 100644 index 000000000000..5f3821b43ce6 --- /dev/null +++ b/scripts/kconfig/tests/err_recursive_dep/__init__.py | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | # SPDX-License-Identifier: GPL-2.0 | ||
| 2 | """ | ||
| 3 | Detect recursive dependency error. | ||
| 4 | |||
| 5 | Recursive dependency should be treated as an error. | ||
| 6 | """ | ||
| 7 | |||
| 8 | def test(conf): | ||
| 9 | assert conf.oldaskconfig() == 1 | ||
| 10 | assert conf.stderr_contains('expected_stderr') | ||
diff --git a/scripts/kconfig/tests/warn_recursive_dep/expected_stderr b/scripts/kconfig/tests/err_recursive_dep/expected_stderr index 3de807dd9cb2..3de807dd9cb2 100644 --- a/scripts/kconfig/tests/warn_recursive_dep/expected_stderr +++ b/scripts/kconfig/tests/err_recursive_dep/expected_stderr | |||
diff --git a/scripts/kconfig/tests/warn_recursive_dep/__init__.py b/scripts/kconfig/tests/warn_recursive_dep/__init__.py deleted file mode 100644 index adb21951ba41..000000000000 --- a/scripts/kconfig/tests/warn_recursive_dep/__init__.py +++ /dev/null | |||
| @@ -1,9 +0,0 @@ | |||
| 1 | """ | ||
| 2 | Warn recursive inclusion. | ||
| 3 | |||
| 4 | Recursive dependency should be warned. | ||
| 5 | """ | ||
| 6 | |||
| 7 | def test(conf): | ||
| 8 | assert conf.oldaskconfig() == 0 | ||
| 9 | assert conf.stderr_contains('expected_stderr') | ||
