Naresh Kamboju | 9407a03 | 2016-10-13 17:18:41 +0530 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
Naresh Kamboju | fce2e1d | 2016-11-04 15:41:11 +0530 | [diff] [blame] | 3 | # shellcheck disable=SC1091 |
Naresh Kamboju | 9407a03 | 2016-10-13 17:18:41 +0530 | [diff] [blame] | 4 | . ../../lib/sh-test-lib |
| 5 | OUTPUT="$(pwd)/output" |
| 6 | RESULT_FILE="${OUTPUT}/result.txt" |
Naresh Kamboju | fce2e1d | 2016-11-04 15:41:11 +0530 | [diff] [blame] | 7 | export RESULT_FILE |
Naresh Kamboju | 9407a03 | 2016-10-13 17:18:41 +0530 | [diff] [blame] | 8 | INTERFACE="eth0" |
Naresh Kamboju | 9407a03 | 2016-10-13 17:18:41 +0530 | [diff] [blame] | 9 | |
| 10 | usage() { |
Naresh Kamboju | 155830d | 2016-11-18 15:23:45 +0530 | [diff] [blame] | 11 | echo "Usage: $0 [-s <true|false>] [-i <interface>]" 1>&2 |
Naresh Kamboju | 9407a03 | 2016-10-13 17:18:41 +0530 | [diff] [blame] | 12 | exit 1 |
| 13 | } |
| 14 | |
Naresh Kamboju | 155830d | 2016-11-18 15:23:45 +0530 | [diff] [blame] | 15 | while getopts "s:i:" o; do |
Naresh Kamboju | 9407a03 | 2016-10-13 17:18:41 +0530 | [diff] [blame] | 16 | case "$o" in |
| 17 | s) SKIP_INSTALL="${OPTARG}" ;; |
| 18 | i) INTERFACE="${OPTARG}" ;; |
Naresh Kamboju | 9407a03 | 2016-10-13 17:18:41 +0530 | [diff] [blame] | 19 | *) usage ;; |
| 20 | esac |
| 21 | done |
| 22 | |
| 23 | install() { |
Naresh Kamboju | 155830d | 2016-11-18 15:23:45 +0530 | [diff] [blame] | 24 | pkgs="curl net-tools" |
Naresh Kamboju | 9407a03 | 2016-10-13 17:18:41 +0530 | [diff] [blame] | 25 | install_deps "${pkgs}" "${SKIP_INSTALL}" |
| 26 | } |
| 27 | |
| 28 | run() { |
Naresh Kamboju | 155830d | 2016-11-18 15:23:45 +0530 | [diff] [blame] | 29 | test_case="$1" |
Naresh Kamboju | 9407a03 | 2016-10-13 17:18:41 +0530 | [diff] [blame] | 30 | test_case_id="$2" |
| 31 | echo |
| 32 | info_msg "Running ${test_case_id} test..." |
Naresh Kamboju | 155830d | 2016-11-18 15:23:45 +0530 | [diff] [blame] | 33 | info_msg "Running ${test_case} test..." |
| 34 | eval "${test_case}" |
Naresh Kamboju | 9407a03 | 2016-10-13 17:18:41 +0530 | [diff] [blame] | 35 | check_return "${test_case_id}" |
| 36 | } |
| 37 | |
| 38 | # Test run. |
| 39 | [ -d "${OUTPUT}" ] && mv "${OUTPUT}" "${OUTPUT}_$(date +%Y%m%d%H%M%S)" |
| 40 | mkdir -p "${OUTPUT}" |
| 41 | |
| 42 | install |
Naresh Kamboju | 155830d | 2016-11-18 15:23:45 +0530 | [diff] [blame] | 43 | |
| 44 | # Get default Route Gateway IP address of a given interface |
| 45 | GATEWAY=$(ip route list | grep default | awk '{print $3}') |
| 46 | |
Naresh Kamboju | 9407a03 | 2016-10-13 17:18:41 +0530 | [diff] [blame] | 47 | run "netstat -an" "print-network-statistics" |
| 48 | run "ip addr" "list-all-network-interfaces" |
| 49 | run "route" "print-routing-tables" |
| 50 | run "ip link set lo up" "ip-link-loopback-up" |
| 51 | run "route" "route-dump-after-ip-link-loopback-up" |
Naresh Kamboju | 155830d | 2016-11-18 15:23:45 +0530 | [diff] [blame] | 52 | run "ip link set ${INTERFACE} up" "ip-link-interface-up" |
| 53 | run "ip link set ${INTERFACE} down" "ip-link-interface-down" |
| 54 | run "dhclient -v ${INTERFACE}" "Dynamic-Host-Configuration-Protocol-Client-dhclient-v" |
Naresh Kamboju | 9407a03 | 2016-10-13 17:18:41 +0530 | [diff] [blame] | 55 | run "route" "print-routing-tables-after-dhclient-request" |
Naresh Kamboju | 155830d | 2016-11-18 15:23:45 +0530 | [diff] [blame] | 56 | run "ping -c 5 ${GATEWAY}" "ping-gateway" |
Naresh Kamboju | 9407a03 | 2016-10-13 17:18:41 +0530 | [diff] [blame] | 57 | run "curl http://samplemedia.linaro.org/MPEG4/big_buck_bunny_720p_MPEG4_MP3_25fps_3300K.AVI -o curl_big_video.avi" "download-a-file" |