-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_functions.sh
More file actions
96 lines (78 loc) · 2.28 KB
/
test_functions.sh
File metadata and controls
96 lines (78 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#!/bin/bash
# 功能測試腳本
echo "⚙️ 開始功能測試..."
cd build
# 1. 測試配置文件加載
echo "📝 測試配置文件加載..."
if [ -f "../andromeda.conf" ]; then
echo "✅ 配置文件存在"
# 檢查配置文件內容
if grep -q "Port0" ../andromeda.conf; then
echo "✅ 配置文件格式正確"
else
echo "❌ 配置文件格式異常"
fi
else
echo "❌ 配置文件不存在"
fi
# 2. 測試進程標題設置功能
echo "🏷️ 測試進程標題設置..."
./andromeda &
SERVER_PID=$!
sleep 2
# 檢查進程標題
PROCESS_TITLE=$(ps -p $SERVER_PID -o comm= 2>/dev/null)
if [ -n "$PROCESS_TITLE" ]; then
echo "✅ 进程标题设置成功: $PROCESS_TITLE"
else
echo "⚠️ 無法獲取進程標題"
fi
# 3. 測試網路連接
echo "🌐 測試網路連接..."
sleep 2
# 檢查端口是否開放
if netstat -tuln | grep -q ":9000.*LISTEN"; then
echo "✅ 服務器在端口 9000 監聽"
# 測試基本連接
if timeout 3s bash -c "echo > /dev/tcp/localhost/9000" 2>/dev/null; then
echo "✅ TCP 連接測試成功"
else
echo "⚠️ TCP 連接測試失敗"
fi
else
echo "❌ 服務器未在端口 9000 監聽"
fi
# 4. 測試日誌功能
echo "📋 測試日誌功能..."
if [ -f "logs/error.log" ]; then
echo "✅ 日誌文件已創建"
# 檢查日誌內容
if grep -q "listen() successful" logs/error.log; then
echo "✅ 日誌內容正常"
else
echo "⚠️ 日誌內容可能異常"
fi
echo "📄 最新日誌內容:"
tail -5 logs/error.log
else
echo "⚠️ 日誌文件未創建"
fi
# 5. 測試守護進程模式
echo "👻 測試守護進程模式..."
kill -TERM $SERVER_PID 2>/dev/null
wait $SERVER_PID 2>/dev/null || true
# 修改配置以啟用守護進程模式
cp ../andromeda.conf ../andromeda.conf.bak
sed -i 's/Daemon = 0/Daemon = 1/g' ../andromeda.conf 2>/dev/null || \
sed -i '' 's/Daemon = 0/Daemon = 1/g' ../andromeda.conf 2>/dev/null || true
./andromeda
sleep 3
if pgrep -f andromeda > /dev/null; then
echo "✅ 守護進程模式工作正常"
pkill -f andromeda
else
echo "⚠️ 守護進程模式可能有問題"
fi
# 恢復配置
cp ../andromeda.conf.bak ../andromeda.conf
echo "🎉 功能測試完成"