mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-06-23 00:29:59 +02:00
add ethtool parser tests
This commit is contained in:
1
tests/fixtures/generic/ethtool--default1.json
vendored
Normal file
1
tests/fixtures/generic/ethtool--default1.json
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"name":"enp0s3","supported_pause_frame_use":"No","supports_auto_negotiation":true,"supported_fec_modes":"Not reported","advertised_pause_frame_use":false,"advertised_auto_negotiation":true,"advertised_fec_modes":"Not reported","speed":"1000Mb/s","duplex":"Full","port":"Twisted Pair","phyad":"0","transceiver":"internal","auto_negotiation":false,"mdi_x":"off (auto)","supports_wake_on":"umbg","wake_on":"d","link_detected":true,"supported_ports":["TP"],"supported_link_modes":["10baseT/Half","10baseT/Full","100baseT/Half","100baseT/Full","1000baseT/Full"],"advertised_link_modes":["10baseT/Half","10baseT/Full","100baseT/Half","100baseT/Full","1000baseT/Full"],"current_message_level":["0x00000007 (7)","drv probe link"],"speed_bps":1000000000}
|
26
tests/fixtures/generic/ethtool--default1.out
vendored
Normal file
26
tests/fixtures/generic/ethtool--default1.out
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
Settings for enp0s3:
|
||||
Supported ports: [ TP ]
|
||||
Supported link modes: 10baseT/Half 10baseT/Full
|
||||
100baseT/Half 100baseT/Full
|
||||
1000baseT/Full
|
||||
Supported pause frame use: No
|
||||
Supports auto-negotiation: Yes
|
||||
Supported FEC modes: Not reported
|
||||
Advertised link modes: 10baseT/Half 10baseT/Full
|
||||
100baseT/Half 100baseT/Full
|
||||
1000baseT/Full
|
||||
Advertised pause frame use: No
|
||||
Advertised auto-negotiation: Yes
|
||||
Advertised FEC modes: Not reported
|
||||
Speed: 1000Mb/s
|
||||
Duplex: Full
|
||||
Port: Twisted Pair
|
||||
PHYAD: 0
|
||||
Transceiver: internal
|
||||
Auto-negotiation: on
|
||||
MDI-X: off (auto)
|
||||
Supports Wake-on: umbg
|
||||
Wake-on: d
|
||||
Current message level: 0x00000007 (7)
|
||||
drv probe link
|
||||
Link detected: yes
|
1
tests/fixtures/generic/ethtool--default2.json
vendored
Normal file
1
tests/fixtures/generic/ethtool--default2.json
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"name":"enp1s0","supported_pause_frame_use":"Symmetric Receive-only","supports_auto_negotiation":true,"supported_fec_modes":"Not reported","advertised_pause_frame_use":false,"advertised_auto_negotiation":true,"advertised_fec_modes":"Not reported","speed":"40000Mb/s","duplex":"Full","auto_negotiation":false,"port":"FIBRE","phyad":"0","transceiver":"internal","supports_wake_on":"d","wake_on":"d","link_detected":true,"supported_ports":["FIBRE"],"supported_link_modes":["10000baseKX4/Full","40000baseCR4/Full","40000baseSR4/Full","56000baseCR4/Full","56000baseSR4/Full","1000baseX/Full","10000baseCR/Full","10000baseSR/Full"],"advertised_link_modes":["10000baseKX4/Full","40000baseCR4/Full","40000baseSR4/Full","1000baseX/Full","10000baseCR/Full","10000baseSR/Full"],"current_message_level":["0x00000014 (20)","link ifdown"],"speed_bps":40000000000}
|
33
tests/fixtures/generic/ethtool--default2.out
vendored
Normal file
33
tests/fixtures/generic/ethtool--default2.out
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
Settings for enp1s0:
|
||||
Supported ports: [ FIBRE ]
|
||||
Supported link modes: 10000baseKX4/Full
|
||||
40000baseCR4/Full
|
||||
40000baseSR4/Full
|
||||
56000baseCR4/Full
|
||||
56000baseSR4/Full
|
||||
1000baseX/Full
|
||||
10000baseCR/Full
|
||||
10000baseSR/Full
|
||||
Supported pause frame use: Symmetric Receive-only
|
||||
Supports auto-negotiation: Yes
|
||||
Supported FEC modes: Not reported
|
||||
Advertised link modes: 10000baseKX4/Full
|
||||
40000baseCR4/Full
|
||||
40000baseSR4/Full
|
||||
1000baseX/Full
|
||||
10000baseCR/Full
|
||||
10000baseSR/Full
|
||||
Advertised pause frame use: Symmetric
|
||||
Advertised auto-negotiation: Yes
|
||||
Advertised FEC modes: Not reported
|
||||
Speed: 40000Mb/s
|
||||
Duplex: Full
|
||||
Auto-negotiation: off
|
||||
Port: FIBRE
|
||||
PHYAD: 0
|
||||
Transceiver: internal
|
||||
Supports Wake-on: d
|
||||
Wake-on: d
|
||||
Current message level: 0x00000014 (20)
|
||||
link ifdown
|
||||
Link detected: yes
|
1
tests/fixtures/generic/ethtool--module-info.json
vendored
Normal file
1
tests/fixtures/generic/ethtool--module-info.json
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"identifier":"0x03 (SFP)","extended_identifier":"0x04 (GBIC/SFP defined by 2-wire interface ID)","connector":"0x21 (Copper pigtail)","transceiver_codes":"0x01 0x00 0x00 0x04 0x00 0x04 0x80 0xd5 0x00","transceiver_type":["Infiniband: 1X Copper Passive","Ethernet: 1000BASE-CX","Passive Cable","FC: Twin Axial Pair (TW)","FC: 1200 MBytes/sec","FC: 800 MBytes/sec","FC: 400 MBytes/sec","FC: 200 MBytes/sec","FC: 100 MBytes/sec"],"encoding":"0x00 (unspecified)","br_nominal":"10300MBd","rate_identifier":"0x00 (unspecified)","length_smf_km":"0km","length_smf":"0m","length_50um":"0m","length_62_5um":"0m","length_copper":"2m","length_om3":"0m","passive_cu_cmplnce":"0x01 (SFF-8431 appendix E) [SFF-8472 rev10.4 only]","vendor_name":"UbiquitiNetworks","vendor_oui":"00:40:20","vendor_pn":"UDC-2","vendor_rev":"","option_values":"0x00 0x00","br_margin_max":"0%","br_margin_min":"0%"}
|
30
tests/fixtures/generic/ethtool--module-info.out
vendored
Normal file
30
tests/fixtures/generic/ethtool--module-info.out
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
Identifier : 0x03 (SFP)
|
||||
Extended identifier : 0x04 (GBIC/SFP defined by 2-wire interface ID)
|
||||
Connector : 0x21 (Copper pigtail)
|
||||
Transceiver codes : 0x01 0x00 0x00 0x04 0x00 0x04 0x80 0xd5 0x00
|
||||
Transceiver type : Infiniband: 1X Copper Passive
|
||||
Transceiver type : Ethernet: 1000BASE-CX
|
||||
Transceiver type : Passive Cable
|
||||
Transceiver type : FC: Twin Axial Pair (TW)
|
||||
Transceiver type : FC: 1200 MBytes/sec
|
||||
Transceiver type : FC: 800 MBytes/sec
|
||||
Transceiver type : FC: 400 MBytes/sec
|
||||
Transceiver type : FC: 200 MBytes/sec
|
||||
Transceiver type : FC: 100 MBytes/sec
|
||||
Encoding : 0x00 (unspecified)
|
||||
BR, Nominal : 10300MBd
|
||||
Rate identifier : 0x00 (unspecified)
|
||||
Length (SMF,km) : 0km
|
||||
Length (SMF) : 0m
|
||||
Length (50um) : 0m
|
||||
Length (62.5um) : 0m
|
||||
Length (Copper) : 2m
|
||||
Length (OM3) : 0m
|
||||
Passive Cu cmplnce. : 0x01 (SFF-8431 appendix E) [SFF-8472 rev10.4 only]
|
||||
Vendor name : UbiquitiNetworks
|
||||
Vendor OUI : 00:40:20
|
||||
Vendor PN : UDC-2
|
||||
Vendor rev :
|
||||
Option values : 0x00 0x00
|
||||
BR margin, max : 0%
|
||||
BR margin, min : 0%
|
28
tests/test_ethtool.py
Normal file
28
tests/test_ethtool.py
Normal file
@ -0,0 +1,28 @@
|
||||
import unittest
|
||||
|
||||
from tests import utils_for_test as test_utils
|
||||
|
||||
# Execute these steps for standard tests:
|
||||
# - Save this file as `test_{parser_name}.py` since the helper methods extract parser names from the filename.
|
||||
# - Organize fixtures in `tests/fixtures` for optimal structure.
|
||||
# - Format fixtures as follows (using double dashes):
|
||||
# - `{parser_name}--{some_test_description}.out` for command output.
|
||||
# - `{parser_name}--{some_test_description}.json` for expected JSON after parsing.
|
||||
|
||||
class MyTests(unittest.TestCase):
|
||||
|
||||
def test_ethtool_nodata(self):
|
||||
"""
|
||||
Test 'ethtool' with no data
|
||||
"""
|
||||
test_utils.run_no_data(self, __file__, {})
|
||||
|
||||
def test_ethtool_all_fixtures(self):
|
||||
"""
|
||||
Test 'ethtool' with various fixtures
|
||||
"""
|
||||
test_utils.run_all_fixtures(self, __file__)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
Reference in New Issue
Block a user