From f7105cdfe49e0e6893632f1277368871481de65d Mon Sep 17 00:00:00 2001 From: Jake Hunsaker Date: Thu, 20 May 2021 15:52:52 -0400 Subject: [tests] Add test for priority parameter in add_cmd_output() Adds a test that checks that the new `priority` parameter is working as expected for well known and common collections. Resolves: #2553 Signed-off-by: Jake Hunsaker --- tests/report_tests/command_priority_tests.py | 54 ++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 tests/report_tests/command_priority_tests.py (limited to 'tests/report_tests') diff --git a/tests/report_tests/command_priority_tests.py b/tests/report_tests/command_priority_tests.py new file mode 100644 index 00000000..ea6b38fa --- /dev/null +++ b/tests/report_tests/command_priority_tests.py @@ -0,0 +1,54 @@ +# This file is part of the sos project: https://github.com/sosreport/sos +# +# This copyrighted material is made available to anyone wishing to use, +# modify, copy, or redistribute it subject to the terms and conditions of +# version 2 of the GNU General Public License. +# +# See the LICENSE file in the source distribution for further information. + + +from sos_tests import StageOneReportTest + + +class CommandPriorityTest(StageOneReportTest): + """Ensure that the priority parameter for command execution is functioning + as expected + + :avocado: tags=stageone + """ + + sos_cmd = '-o logs,process' + + def test_logs_full_journal_correct_priority(self): + cmds = self.get_plugin_manifest('logs')['commands'] + fullj = cmds[-1] + self.assertEqual(fullj['priority'], 100) + + def test_logs_full_journal_run_last(self): + cmds = self.get_plugin_manifest('logs')['commands'] + cmds.sort(key=lambda x: x['start_time']) + # journal_full should be the last command executed + self.assertTrue('journal_full' in cmds[-1]['tags']) + + def test_process_correct_priorities(self): + cmds = self.get_plugin_manifest('process')['commands'] + # ensure root symlinked ps ran first + self.assertTrue(cmds[0]['priority'] == 1 and 'ps_aux' in cmds[0]['tags']) + + # get lsof and iotop command entries + _lsof = None + _iotop = None + for cmd in cmds: + if cmd['command'] == 'lsof': + _lsof = cmd + elif cmd['command'] == 'iotop': + _iotop = cmd + + self.assertTrue(_lsof and _iotop, "lsof or iotop output missing") + + self.assertEqual(_lsof['priority'], 50) + self.assertEqual(_iotop['priority'], 100) + self.assertTrue(_lsof['start_time'] < _iotop['start_time']) + + + -- cgit