def test_ethtool_i_doc_examples(): env = { 'coalesce': [ ethtool.CoalescingInfo( context_wrap(TEST_ETHTOOL_C_DOCS, path='ethtool_-c_eth0')) ], 'interfaces': [ ethtool.Driver( context_wrap(TEST_ETHTOOL_I_DOCS, path='ethtool_-i_bond0')) ], 'ethers': [ ethtool.Ethtool( context_wrap(TEST_ETHTOOL_DOCS, path='ethtool_eth0')) ], 'features': [ ethtool.Features( context_wrap(ETHTOOL_K_STANDARD, path='ethtool_-k_bond0')) ], 'pause': [ ethtool.Pause( context_wrap(TEST_ETHTOOL_A_DOCS, path='ethtool_-a_eth0')) ], 'ring': [ ethtool.Ring( context_wrap(TEST_ETHTOOL_G_DOCS, path='ethtool_-g_eth0')) ], 'stats': [ ethtool.Statistics( context_wrap(TEST_ETHTOOL_S_DOCS, path='ethtool_-S_eth0')) ], } failed, total = doctest.testmod(ethtool, globs=env) assert failed == 0
def test_get_ethtool_c(): context = context_wrap(TEST_ETHTOOL_C) context.path = TEST_ETHTOOL_C_PATH result = ethtool.CoalescingInfo(context) assert keys_in(["adaptive-rx", "adaptive-tx", "pkt-rate-high", "tx-usecs-irq", "tx-frame-low", "tx-usecs-high", "tx-frame-high"], result.data) assert result.ifname == "eth2" assert not result.adaptive_rx assert not result.adaptive_tx assert result.pkt_rate_high == 10 assert result.tx_usecs_irq == 0 assert result.tx_frame_low == 25 assert result.tx_usecs_high == 0 assert result.tx_frame_high == 0
def test_get_ethtool_c_short(): context = context_wrap(TEST_ETHTOOL_C_SHORT, path=TEST_ETHTOOL_C_PATH) with pytest.raises(ParseException) as exc: ethtool.CoalescingInfo(context) assert 'Command output missing value data' in str(exc)
def test_get_ethtool_c_bad_args(): context = context_wrap(TEST_ETHTOOL_C_BAD_ARGS, path='sos_commands/networking/ethtool_-c_eth0') result = ethtool.CoalescingInfo(context) assert result.ifname == 'eth0'
def test_get_ethtool_c_cannot_get(): context = context_wrap(TEST_ETHTOOL_C_CANNOT_GET) context.path = 'sos_commands/networking/ethtool_-c_usb0' result = ethtool.CoalescingInfo(context) assert result.ifname == 'usb0'