From bdbe716c042bac9fd7c4cfb422403ef61884b86e Mon Sep 17 00:00:00 2001 From: sun_hai_10 Date: Tue, 4 Apr 2023 12:39:06 +0800 Subject: [PATCH] fix test failed due to default value change --- test/unit_tests/test_common.py | 2 +- test/unit_tests/test_installation.py | 6 ++- test/unit_tests/test_kickstart.py | 60 ++++++++++++++++++++++++++-- 3 files changed, 62 insertions(+), 6 deletions(-) diff --git a/test/unit_tests/test_common.py b/test/unit_tests/test_common.py index 16c973c..92a2ba3 100644 --- a/test/unit_tests/test_common.py +++ b/test/unit_tests/test_common.py @@ -54,7 +54,7 @@ class KdumpCommonTestCase(TestCase): @patch("builtins.open", MockFileRead(AARCH64_INFO_FIXTURE)) @patch("blivet.arch.get_arch", return_value="aarch64") def test_memory_bound_aarch64(self, _mock_read): - self.assertEqual((128, 64 * 1024 - 256, 1), common.getMemoryBounds()) + self.assertEqual((512, 64 * 1024 - 768, 1), common.getMemoryBounds()) @patch("builtins.open", MockFileRead(PPC64_INFO_FIXTURE)) @patch("blivet.arch.get_arch", return_value="ppc64") diff --git a/test/unit_tests/test_installation.py b/test/unit_tests/test_installation.py index b2deb4b..92c0954 100644 --- a/test/unit_tests/test_installation.py +++ b/test/unit_tests/test_installation.py @@ -69,7 +69,11 @@ class KdumpInstallationTestCase(TestCase): kdump_enabled=False ) task.run() - mock_util.execWithRedirect.assert_not_called() + mock_util.execWithRedirect.assert_called_once_with( + "systemctl", + ["disable", "kdump.service"], + root="/mnt/sysroot" + ) @patch("com_redhat_kdump.service.installation.util") def test_installation_kdump_enabled(self, mock_util): diff --git a/test/unit_tests/test_kickstart.py b/test/unit_tests/test_kickstart.py index 0dd78ed..69b57d0 100644 --- a/test/unit_tests/test_kickstart.py +++ b/test/unit_tests/test_kickstart.py @@ -1,8 +1,45 @@ from textwrap import dedent from unittest.case import TestCase +from unittest.mock import patch, MagicMock from com_redhat_kdump import common from com_redhat_kdump.service.kdump import KdumpService +SYS_CRASH_SIZE = '/sys/kernel/kexec_crash_size' +PROC_MEMINFO = '/proc/meminfo' + +X86_INFO_FIXTURE = { + SYS_CRASH_SIZE: "167772160", # 160MB + PROC_MEMINFO:"""MemTotal: 4030464 kB +""" # 4GB - 160MB +} + +AARCH64_INFO_FIXTURE = { + SYS_CRASH_SIZE: "536870912", # 512MB + PROC_MEMINFO:"""MemTotal: 66584576 kB +""" # 64GB - 512MB +} + +PPC64_INFO_FIXTURE = { + SYS_CRASH_SIZE: "1073741824", # 1024MB + PROC_MEMINFO:"""MemTotal: 66060288 kB +""" # 64GB - 1GB +} + +class MockFileRead(MagicMock): + def __init__(self, file_read_map): + MagicMock.__init__(self, name=open, spec=open) + self.file_read_map = file_read_map + + handle = MagicMock() + handle.__enter__.return_value = handle + handle.read.return_value = None + + def reset_choose_file(filename, *args, **kwargs): + handle.read.return_value = self.file_read_map[filename] + return handle + + self.side_effect = reset_choose_file + class KdumpKickstartTestCase(TestCase): @@ -25,13 +62,28 @@ class KdumpKickstartTestCase(TestCase): output = self._service.generate_kickstart() self.assertEqual(output.strip(), dedent(ks_out).strip()) - def test_ks_default(self): - self.assertEqual(self._service.kdump_enabled, False) + @patch("builtins.open", MockFileRead(X86_INFO_FIXTURE)) + @patch("blivet.arch.get_arch", return_value="x86_64") + def test_ks_default_x86(self, _mock_read): + self.assertEqual(self._service.kdump_enabled, True) self.assertEqual(self._service.fadump_enabled, False) - self.assertEqual(self._service.reserved_memory, "128") + self.assertEqual(self._service.reserved_memory, "512") self._check_ks_output(""" - %addon com_redhat_kdump --disable + %addon com_redhat_kdump --enable --reserve-mb='512' + + %end + """) + + @patch("builtins.open", MockFileRead(AARCH64_INFO_FIXTURE)) + @patch("blivet.arch.get_arch", return_value="aarch64") + def test_ks_default_arrch64(self, _mock_read): + self.assertEqual(self._service.kdump_enabled, True) + self.assertEqual(self._service.fadump_enabled, False) + self.assertEqual(self._service.reserved_memory, "512") + + self._check_ks_output(""" + %addon com_redhat_kdump --enable --reserve-mb='512' %end """) -- 2.19.1