diff --git a/sonic-xcvrd/tests/test_xcvrd.py b/sonic-xcvrd/tests/test_xcvrd.py index d37b68e35..8bd65d106 100644 --- a/sonic-xcvrd/tests/test_xcvrd.py +++ b/sonic-xcvrd/tests/test_xcvrd.py @@ -1423,12 +1423,15 @@ 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() - # TODO: fow now we only simply call xcvrd.init/deinit without any further check, it only makes sure that - # xcvrd.init/deinit will not raise unexpected exception. In future, probably more check will be added + with patch("subprocess.check_output") as mock_run: + mock_run.return_value = "true" + + xcvrd.init() + xcvrd.deinit() + # TODO: fow now we only simply call xcvrd.init/deinit without any further check, it only makes sure that + # xcvrd.init/deinit will not raise unexpected exception. In future, probably more check will be added 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 b4ebef014..7aff937bd 100644 --- a/sonic-xcvrd/xcvrd/xcvrd.py +++ b/sonic-xcvrd/xcvrd/xcvrd.py @@ -921,17 +921,9 @@ 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() + 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 - if "system" in keys: - output = subprocess.check_output('sonic-db-cli STATE_DB get "FAST_REBOOT|system"', shell=True, universal_newlines=True) - if "1" in output: - fastboot_enabled = True - - return fastboot_enabled # # Helper classes ===============================================================