@@ -54,90 +54,65 @@ class TestSonicKdumpConfig(unittest.TestCase):
5454 def setup_class (cls ):
5555 print ("SETUP" )
5656
57- @patch (" sonic_kdump_config.run_command" )
57+ @patch (' sonic_kdump_config.getstatusoutput_noshell_pipe' )
5858 def test_read_num_kdumps (self , mock_run_cmd ):
5959 """Tests the function `read_num_kdumps(...)` in script `sonic-kdump-config`.
6060 """
61- mock_run_cmd .return_value = (0 , [ "0" ], None )
61+ mock_run_cmd .return_value = ([ 0 , 0 ], "0" )
6262 num_dumps = sonic_kdump_config .read_num_dumps ()
6363 assert num_dumps == 0
6464 logger .info ("Value of 'num_dumps' is: '{}'." .format (num_dumps ))
6565 logger .info ("Expected value of 'num_dumps' is: '0'." )
6666
67- mock_run_cmd .return_value = (0 , ["NotInteger" ], None )
68- with self .assertRaises (SystemExit ) as sys_exit :
69- num_dumps = sonic_kdump_config .read_num_dumps ()
70- self .assertEqual (sys_exit .exception .code , 1 )
71-
72- mock_run_cmd .return_value = (0 , (), None )
73- with self .assertRaises (SystemExit ) as sys_exit :
74- num_dumps = sonic_kdump_config .read_num_dumps ()
75- self .assertEqual (sys_exit .exception .code , 1 )
76-
77- mock_run_cmd .return_value = (0 , [], None )
67+ mock_run_cmd .return_value = ([0 , 0 ], "NotInteger" )
7868 with self .assertRaises (SystemExit ) as sys_exit :
7969 num_dumps = sonic_kdump_config .read_num_dumps ()
8070 self .assertEqual (sys_exit .exception .code , 1 )
8171
82- mock_run_cmd .return_value = (1 , [ ], None )
72+ mock_run_cmd .return_value = ([ 0 , 0 ], "" )
8373 with self .assertRaises (SystemExit ) as sys_exit :
8474 num_dumps = sonic_kdump_config .read_num_dumps ()
8575 self .assertEqual (sys_exit .exception .code , 1 )
8676
87- mock_run_cmd .return_value = (1 , [ "3" ], None )
77+ mock_run_cmd .return_value = ([ 1 , 0 ], "3" )
8878 with self .assertRaises (SystemExit ) as sys_exit :
8979 num_dumps = sonic_kdump_config .read_num_dumps ()
9080 self .assertEqual (sys_exit .exception .code , 1 )
9181
92- mock_run_cmd .return_value = (1 , (), None )
82+ mock_run_cmd .return_value = ([ 0 , 1 ], "3" )
9383 with self .assertRaises (SystemExit ) as sys_exit :
9484 num_dumps = sonic_kdump_config .read_num_dumps ()
9585 self .assertEqual (sys_exit .exception .code , 1 )
9686
97- mock_run_cmd .return_value = (1 , [ "NotInteger" ], None )
87+ mock_run_cmd .return_value = ([ 0 , 1 ], "NotInteger" )
9888 with self .assertRaises (SystemExit ) as sys_exit :
9989 num_dumps = sonic_kdump_config .read_num_dumps ()
10090 self .assertEqual (sys_exit .exception .code , 1 )
10191
102- @patch (" sonic_kdump_config.run_command" )
92+ @patch (' sonic_kdump_config.getstatusoutput_noshell_pipe' )
10393 def test_read_use_kdump (self , mock_run_cmd ):
10494 """Tests the function `read_use_kdump(...)` in script `sonic-kdump-config`.
10595 """
106- mock_run_cmd .return_value = (0 , [ "0" ], None )
96+ mock_run_cmd .return_value = ([ 0 , 0 ], "0" )
10797 is_kdump_enabled = sonic_kdump_config .read_use_kdump ()
10898 assert is_kdump_enabled == 0
10999
110- mock_run_cmd .return_value = (0 , (), None )
100+ mock_run_cmd .return_value = ([ 0 , 0 ], "NotInteger" )
111101 with self .assertRaises (SystemExit ) as sys_exit :
112102 is_kdump_enabled = sonic_kdump_config .read_use_kdump ()
113103 self .assertEqual (sys_exit .exception .code , 1 )
114104
115- mock_run_cmd .return_value = (0 , [ ], None )
105+ mock_run_cmd .return_value = ([ 0 , 0 ], "" )
116106 with self .assertRaises (SystemExit ) as sys_exit :
117107 is_kdump_enabled = sonic_kdump_config .read_use_kdump ()
118108 self .assertEqual (sys_exit .exception .code , 1 )
119109
120- mock_run_cmd .return_value = (0 , [ "NotInteger" ], None )
110+ mock_run_cmd .return_value = ([ 1 , 0 ], "3" )
121111 with self .assertRaises (SystemExit ) as sys_exit :
122112 is_kdump_enabled = sonic_kdump_config .read_use_kdump ()
123113 self .assertEqual (sys_exit .exception .code , 1 )
124114
125- mock_run_cmd .return_value = (1 , ["0" ], None )
126- with self .assertRaises (SystemExit ) as sys_exit :
127- is_kdump_enabled = sonic_kdump_config .read_use_kdump ()
128- self .assertEqual (sys_exit .exception .code , 1 )
129-
130- mock_run_cmd .return_value = (1 , ["NotInteger" ], None )
131- with self .assertRaises (SystemExit ) as sys_exit :
132- is_kdump_enabled = sonic_kdump_config .read_use_kdump ()
133- self .assertEqual (sys_exit .exception .code , 1 )
134-
135- mock_run_cmd .return_value = (1 , (), None )
136- with self .assertRaises (SystemExit ) as sys_exit :
137- is_kdump_enabled = sonic_kdump_config .read_use_kdump ()
138- self .assertEqual (sys_exit .exception .code , 1 )
139-
140- mock_run_cmd .return_value = (1 , [], None )
115+ mock_run_cmd .return_value = ([0 , 1 ], "3" )
141116 with self .assertRaises (SystemExit ) as sys_exit :
142117 is_kdump_enabled = sonic_kdump_config .read_use_kdump ()
143118 self .assertEqual (sys_exit .exception .code , 1 )
@@ -467,28 +442,28 @@ def test_cmd_kdump_remote(self, mock_run_command, mock_read_remote):
467442 sonic_kdump_config .cmd_kdump_remote (verbose = True )
468443 mock_print .assert_called_with ("SSH and SSH_KEY commented out for local configuration." )
469444
470- @patch (" sonic_kdump_config.run_command" )
445+ @patch (' sonic_kdump_config.getstatusoutput_noshell_pipe' )
471446 def test_read_ssh_string (self , mock_run_cmd ):
472447 """Tests the function `read_ssh_string(...)` in script `sonic-kdump-config`."""
473448
474449 # Test case for successful read
475- mock_run_cmd .return_value = (0 , [ 'user@ip_address' ], None ) # Simulate successful command execution
450+ mock_run_cmd .return_value = ([ 0 , 0 , 0 ], 'user@ip_address' ) # Simulate successful command execution
476451 ssh_string = sonic_kdump_config .read_ssh_string ()
477452 self .assertEqual (ssh_string , 'user@ip_address' )
478453
479454 # Test case for non-integer output
480- mock_run_cmd .return_value = (0 , [ 'NotAString' ], None ) # Simulate command execution returning a non-string
455+ mock_run_cmd .return_value = ([ 0 , 0 , 0 ], 'NotAString' ) # Simulate command execution returning a non-string
481456 ssh_string = sonic_kdump_config .read_ssh_string ()
482457 self .assertEqual (ssh_string , 'NotAString' )
483458
484459 # Test case for empty output
485- mock_run_cmd .return_value = (0 , [ ], None ) # Simulate command execution with empty output
460+ mock_run_cmd .return_value = ([ 0 , 0 , 0 ], '' ) # Simulate command execution with empty output
486461 with self .assertRaises (SystemExit ) as sys_exit :
487462 sonic_kdump_config .read_ssh_string ()
488463 self .assertEqual (sys_exit .exception .code , 1 )
489464
490465 # Test case for command failure
491- mock_run_cmd .return_value = (1 , [ ], None ) # Simulate command failure
466+ mock_run_cmd .return_value = ([ 0 , 0 , 1 ], '' ) # Simulate command failure
492467 with self .assertRaises (SystemExit ) as sys_exit :
493468 sonic_kdump_config .read_ssh_string ()
494469 self .assertEqual (sys_exit .exception .code , 1 )
@@ -530,23 +505,23 @@ def test_write_ssh_string(self, mock_read_ssh_string, mock_run_cmd):
530505 sonic_kdump_config .write_ssh_string ('user@ip_address' )
531506 self .assertEqual (sys_exit .exception .code , 1 )
532507
533- @patch (" sonic_kdump_config.run_command" )
508+ @patch (' sonic_kdump_config.getstatusoutput_noshell_pipe' )
534509 def test_read_ssh_path (self , mock_run_cmd ):
535510 """Tests the function `read_ssh_path(...)` in script `sonic-kdump-config`."""
536511
537512 # Test successful case with valid SSH path
538- mock_run_cmd .return_value = (0 , [ '/path/to/keys' ], None )
513+ mock_run_cmd .return_value = ([ 0 , 0 , 0 ], '/path/to/keys' )
539514 ssh_path = sonic_kdump_config .read_ssh_path ()
540515 self .assertEqual (ssh_path , '/path/to/keys' )
541516
542517 # Test case where SSH path is invalid
543- mock_run_cmd .return_value = (0 , [ 'NotAPath' ], None )
518+ mock_run_cmd .return_value = ([ 0 , 0 , 0 ], 'NotAPath' )
544519 with self .assertRaises (SystemExit ) as sys_exit :
545520 ssh_path = sonic_kdump_config .read_ssh_path ()
546521 self .assertEqual (sys_exit .exception .code , 1 )
547522
548523 # Test case where grep fails (no SSH path found)
549- mock_run_cmd .return_value = (1 , [ ], None )
524+ mock_run_cmd .return_value = ([ 0 , 0 , 1 ], '' )
550525 with self .assertRaises (SystemExit ) as sys_exit :
551526 ssh_path = sonic_kdump_config .read_ssh_path ()
552527 self .assertEqual (sys_exit .exception .code , 1 )
0 commit comments