/
githubmirror
/
salt
Обзор
Документация
Войти
/
githubmirror
/
salt
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tests/integration/modules/test_status.py
86 строк
2 KB
Daniel A. Wozniak
Mitigate primary flaky tests in scenario and integration suites
12 апр 2026, 06:37
12 апр 2026, 06:37
b6a5de2
Код
Авторство
О чём код?
import pytest import salt.utils.platform from tests.support.case import ModuleCase @pytest.mark.windows_whitelisted class StatusModuleTest(ModuleCase): """ Test the status module """ @pytest.mark.skip_on_windows @pytest.mark.flaky(max_runs=4) @pytest.mark.slow_test def test_status_pid(self): """ status.pid """ status_pid_out = self.run_function("status.pid", ["salt"]) status_pids = set(status_pid_out.split()) self.assertTrue(status_pids, "No PIDs matching 'salt' found by status.pid") grep_salt_out = self.run_function("cmd.run", ["pgrep -f salt"]) grep_pids = set(grep_salt_out.split()) # Check for intersection. At least some PIDs should still exist. self.assertTrue( status_pids.intersection(grep_pids), f"No overlap between status.pid ({status_pids}) and pgrep ({grep_pids})", ) @pytest.mark.skip_unless_on_windows @pytest.mark.slow_test def test_status_cpuload(self): """ status.cpuload """ ret = self.run_function("status.cpuload") self.assertTrue(isinstance(ret, float)) @pytest.mark.skip_unless_on_windows @pytest.mark.slow_test def test_status_saltmem(self): """ status.saltmem """ ret = self.run_function("status.saltmem") self.assertTrue(isinstance(ret, int)) @pytest.mark.slow_test @pytest.mark.skip_if_not_root @pytest.mark.flaky(max_runs=4) def test_status_diskusage(self): """ status.diskusage """ ret = self.run_function("status.diskusage") if salt.utils.platform.is_darwin(): self.assertIn("not yet supported on this platform", ret) elif salt.utils.platform.is_windows(): self.assertTrue(isinstance(ret["percent"], float)) else: self.assertIn("total", str(ret)) self.assertIn("available", str(ret)) @pytest.mark.slow_test def test_status_procs(self): """ status.procs """ ret = self.run_function("status.procs") for x, y in ret.items(): self.assertIn("cmd", y) @pytest.mark.slow_test def test_status_uptime(self): """ status.uptime """ ret = self.run_function("status.uptime") if salt.utils.platform.is_windows(): self.assertTrue(isinstance(ret, float)) else: self.assertTrue(isinstance(ret["days"], int))