xref: /aosp_15_r20/development/tools/logblame/connectivity_log_test (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1*90c8c64dSAndroid Build Coastguard Worker#!/bin/bash
2*90c8c64dSAndroid Build Coastguard Worker
3*90c8c64dSAndroid Build Coastguard Worker# The files to save output to.
4*90c8c64dSAndroid Build Coastguard WorkerRAWLOGS_FILE=connectivity-rawlogs.txt
5*90c8c64dSAndroid Build Coastguard WorkerANALYSIS_FILE=connectivity-analysis.txt
6*90c8c64dSAndroid Build Coastguard Worker
7*90c8c64dSAndroid Build Coastguard Worker# Turn on the screen and unlock the device
8*90c8c64dSAndroid Build Coastguard Worker# TODO: Power on
9*90c8c64dSAndroid Build Coastguard Workeradb shell wm dismiss-keyguard
10*90c8c64dSAndroid Build Coastguard Workeradb logcat -P ""
11*90c8c64dSAndroid Build Coastguard Worker
12*90c8c64dSAndroid Build Coastguard Workerairplane_mode_was_on=$(adb shell settings get global airplane_mode_on)
13*90c8c64dSAndroid Build Coastguard Workerif [ $airplane_mode_was_on == 1 ] ; then
14*90c8c64dSAndroid Build Coastguard Worker    adb shell settings put global airplane_mode_on 0 > /dev/null
15*90c8c64dSAndroid Build Coastguard Worker    adb shell am broadcast -a android.intent.action.AIRPLANE_MODE > /dev/null
16*90c8c64dSAndroid Build Coastguard Worker    sleep 30
17*90c8c64dSAndroid Build Coastguard Workerfi
18*90c8c64dSAndroid Build Coastguard Worker
19*90c8c64dSAndroid Build Coastguard Worker# Start the analysis process
20*90c8c64dSAndroid Build Coastguard Worker$TOP/development/tools/logblame/analyze_logs.py --duration=10m --clear --rawlogs $RAWLOGS_FILE \
21*90c8c64dSAndroid Build Coastguard Worker    | tee $ANALYSIS_FILE &
22*90c8c64dSAndroid Build Coastguard Workeranalyze_pid=$!
23*90c8c64dSAndroid Build Coastguard Worker
24*90c8c64dSAndroid Build Coastguard Worker# Turn on airplane mode and wait for it to settle
25*90c8c64dSAndroid Build Coastguard Workerecho "Turning on airplane mode."
26*90c8c64dSAndroid Build Coastguard Workeradb shell settings put global airplane_mode_on 1 > /dev/null
27*90c8c64dSAndroid Build Coastguard Workeradb shell am broadcast -a android.intent.action.AIRPLANE_MODE > /dev/null
28*90c8c64dSAndroid Build Coastguard Workersleep 15
29*90c8c64dSAndroid Build Coastguard Worker
30*90c8c64dSAndroid Build Coastguard Worker# Turn off airplane mode and wait for it to settle
31*90c8c64dSAndroid Build Coastguard Workerecho "Turning off airplane mode."
32*90c8c64dSAndroid Build Coastguard Workeradb shell settings put global airplane_mode_on 0 > /dev/null
33*90c8c64dSAndroid Build Coastguard Workeradb shell am broadcast -a android.intent.action.AIRPLANE_MODE > /dev/null
34*90c8c64dSAndroid Build Coastguard Workersleep 45
35*90c8c64dSAndroid Build Coastguard Worker
36*90c8c64dSAndroid Build Coastguard Worker# Turn off wifi and then back on
37*90c8c64dSAndroid Build Coastguard Workerecho "Turning wifi off"
38*90c8c64dSAndroid Build Coastguard Workeradb shell svc wifi disable
39*90c8c64dSAndroid Build Coastguard Workersleep 15
40*90c8c64dSAndroid Build Coastguard Worker
41*90c8c64dSAndroid Build Coastguard Workerecho "Turning wifi on"
42*90c8c64dSAndroid Build Coastguard Workeradb shell svc wifi enable
43*90c8c64dSAndroid Build Coastguard Workersleep 15
44*90c8c64dSAndroid Build Coastguard Worker
45*90c8c64dSAndroid Build Coastguard Worker
46*90c8c64dSAndroid Build Coastguard Workerecho
47*90c8c64dSAndroid Build Coastguard Workerecho
48*90c8c64dSAndroid Build Coastguard Worker
49*90c8c64dSAndroid Build Coastguard Worker# Kill adb to disconnect logcat
50*90c8c64dSAndroid Build Coastguard Workeradb kill-server
51*90c8c64dSAndroid Build Coastguard Worker
52*90c8c64dSAndroid Build Coastguard Worker# Wait for the pyton process to exit
53*90c8c64dSAndroid Build Coastguard Workerwait $analyze_pid
54*90c8c64dSAndroid Build Coastguard Worker
55*90c8c64dSAndroid Build Coastguard Workerecho "Wrote raw logs to $RAWLOGS_FILE"
56*90c8c64dSAndroid Build Coastguard Workerecho "Wrote analysis to $ANALYSIS_FILE"
57*90c8c64dSAndroid Build Coastguard Worker
58*90c8c64dSAndroid Build Coastguard Worker
59