ifupdown-ng/tests/linux/ethtool_test
Maximilian Wilhelm 0a0252d218 ethtool: Fix tests
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-09-23 01:43:25 +02:00

483 lines
13 KiB
Text
Executable file

#!/usr/bin/env atf-sh
. $(atf_get_srcdir)/../test_env.sh
EXECUTOR="$(atf_get_srcdir)/../../executor-scripts/linux/ethtool"
tests_init \
pre_up_msglvl \
pre_up_ethernet_port \
up_speed \
up_duplex \
up_wol \
up_wol_sopass \
up_autoneg_simple \
up_autoneg_mask \
up_pause_autoneg \
up_pause_tx \
up_pause_rx \
up_offload_gro \
up_offload_gso \
up_offload_lro \
up_offload_rx \
up_offload_sg \
up_offload_tso \
up_offload_tx \
up_offload_ufo \
up_dma_ring_rx \
up_dma_ring_rx_jumbo \
up_dma_ring_rx_mini \
up_dma_ring_tx \
up_coalesce_adaptive_rx \
up_coalesce_adaptive_tx \
up_coalesce_pkt_rate_low \
up_coalesce_pkt_rate_high \
up_coalesce_sample_interval \
up_coalesce_stats_block_usecs \
up_coalesce_rx_frames \
up_coalesce_rx_frames_low \
up_coalesce_rx_frames_irq \
up_coalesce_rx_frames_high \
up_coalesce_rx_usecs \
up_coalesce_rx_usecs_low \
up_coalesce_rx_usecs_irq \
up_coalesce_rx_usecs_high \
up_coalesce_tx_frames \
up_coalesce_tx_frames_low \
up_coalesce_tx_frames_irq \
up_coalesce_tx_frames_high \
up_coalesce_tx_usecs \
up_coalesce_tx_usecs_low \
up_coalesce_tx_usecs_irq \
up_coalesce_tx_usecs_high
pre_up_msglvl_body() {
export IFACE="eth0" PHASE="pre-up" IF_ETHTOOL_MSGLVL="debug on" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --change eth0' \
-o match:'msglvl debug on' \
${EXECUTOR}
}
pre_up_ethernet_port_body() {
export IFACE="eth0" PHASE="pre-up" IF_ETHTOOL_ETHERNET_PORT="4" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --change eth0' \
-o match:'port 4' \
${EXECUTOR}
}
up_speed_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_LINK_SPEED="1000" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --change eth0' \
-o match:'speed 1000' \
${EXECUTOR}
}
up_duplex_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_LINK_DUPLEX="full" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --change eth0' \
-o match:'duplex full' \
${EXECUTOR}
}
up_wol_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_ETHERNET_WOL="g" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --change eth0' \
-o match:'wol g' \
${EXECUTOR}
}
up_wol_sopass_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_ETHERNET_WOL="s abc123" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --change eth0' \
-o match:'wol s sopass abc123' \
${EXECUTOR}
}
up_autoneg_simple_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_ETHERNET_AUTONEG="on" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --change eth0' \
-o match:'autoneg on' \
${EXECUTOR}
export IFACE="eth0" PHASE="up" IF_ETHTOOL_ETHERNET_AUTONEG="off" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --change eth0' \
-o match:'autoneg off' \
${EXECUTOR}
}
up_autoneg_mask_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_ETHERNET_AUTONEG="1000/full" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --change eth0' \
-o match:'autoneg on advertise 1000/full' \
${EXECUTOR}
}
up_pause_autoneg_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_PAUSE_AUTONEG="on" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --pause eth0' \
-o match:"autoneg on" \
${EXECUTOR}
export IFACE="eth0" PHASE="up" IF_ETHTOOL_PAUSE_AUTONEG="off" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --pause eth0' \
-o match:"autoneg off" \
${EXECUTOR}
}
up_pause_tx_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_PAUSE_TX="on" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --pause eth0' \
-o match:"tx on" \
${EXECUTOR}
export IFACE="eth0" PHASE="up" IF_ETHTOOL_PAUSE_TX="off" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --pause eth0' \
-o match:"tx off" \
${EXECUTOR}
}
up_pause_rx_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_PAUSE_RX="on" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --pause eth0' \
-o match:"rx on" \
${EXECUTOR}
export IFACE="eth0" PHASE="up" IF_ETHTOOL_PAUSE_RX="off" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --pause eth0' \
-o match:"rx off" \
${EXECUTOR}
}
up_offload_gro_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_GRO="on" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"gro on" \
${EXECUTOR}
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_GRO="off" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"gro off" \
${EXECUTOR}
}
up_offload_gso_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_GSO="on" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"gso on" \
${EXECUTOR}
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_GSO="off" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"gso off" \
${EXECUTOR}
}
up_offload_lro_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_LRO="on" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"lro on" \
${EXECUTOR}
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_LRO="off" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"lro off" \
${EXECUTOR}
}
up_offload_rx_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_RX="on" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"rx on" \
${EXECUTOR}
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_RX="off" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"rx off" \
${EXECUTOR}
}
up_offload_sg_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_SG="on" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"sg on" \
${EXECUTOR}
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_SG="off" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"sg off" \
${EXECUTOR}
}
up_offload_tso_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_TSO="on" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"tso on" \
${EXECUTOR}
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_TSO="off" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"tso off" \
${EXECUTOR}
}
up_offload_tx_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_TX="on" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"tx on" \
${EXECUTOR}
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_TX="off" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"tx off" \
${EXECUTOR}
}
up_offload_ufo_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_UFO="on" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"ufo on" \
${EXECUTOR}
export IFACE="eth0" PHASE="up" IF_ETHTOOL_OFFLOAD_UFO="off" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --offload eth0' \
-o match:"ufo off" \
${EXECUTOR}
}
up_dma_ring_rx_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_DMA_RING_RX="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --set-ring eth0' \
-o match:"rx 1024" \
${EXECUTOR}
}
up_dma_ring_rx_jumbo_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_DMA_RING_RX_JUMBO="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --set-ring eth0' \
-o match:"rx-jumbo 1024" \
${EXECUTOR}
}
up_dma_ring_rx_mini_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_DMA_RING_RX_MINI="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --set-ring eth0' \
-o match:"rx-mini 1024" \
${EXECUTOR}
}
up_dma_ring_tx_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_DMA_RING_TX="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --set-ring eth0' \
-o match:"tx 1024" \
${EXECUTOR}
}
up_coalesce_adaptive_rx_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_ADAPTIVE_RX="on" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"adaptive-rx on" \
${EXECUTOR}
}
up_coalesce_adaptive_tx_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_ADAPTIVE_TX="on" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"adaptive-tx on" \
${EXECUTOR}
}
up_coalesce_pkt_rate_low_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_PKT_RATE_LOW="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"pkt-rate-low 1024" \
${EXECUTOR}
}
up_coalesce_pkt_rate_high_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_PKT_RATE_HIGH="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"pkt-rate-high 1024" \
${EXECUTOR}
}
up_coalesce_sample_interval_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_SAMPLE_INTERVAL="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"sample-interval 1024" \
${EXECUTOR}
}
up_coalesce_stats_block_usecs_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_STATS_BLOCK_USECS="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"stats-block-usecs 1024" \
${EXECUTOR}
}
up_coalesce_rx_frames_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_RX_FRAMES="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"rx-frames 1024" \
${EXECUTOR}
}
up_coalesce_rx_frames_low_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_RX_FRAMES_LOW="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"rx-frames-low 1024" \
${EXECUTOR}
}
up_coalesce_rx_frames_irq_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_RX_FRAMES_IRQ="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"rx-frames-irq 1024" \
${EXECUTOR}
}
up_coalesce_rx_frames_high_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_RX_FRAMES_HIGH="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"rx-frames-high 1024" \
${EXECUTOR}
}
up_coalesce_rx_usecs_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_RX_USECS="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"rx-usecs 1024" \
${EXECUTOR}
}
up_coalesce_rx_usecs_low_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_RX_USECS_LOW="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"rx-usecs-low 1024" \
${EXECUTOR}
}
up_coalesce_rx_usecs_irq_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_RX_USECS_IRQ="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"rx-usecs-irq 1024" \
${EXECUTOR}
}
up_coalesce_rx_usecs_high_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_RX_USECS_HIGH="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"rx-usecs-high 1024" \
${EXECUTOR}
}
up_coalesce_tx_frames_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_TX_FRAMES="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"tx-frames 1024" \
${EXECUTOR}
}
up_coalesce_tx_frames_low_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_TX_FRAMES_LOW="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"tx-frames-low 1024" \
${EXECUTOR}
}
up_coalesce_tx_frames_irq_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_TX_FRAMES_IRQ="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"tx-frames-irq 1024" \
${EXECUTOR}
}
up_coalesce_tx_frames_high_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_TX_FRAMES_HIGH="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"tx-frames-high 1024" \
${EXECUTOR}
}
up_coalesce_tx_usecs_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_TX_USECS="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"tx-usecs 1024" \
${EXECUTOR}
}
up_coalesce_tx_usecs_low_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_TX_USECS_LOW="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"tx-usecs-low 1024" \
${EXECUTOR}
}
up_coalesce_tx_usecs_irq_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_TX_USECS_IRQ="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"tx-usecs-irq 1024" \
${EXECUTOR}
}
up_coalesce_tx_usecs_high_body() {
export IFACE="eth0" PHASE="up" IF_ETHTOOL_COALESCE_TX_USECS_HIGH="1024" MOCK="echo"
atf_check -s exit:0 \
-o match:'ethtool --coalesce eth0' \
-o match:"tx-usecs-high 1024" \
${EXECUTOR}
}