OSDN Git Service

kconfig: tests: test if recursive inclusion is detected
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Tue, 13 Mar 2018 09:12:12 +0000 (18:12 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Sun, 25 Mar 2018 17:04:05 +0000 (02:04 +0900)
If recursive inclusion is detected, it should fail with error
messages.  Test this.

This also tests the line numbers in the error message, fixed by
commit 5ae6fcc4bb82 ("kconfig: fix line number in recursive inclusion
error message").

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Ulf Magnusson <ulfalizer@gmail.com>
scripts/kconfig/tests/err_recursive_inc/Kconfig [new file with mode: 0644]
scripts/kconfig/tests/err_recursive_inc/Kconfig.inc1 [new file with mode: 0644]
scripts/kconfig/tests/err_recursive_inc/Kconfig.inc2 [new file with mode: 0644]
scripts/kconfig/tests/err_recursive_inc/Kconfig.inc3 [new file with mode: 0644]
scripts/kconfig/tests/err_recursive_inc/__init__.py [new file with mode: 0644]
scripts/kconfig/tests/err_recursive_inc/expected_stderr [new file with mode: 0644]

diff --git a/scripts/kconfig/tests/err_recursive_inc/Kconfig b/scripts/kconfig/tests/err_recursive_inc/Kconfig
new file mode 100644 (file)
index 0000000..0e4c875
--- /dev/null
@@ -0,0 +1 @@
+source "Kconfig.inc1"
diff --git a/scripts/kconfig/tests/err_recursive_inc/Kconfig.inc1 b/scripts/kconfig/tests/err_recursive_inc/Kconfig.inc1
new file mode 100644 (file)
index 0000000..00e408d
--- /dev/null
@@ -0,0 +1,4 @@
+
+
+
+source "Kconfig.inc2"
diff --git a/scripts/kconfig/tests/err_recursive_inc/Kconfig.inc2 b/scripts/kconfig/tests/err_recursive_inc/Kconfig.inc2
new file mode 100644 (file)
index 0000000..349ea2d
--- /dev/null
@@ -0,0 +1,3 @@
+
+
+source "Kconfig.inc3"
diff --git a/scripts/kconfig/tests/err_recursive_inc/Kconfig.inc3 b/scripts/kconfig/tests/err_recursive_inc/Kconfig.inc3
new file mode 100644 (file)
index 0000000..0e4c875
--- /dev/null
@@ -0,0 +1 @@
+source "Kconfig.inc1"
diff --git a/scripts/kconfig/tests/err_recursive_inc/__init__.py b/scripts/kconfig/tests/err_recursive_inc/__init__.py
new file mode 100644 (file)
index 0000000..0e4c839
--- /dev/null
@@ -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 (file)
index 0000000..a15dbed
--- /dev/null
@@ -0,0 +1,5 @@
+Kconfig.inc1:4: recursive inclusion detected. Inclusion path:
+  current file : 'Kconfig.inc1'
+  included from: 'Kconfig.inc3:1'
+  included from: 'Kconfig.inc2:3'
+  included from: 'Kconfig.inc1:4'