From 63b081cacd3e57bfdf8e2a6c8f08818444d94729 Mon Sep 17 00:00:00 2001 From: Jiri Konecny Date: Mon, 20 Jan 2025 17:27:29 +0100 Subject: [PATCH] Enable dynamic bash commands disable for tests Dracut testing should be more versatile with this approach. This is more an extension for future testing. --- .../dracut_tests/test_dracut_anaconda-lib.py | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/tests/unit_tests/dracut_tests/test_dracut_anaconda-lib.py b/tests/unit_tests/dracut_tests/test_dracut_anaconda-lib.py index 0e01c38c456..5ee54c91ec9 100644 --- a/tests/unit_tests/dracut_tests/test_dracut_anaconda-lib.py +++ b/tests/unit_tests/dracut_tests/test_dracut_anaconda-lib.py @@ -19,13 +19,9 @@ import re import subprocess import unittest - from collections import namedtuple from tempfile import NamedTemporaryFile, TemporaryDirectory -DISABLE_COMMANDS = [ - "command", -] DISABLE_COMMAND_PREFIX = "disabled-command" @@ -53,13 +49,19 @@ def _load_script(self, script_name): with open(os.path.join("../dracut/", script_name), "rt", encoding="utf-8") as f: self._content = f.read() - self._disable_bash_commands() - - def _disable_bash_commands(self): + def _disable_bash_commands(self, disabled_commands): disable_list = [] # disable external and problematic commands in Dracut - for disabled_cmd in DISABLE_COMMANDS: - disable_list.append(f""" + for disabled_cmd in disabled_commands: + if isinstance(disabled_cmd, list): + disable_list.append(f""" +{disabled_cmd[0]}() {{ + echo "{DISABLE_COMMAND_PREFIX}: {disabled_cmd} args: $@" >&2 + {disabled_cmd[1]} +}} +""") + if isinstance(disabled_cmd, str): + disable_list.append(f""" {disabled_cmd}() {{ echo "{DISABLE_COMMAND_PREFIX}: {disabled_cmd} args: $@" >&2 }} @@ -121,6 +123,7 @@ def _check_get_text_with_content(self, test_input, expected_stdout): def test_config_get(self): """Test bash config_get function to read .treeinfo file""" self._load_script("anaconda-lib.sh") + self._disable_bash_commands(["command"]) # test multiple values in file self._check_get_text_with_content(