[Mellanox] Allow user to set LED to orange (#9259)

Why I did it
Nvidia platform API does not support set LED to orange

How I did it
Allow user to set LED to orange

How to verify it
Added unit test
Manual test
This commit is contained in:
Junchao-Mellanox 2021-12-09 05:05:10 +08:00 committed by Judy Joseph
parent ec46a23bc6
commit 2b82af5847
2 changed files with 14 additions and 2 deletions

View File

@ -60,6 +60,16 @@ class Led(object):
else: else:
return False return False
utils.write_file(led_path, Led.LED_ON)
status = True
elif color == Led.STATUS_LED_COLOR_ORANGE:
if Led.STATUS_LED_COLOR_ORANGE in led_cap_list:
led_path = self.get_orange_led_path()
elif Led.STATUS_LED_COLOR_RED in led_cap_list:
led_path = self.get_red_led_path()
else:
return False
utils.write_file(led_path, Led.LED_ON) utils.write_file(led_path, Led.LED_ON)
status = True status = True
elif color == Led.STATUS_LED_COLOR_OFF: elif color == Led.STATUS_LED_COLOR_OFF:

View File

@ -62,7 +62,9 @@ class TestLed:
assert obj.set_status_led(Led.STATUS_LED_COLOR_GREEN) is True assert obj.set_status_led(Led.STATUS_LED_COLOR_GREEN) is True
assert obj.get_status_led() == Led.STATUS_LED_COLOR_GREEN assert obj.get_status_led() == Led.STATUS_LED_COLOR_GREEN
mock_file_content[physical_led.get_green_led_path()] = Led.LED_OFF mock_file_content[physical_led.get_green_led_path()] = Led.LED_OFF
assert obj.set_status_led(Led.STATUS_LED_COLOR_ORANGE) is False assert obj.set_status_led(Led.STATUS_LED_COLOR_ORANGE) is True
assert obj.get_status_led() == Led.STATUS_LED_COLOR_RED
mock_file_content[physical_led.get_orange_led_path()] = Led.LED_OFF
assert obj.set_status_led(Led.STATUS_LED_COLOR_RED_BLINK) assert obj.set_status_led(Led.STATUS_LED_COLOR_RED_BLINK)
assert obj.get_status_led() == Led.STATUS_LED_COLOR_RED_BLINK assert obj.get_status_led() == Led.STATUS_LED_COLOR_RED_BLINK
@ -85,7 +87,7 @@ class TestLed:
led.get_green_led_path(): Led.LED_ON, led.get_green_led_path(): Led.LED_ON,
led.get_red_led_path(): Led.LED_OFF, led.get_red_led_path(): Led.LED_OFF,
led.get_orange_led_path(): Led.LED_OFF, led.get_orange_led_path(): Led.LED_OFF,
led.get_led_cap_path(): 'none green green_blink red red_blink', led.get_led_cap_path(): 'none green green_blink red red_blink orange',
led.get_green_led_delay_off_path(): Led.LED_OFF, led.get_green_led_delay_off_path(): Led.LED_OFF,
led.get_green_led_delay_on_path(): Led.LED_OFF, led.get_green_led_delay_on_path(): Led.LED_OFF,
led.get_red_led_delay_off_path(): Led.LED_OFF, led.get_red_led_delay_off_path(): Led.LED_OFF,