xref: /aosp_15_r20/system/extras/multinetwork/quick_test.sh (revision 288bf5226967eb3dac5cce6c939ccc2a7f2b4fe5)
1*288bf522SAndroid Build Coastguard Worker#!/bin/bash
2*288bf522SAndroid Build Coastguard Worker
3*288bf522SAndroid Build Coastguard Workernethandle=0
4*288bf522SAndroid Build Coastguard Worker
5*288bf522SAndroid Build Coastguard Workerreadonly TEST_HOST="connectivitycheck.gstatic.com"
6*288bf522SAndroid Build Coastguard Workerreadonly TEST_PATH="/generate_204"
7*288bf522SAndroid Build Coastguard Workerreadonly PREFIX=">>>"
8*288bf522SAndroid Build Coastguard Worker
9*288bf522SAndroid Build Coastguard Workerfunction getUrls() {
10*288bf522SAndroid Build Coastguard Worker    if [ ! -z $(echo "$1" | sed -e 's/[^:]//g') ]; then
11*288bf522SAndroid Build Coastguard Worker        echo "http://[$1]$TEST_PATH"
12*288bf522SAndroid Build Coastguard Worker        echo "http://[$1]:80$TEST_PATH"
13*288bf522SAndroid Build Coastguard Worker    else
14*288bf522SAndroid Build Coastguard Worker        echo "http://$1$TEST_PATH"
15*288bf522SAndroid Build Coastguard Worker        echo "http://$1:80$TEST_PATH"
16*288bf522SAndroid Build Coastguard Worker    fi
17*288bf522SAndroid Build Coastguard Worker}
18*288bf522SAndroid Build Coastguard Worker
19*288bf522SAndroid Build Coastguard Workerfunction toHex() {
20*288bf522SAndroid Build Coastguard Worker    readonly local hexValue=$(bc -q 2>/dev/null << EOT
21*288bf522SAndroid Build Coastguard Workerobase=16
22*288bf522SAndroid Build Coastguard Worker$1
23*288bf522SAndroid Build Coastguard WorkerEOT
24*288bf522SAndroid Build Coastguard Worker)
25*288bf522SAndroid Build Coastguard Worker    if [ ! -z "$hexValue" ]; then
26*288bf522SAndroid Build Coastguard Worker        echo "0x$hexValue"
27*288bf522SAndroid Build Coastguard Worker    fi
28*288bf522SAndroid Build Coastguard Worker}
29*288bf522SAndroid Build Coastguard Worker
30*288bf522SAndroid Build Coastguard Worker
31*288bf522SAndroid Build Coastguard Workerif [ ! -z "$1" ]; then
32*288bf522SAndroid Build Coastguard Worker    nethandle="$1"
33*288bf522SAndroid Build Coastguard Workerfi
34*288bf522SAndroid Build Coastguard Workerecho "$PREFIX Using nethandle $nethandle ($(toHex $nethandle))"
35*288bf522SAndroid Build Coastguard Workerecho ""
36*288bf522SAndroid Build Coastguard Worker
37*288bf522SAndroid Build Coastguard Workerreadonly IPADDRESSES=$(
38*288bf522SAndroid Build Coastguard Worker    adb shell /system/bin/dnschk --nethandle $nethandle $TEST_HOST |
39*288bf522SAndroid Build Coastguard Worker    sed -e 's/#.*//' -e '/^$/d')
40*288bf522SAndroid Build Coastguard Worker
41*288bf522SAndroid Build Coastguard Worker
42*288bf522SAndroid Build Coastguard Workerfor host in $TEST_HOST $IPADDRESSES; do
43*288bf522SAndroid Build Coastguard Worker    urls=$(getUrls $host)
44*288bf522SAndroid Build Coastguard Worker    for url in $urls; do
45*288bf522SAndroid Build Coastguard Worker        echo "$PREFIX Checking $url" >&2
46*288bf522SAndroid Build Coastguard Worker        adb shell /system/bin/httpurl --nethandle $nethandle "$url"
47*288bf522SAndroid Build Coastguard Worker    done
48*288bf522SAndroid Build Coastguard Workerdone
49