kconfig: test: add Kconfig macro language tests

Here are the test cases I used for developing the text expansion
feature.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
Masahiro Yamada
2018-05-28 18:21:57 +09:00
parent 316d55d55f
commit 2bece88f89
13 changed files with 191 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
# SPDX-License-Identifier: GPL-2.0
# 'info' prints the argument to stdout.
$(info,hello world 0)
# 'warning-if', if the first argument is y, sends the second argument to stderr,
# and the message is prefixed with the current file name and line number.
$(warning-if,y,hello world 1)
# 'error-if' is similar, but it terminates the parsing immediately.
# The following is just no-op since the first argument is not y.
$(error-if,n,this should not be printed)
# Shorthand
warning = $(warning-if,y,$(1))
# 'shell' executes a command, and returns its stdout.
$(warning,$(shell,echo hello world 3))
# Every newline in the output is replaced with a space,
# but any trailing newlines are deleted.
$(warning,$(shell,printf 'hello\nworld\n\n4\n\n\n'))
# 'filename' is expanded to the currently parsed file name,
# 'lineno' to the line number.
$(warning,filename=$(filename))
$(warning,lineno=$(lineno))

View File

@@ -0,0 +1,9 @@
# SPDX-License-Identifier: GPL-2.0
"""
Built-in function tests.
"""
def test(conf):
assert conf.oldaskconfig() == 0
assert conf.stdout_contains('expected_stdout')
assert conf.stderr_matches('expected_stderr')

View File

@@ -0,0 +1,5 @@
Kconfig:8: hello world 1
Kconfig:18: hello world 3
Kconfig:22: hello world 4
Kconfig:26: filename=Kconfig
Kconfig:27: lineno=27

View File

@@ -0,0 +1 @@
hello world 0