diff mbox series

[14/14] kconfig: test: check if recursive inclusion is detected

Message ID 1517877294-4826-15-git-send-email-yamada.masahiro@socionext.com
State Superseded
Headers show
Series Add Kconfig unit tests | expand

Commit Message

Masahiro Yamada Feb. 6, 2018, 12:34 a.m. UTC
If recursive inclusion is detected, it should fail with error messages.
Test this.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

---

 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

-- 
2.7.4

Comments

Ulf Magnusson Feb. 8, 2018, 12:16 a.m. UTC | #1
On Tue, Feb 6, 2018 at 1:34 AM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> If recursive inclusion is detected, it should fail with error messages.

> Test this.

>

> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> ---

>

>  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..1dae64f

> --- /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'

> --

> 2.7.4

>


Reviewed-by: Ulf Magnusson <ulfalizer@gmail.com>
diff mbox series

Patch

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..1dae64f
--- /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'