#!/bin/sh # shellcheck disable=SC1091 . ../../lib/sh-test-lib OUTPUT="$(pwd)/output" RESULT_FILE="${OUTPUT}/result.txt" export RESULT_FILE INTERFACE="eth0" usage() { echo "Usage: $0 [-s ] [-i ]" 1>&2 exit 1 } while getopts "s:i:" o; do case "$o" in s) SKIP_INSTALL="${OPTARG}" ;; i) INTERFACE="${OPTARG}" ;; *) usage ;; esac done install() { pkgs="curl net-tools" install_deps "${pkgs}" "${SKIP_INSTALL}" } run() { test_case="$1" test_case_id="$2" echo info_msg "Running ${test_case_id} test..." info_msg "Running ${test_case} test..." eval "${test_case}" check_return "${test_case_id}" } # Test run. [ -d "${OUTPUT}" ] && mv "${OUTPUT}" "${OUTPUT}_$(date +%Y%m%d%H%M%S)" mkdir -p "${OUTPUT}" install # Get default Route Gateway IP address of a given interface GATEWAY=$(ip route list | grep default | awk '{print $3}') run "netstat -an" "print-network-statistics" run "ip addr" "list-all-network-interfaces" run "route" "print-routing-tables" run "ip link set lo up" "ip-link-loopback-up" run "route" "route-dump-after-ip-link-loopback-up" run "ip link set ${INTERFACE} up" "ip-link-interface-up" run "ip link set ${INTERFACE} down" "ip-link-interface-down" run "dhclient -v ${INTERFACE}" "Dynamic-Host-Configuration-Protocol-Client-dhclient-v" run "route" "print-routing-tables-after-dhclient-request" run "ping -c 5 ${GATEWAY}" "ping-gateway" run "curl http://samplemedia.linaro.org/MPEG4/big_buck_bunny_720p_MPEG4_MP3_25fps_3300K.AVI -o curl_big_video.avi" "download-a-file"