48 lines
2.5 KiB
Bash
48 lines
2.5 KiB
Bash
#!/bin/bash
|
|
# 一轮双端控制(不分 BLE/WiFi;两端 radio 保持当前态 —— WiFi+蓝牙都开,不做任何切换):
|
|
# 1) Android 控制:CONTROL_ONLY=1 NO_PROTO_SPLIT=1 run-p0-all.sh
|
|
# └ 跳过 复位/添加、跳过 平台/账号;控制清单只跑一遍;不切 BLE/WiFi。
|
|
# 2) iOS 控制:NO_PROTO_SPLIT=1 run-ios-controls.sh
|
|
# └ 跳过 协议切换、跳过 平台/账号 TAIL;控制清单只跑一遍。
|
|
# 两端共用 reports/.results.json → iOS 开跑前清一次,产出两份独立报告
|
|
# (Android: reports/P0_All_Android_*.html;iOS: reports/iOSAll_*.html + P0_iOS_Ctrl_真实.md)。
|
|
# 启动:nohup caffeinate -dimsu bash scripts/run-ctrl-both-oneround.sh > reports/ctrl-both.out 2>&1 &
|
|
set -u
|
|
cd "$(dirname "$0")/.."
|
|
log(){ echo "[$(date '+%m-%d %H:%M:%S')] $*"; }
|
|
|
|
# 归档上次 HTML/关键日志,避免与本轮混淆
|
|
log "===== 归档上次报告产物 ====="
|
|
mkdir -p reports/archive
|
|
ts=$(date '+%Y%m%d-%H%M%S')
|
|
for f in reports/*P0_All_Android*.html reports/iOSAll_*.html reports/iOSBLE_*.html reports/AIHub_IOS_*.html reports/p0-all.log reports/ios-controls.log; do
|
|
[ -e "$f" ] && mv "$f" "reports/archive/$(basename "$f" | sed "s/\(\.[^.]*\)$/_$ts\1/")" 2>/dev/null
|
|
done
|
|
|
|
# 1) Android 控制(run-p0-all.sh 开头自清 .results.json;末尾 gen-combined 出 P0_All_Android)
|
|
log "等待 Android adb 就绪..."
|
|
for i in $(seq 1 10); do
|
|
adb devices 2>/dev/null | grep -qE "device$" && { log " adb 就绪"; break; }
|
|
log " 无 adb 设备,等待 ${i}/10 min..."; sleep 60
|
|
done
|
|
log "===== Android 控制(单轮, 不分协议)开始 ====="
|
|
CONTROL_ONLY=1 NO_PROTO_SPLIT=1 bash scripts/run-p0-all.sh
|
|
log "===== Android 控制结束(报告 reports/P0_All_Android_*.html)====="
|
|
|
|
# iOS 阶段前:只刷 iproxy 端口转发(不重装 WDA,避免弹授权)
|
|
log "===== 刷新 iproxy 端口转发(不重装 WDA)====="
|
|
pkill -f "iproxy 8100" 2>/dev/null; sleep 1
|
|
UDID=$(idevice_id -l 2>/dev/null | head -1)
|
|
nohup iproxy 8100 8100 -u "$UDID" >/dev/null 2>&1 &
|
|
sleep 5
|
|
if curl -s --max-time 5 http://localhost:8100/status 2>/dev/null | grep -q '"ready"'; then
|
|
log "WDA 连通正常"
|
|
rm -f reports/.results.json # 清掉 Android 结果 → iOS 报告独立
|
|
log "===== iOS 控制(单轮, 不分协议)开始 ====="
|
|
NO_PROTO_SPLIT=1 bash scripts/run-ios-controls.sh
|
|
log "===== iOS 控制结束(报告 reports/iOSAll_*.html)====="
|
|
else
|
|
log "!! WDA(8100)不在线,跳过 iOS 阶段(检查 iproxy/WDA)"
|
|
fi
|
|
log "全链完成。Android: reports/P0_All_Android_*.html;iOS: reports/iOSAll_*.html + P0_iOS_Ctrl_真实.md"
|