[PATCH 4/4] kconfig: tests: {old,save}defconfig: Forward dynamic keyword arguments

From: Nicolas Schier

Date: Thu Sep 17 2026 - 10:41:58 EST


Let kconfig test framework forward dynamic keyword arguments for
'olddefconfig' and 'savedefconfig' and update the _run_conf() calls in
warn_changed_input to use the corrsponding wrappers instead.

The warn_changed_input test needed to use _run_conf() as the
{old,save}defconfig wrapper did not provide the necessary flexibility
for common calls. With dynamic keyword arguments, there is no need to
use the framework-internal _run_conf() any more.

Signed-off-by: Nicolas Schier <n.schier@xxxxxxxxx>
---
scripts/kconfig/tests/conftest.py | 9 +++++----
scripts/kconfig/tests/warn_changed_input/__init__.py | 11 ++++-------
2 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/scripts/kconfig/tests/conftest.py b/scripts/kconfig/tests/conftest.py
index f2ad2ac2a661..84a6ad9fd2f7 100644
--- a/scripts/kconfig/tests/conftest.py
+++ b/scripts/kconfig/tests/conftest.py
@@ -164,13 +164,13 @@ class Conf:
return self._run_conf('--oldconfig', dot_config=dot_config,
interactive=True, in_keys=in_keys)

- def olddefconfig(self, dot_config=None):
+ def olddefconfig(self, dot_config=None, **kw):
"""Run olddefconfig.

dot_config: .config file to use for configuration base (optional)
returncode: exit status of the Kconfig executable
"""
- return self._run_conf('--olddefconfig', dot_config=dot_config)
+ return self._run_conf('--olddefconfig', dot_config=dot_config, **kw)

def defconfig(self, defconfig):
"""Run defconfig.
@@ -234,14 +234,15 @@ class Conf:

return self._allconfig('rand', all_config, extra_env=extra_env)

- def savedefconfig(self, dot_config):
+ def savedefconfig(self, dot_config, out_file='defconfig', **kw):
"""Run savedefconfig.

dot_config: .config file for input
+ out_file: defconfig file for output
returncode: exit status of the Kconfig executable
"""
return self._run_conf('--savedefconfig={}'.format(out_file),
- dot_config=dot_config, out_file='defconfig')
+ dot_config=dot_config, out_file=out_file, **kw)

def listnewconfig(self, dot_config=None):
"""Run listnewconfig.
diff --git a/scripts/kconfig/tests/warn_changed_input/__init__.py b/scripts/kconfig/tests/warn_changed_input/__init__.py
index a5f07d4a882c..17b602dd280e 100644
--- a/scripts/kconfig/tests/warn_changed_input/__init__.py
+++ b/scripts/kconfig/tests/warn_changed_input/__init__.py
@@ -15,17 +15,14 @@ def test(conf):
assert conf.olddefconfig('config') == 0
assert 'user-provided values changed by Kconfig' not in conf.stderr

- assert conf._run_conf('--olddefconfig', dot_config='config',
- extra_env=warn_changed_input) == 0
+ assert conf.olddefconfig('config', extra_env=warn_changed_input) == 0
assert conf.stderr_contains('expected_stderr')
assert conf.config_matches('expected_config')

- assert conf._run_conf('--olddefconfig', dot_config='config',
- extra_env=warn_changed_input, silent=True) == 0
+ assert conf.olddefconfig('config', extra_env=warn_changed_input,
+ silent=True) == 0
assert conf.stderr_contains('expected_stderr')

- assert conf._run_conf('--savedefconfig=defconfig', dot_config='config',
- out_file='defconfig',
- extra_env=warn_changed_input) == 0
+ assert conf.savedefconfig('config', extra_env=warn_changed_input) == 0
assert conf.stderr_contains('expected_stderr')
assert conf.config_matches('expected_defconfig')

--
2.55.0