Re: [PATCH v2 11/11] kconfig: unittest: test if recursive inclusion is detected

From: Masahiro Yamada
Date: Fri Mar 02 2018 - 02:09:17 EST


2018-03-02 13:32 GMT+09:00 Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>:
> If recursive inclusion is detected, it should fail with error messages.
> Test this.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> Reviewed-by: Ulf Magnusson <ulfalizer@xxxxxxxxx>
> ---
>
> Changes in v2:
> - coding style clean-up based on PEP8, PEP257
>
> scripts/kconfig/tests/err_recursive_inc/Kconfig | 1 +
> scripts/kconfig/tests/err_recursive_inc/Kconfig.inc | 1 +
> scripts/kconfig/tests/err_recursive_inc/__init__.py | 10 ++++++++++
> scripts/kconfig/tests/err_recursive_inc/expected_stderr | 4 ++++
> 4 files changed, 16 insertions(+)
> create mode 100644 scripts/kconfig/tests/err_recursive_inc/Kconfig
> create mode 100644 scripts/kconfig/tests/err_recursive_inc/Kconfig.inc
> create mode 100644 scripts/kconfig/tests/err_recursive_inc/__init__.py
> create mode 100644 scripts/kconfig/tests/err_recursive_inc/expected_stderr
>
> diff --git a/scripts/kconfig/tests/err_recursive_inc/Kconfig b/scripts/kconfig/tests/err_recursive_inc/Kconfig
> new file mode 100644
> index 0000000..3ce7a3f
> --- /dev/null
> +++ b/scripts/kconfig/tests/err_recursive_inc/Kconfig
> @@ -0,0 +1 @@
> +source "Kconfig.inc"
> diff --git a/scripts/kconfig/tests/err_recursive_inc/Kconfig.inc b/scripts/kconfig/tests/err_recursive_inc/Kconfig.inc
> new file mode 100644
> index 0000000..1fab1c1
> --- /dev/null
> +++ b/scripts/kconfig/tests/err_recursive_inc/Kconfig.inc
> @@ -0,0 +1 @@
> +source "Kconfig"
> diff --git a/scripts/kconfig/tests/err_recursive_inc/__init__.py b/scripts/kconfig/tests/err_recursive_inc/__init__.py
> new file mode 100644
> index 0000000..0e4c839
> --- /dev/null
> +++ b/scripts/kconfig/tests/err_recursive_inc/__init__.py
> @@ -0,0 +1,10 @@
> +"""
> +Detect recursive inclusion error.
> +
> +If recursive inclusion is detected, it should fail with error messages.
> +"""
> +
> +
> +def test(conf):
> + assert conf.oldaskconfig() != 0
> + assert conf.stderr_contains('expected_stderr')
> diff --git a/scripts/kconfig/tests/err_recursive_inc/expected_stderr b/scripts/kconfig/tests/err_recursive_inc/expected_stderr
> new file mode 100644
> index 0000000..b256c91
> --- /dev/null
> +++ b/scripts/kconfig/tests/err_recursive_inc/expected_stderr
> @@ -0,0 +1,4 @@
> +Kconfig:1: recursive inclusion detected. Inclusion path:
> + current file : 'Kconfig'
> + included from: 'Kconfig.inc:1'
> + included from: 'Kconfig:3'


Currently, the line number is wrong.

The following patch should be applied first
https://patchwork.kernel.org/patch/10253541/


Then, expected data should be changed

included from: 'Kconfig:3'

->

included from: 'Kconfig:1'



--
Best Regards
Masahiro Yamada