diff --git a/sonic-xcvrd/tests/test_xcvrd.py b/sonic-xcvrd/tests/test_xcvrd.py index 46638453c..94a30bdf1 100644 --- a/sonic-xcvrd/tests/test_xcvrd.py +++ b/sonic-xcvrd/tests/test_xcvrd.py @@ -1518,10 +1518,13 @@ def test_get_media_val_str(self): @patch('sonic_py_common.device_info.get_paths_to_platform_and_hwsku_dirs', MagicMock(return_value=('/tmp', None))) @patch('swsscommon.swsscommon.WarmStart', MagicMock()) @patch('xcvrd.xcvrd.DaemonXcvrd.wait_for_port_config_done', MagicMock()) - def test_DaemonXcvrd_init_deinit(self): + def test_DaemonXcvrd_init_deinit_fastboot_enabled(self): xcvrd = DaemonXcvrd(SYSLOG_IDENTIFIER) - xcvrd.init() - xcvrd.deinit() + with patch("subprocess.check_output") as mock_run: + mock_run.return_value = "true" + + xcvrd.init() + xcvrd.deinit() def wait_until(total_wait_time, interval, call_back, *args, **kwargs): diff --git a/sonic-xcvrd/xcvrd/xcvrd.py b/sonic-xcvrd/xcvrd/xcvrd.py index f9a06b08b..e0e7cd746 100644 --- a/sonic-xcvrd/xcvrd/xcvrd.py +++ b/sonic-xcvrd/xcvrd/xcvrd.py @@ -921,17 +921,8 @@ def init_port_sfp_status_tbl(port_mapping, xcvr_table_helper, stop_event=threadi update_port_transceiver_status_table_sw(logical_port_name, xcvr_table_helper.get_status_tbl(asic_index), sfp_status_helper.SFP_STATUS_INSERTED) def is_fast_reboot_enabled(): - fastboot_enabled = False - state_db_host = daemon_base.db_connect("STATE_DB") - fastboot_tbl = swsscommon.Table(state_db_host, 'FAST_REBOOT') - keys = fastboot_tbl.getKeys() - - if "system" in keys: - output = subprocess.check_output(['sonic-db-cli', 'STATE_DB', 'get', "FAST_REBOOT|system"], universal_newlines=True) - if "1" in output: - fastboot_enabled = True - - return fastboot_enabled + fastboot_enabled = subprocess.check_output('sonic-db-cli STATE_DB hget "FAST_RESTART_ENABLE_TABLE|system" enable', shell=True, universal_newlines=True) + return "true" in fastboot_enabled # # Helper classes ===============================================================