Files
ROS2_learn/scripts/e2e_check.sh
T
2026-08-04 17:36:05 +08:00

37 lines
1.1 KiB
Bash

#!/usr/bin/env bash
# scripts/e2e_check.sh —— 端到端冒烟测试
# 启动 bringup/pubsub_launch 8 秒,期间持续验证 chatter 真的有消息
set -eo pipefail
WORKSPACE="${WORKSPACE:-/root/ros2_ws}"
source /opt/ros/humble/setup.bash
source "${WORKSPACE}/install/setup.bash"
cd "${WORKSPACE}"
echo "[e2e] 启动 bringup/pubsub_launch.py (≈6s 冒烟)..."
ros2 launch bringup pubsub_launch.py > /tmp/e2e_launch.log 2>&1 &
LAUNCH_PID=$!
sleep 3
echo
echo "[e2e] === 验证 topic ==="
echo "[e2e] --- topic list ---"
ros2 topic list --no-daemon | head -10
echo
echo "[e2e] --- topic hz /chatter (3s) ---"
timeout 3 ros2 topic hz /chatter --no-daemon 2>&1 | tail -5 || true
echo
echo "[e2e] --- topic info /chatter -v ---"
ros2 topic info /chatter -v --no-daemon | head -20
echo
echo "[e2e] --- node list ---"
ros2 node list --no-daemon
echo
echo "[e2e] 关停 launch..."
kill -INT "${LAUNCH_PID}" 2>/dev/null || true
pkill -f "ros2 launch bringup" 2>/dev/null || true
wait "${LAUNCH_PID}" 2>/dev/null || true
echo
echo "[e2e] ✅ DONE. 详细日志: cat /tmp/e2e_launch.log"