Skip to content

Commit a7deb8c

Browse files
authored
display proper message with proper errno for kvm. (sonic-net#3750)
* display proper message with proper errno for kvm. * this change should cover all flags. * add unit test. * fix typo. * fix unit test. * whitespace EOF * delete dead variable.
1 parent 865f196 commit a7deb8c

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

scripts/decode-syseeprom

+7
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import optparse
1414
import os
1515
import re
1616
import sys
17+
import errno
1718

1819
import sonic_platform
1920
from sonic_platform_base.sonic_eeprom.eeprom_tlvinfo import TlvInfoDecoder
@@ -238,6 +239,12 @@ def main():
238239
if any(re.match(p, platform) for p in platforms_without_eeprom_db):
239240
support_eeprom_db = False
240241

242+
# Currently, kvm does not support eeprom
243+
platforms_without_eeprom = ['.*kvm.*']
244+
if any(re.match(p, platform) for p in platforms_without_eeprom):
245+
print('Platform {} does not support EEPROM'.format(platform))
246+
return errno.ENODEV
247+
241248
use_db = opts.db and support_eeprom_db
242249

243250
if opts.mgmtmac:

tests/decode_syseeprom_test.py

+10
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import os
22
import sys
3+
import errno
34
from unittest import mock
45

56
import pytest
@@ -202,3 +203,12 @@ def test_support_platforms_not_db_based(self, mockDbBased, mockNotDbBased):
202203
decode_syseeprom.main()
203204
assert mockNotDbBased.called
204205
assert not mockDbBased.called
206+
207+
@mock.patch('os.geteuid', lambda: 0)
208+
@mock.patch('sonic_py_common.device_info.get_platform', lambda: 'kvm')
209+
@mock.patch.object(sys, 'argv', ["decode-syseeprom"])
210+
@mock.patch('decode_syseeprom.read_and_print_eeprom')
211+
@mock.patch('decode_syseeprom.read_eeprom_from_db')
212+
def test_support_platforms_no_eeprom(self, mockDbBased, mockNotDbBased):
213+
ret = decode_syseeprom.main()
214+
assert ret == errno.ENODEV

0 commit comments

Comments
 (0)