Files
ykxmz/_build/fix_tests_round5.py
T
xmz7891 b705216e4a ykxmz 1.5.0锛氫慨澶嶆墜琛ㄧ TLS 璇佷功鏍¢獙 + MTU 淇缃戠粶绋冲畾鎬?
琚帶绔?- 淇 MTU 闂锛氬す MSS + 璺緞 MTU 鎺㈡祴锛堝叕缃戝彲鐢ㄧ巼 48% -> 100%锛?- 澶嶇敤 HTTP 杩炴帴锛堝厤鎺夋瘡娆℃柊寤?TLS 鐨?30% 鎻℃墜澶辫触锛?- 姣忓垎閽熷洖澶存壘灞€鍩熺綉锛岃嚜鍔ㄥ垏鍥炲揩 400 鍊嶇殑璺緞
- 鐢婚潰蹇冭烦甯э細闈欐鏃剁渷娴侀噺锛屽鎴风浠嶇煡閬撴祦鏄椿鐨?- 閿佸睆鏃剁粰鍑哄彲鎿嶄綔鐨勬彁绀?
鎵嬭〃绔?- 鍐呯疆 GTS Root R4 / GlobalSign Root CA锛屼慨 SSLHandshakeException
- 杩炴帴閿欒缈昏瘧鎴愪汉璇濓紙璇佷功/鏃堕棿/瑙f瀽/瓒呮椂鍒嗗埆鎻愮ず锛?- 缁忎腑杞繛涓婂悗鐢ㄦ湇鍔″櫒鎶ョ殑鍦板潃鍒锋柊宸查厤瀵硅褰?- 鏂板灞€鍩熺綉杩炴帴椤甸潰銆佹湇鍔″櫒寤惰繜妫€娴?
鏈嶅姟鍣ㄧ
- 鏀寔 chunked 璇锋眰浣擄紙淇瘡 16 绉掍竴娆$殑杩炴帴閿欎贡涓庡ぇ闈㈢Н 502锛?- 缃戠粶璋冧紭鑴氭湰 net-tune.sh锛堝紑鏈鸿嚜鍔ㄥ簲鐢級
- 绠$悊椤碉細鎵归噺鍒犻櫎銆佺綉缁滀綋妫€銆佷笅杞藉尯
- 闅ч亾鏀?HTTP/2 + 鍙岃繛鎺?
鏂囨。
- 璁稿彲鍗忚 / 瀹夎鍓嶅繀璇?/ 瀹夎鍚庨』鐭ワ紙浣滆€咃細灏忛害瀛愶級
2026-10-06 19:01:05 +08:00

141 lines
5.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- coding: utf-8 -*-
"""让测试跟上这一轮的行为改动。
1. 自检:改代码路径时把日志弄丢了,补回来。
2. 静默模式测试:现在"一台设备都没配对过时配对是开的"(自愈,用户报的 bug)。
要测"静默模式拒绝新配对",得先预置一台已配设备。
3. 端到端:爆破测试原本排在成功配对之后 —— 那时配对窗口已经关了,
测不到限速。要挪到成功配对之前。
"""
from __future__ import annotations
import sys
from pathlib import Path
ROOT = Path(r"C:\Users\shu\Desktop\deepseekagent\LanRemote")
SERVER = ROOT / "windows" / "lanremote" / "server.py"
TESTS = ROOT / "_tests"
# ---------------- 1. 自检日志 ----------------
LOG_OLD = ''' return self._selfcheck_report(from_ip)'''
LOG_NEW = ''' note = self._selfcheck_report(from_ip)
first = note.splitlines()[0] if note else ""
self._log(f"[自检] 收到来自 {from_ip} 的自检请求,已生成诊断结论({first})")
return note'''
# ---------------- 2. test_silent_mode 预置已配设备 ----------------
SILENT_SEED_OLD = '''def seed_setup_done(data_dir):'''
SILENT_SEED_NEW = '''def seed_paired_device(data_dir):
"""预置一台已配设备。
现在的规则是:**一台设备都没配对过时,配对是开着的**
(这是修用户报的"设完码却连不上")。所以想测
"静默模式拒绝新配对",得先让电脑认为已经有设备配过了。
"""
import json as _json
data_dir = Path(data_dir)
data_dir.mkdir(parents=True, exist_ok=True)
(data_dir / "devices.json").write_text(
_json.dumps({"already-paired": {
"id": "already-paired", "name": "已配的手表",
"token": "seed-token", "last": 0}}, ensure_ascii=False),
encoding="utf-8")
def seed_setup_done(data_dir):'''
# ---------------- 3. test_e2e_features 爆破测试挪到最前 ----------------
E2E_MARK = ''' print()
print("六、★ 配对防爆破")'''
E2E_MOVE_OLD = ''' check("配对成功", reply.get("ok") is True, str(reply)[:120])
print()
print("二、★ 功能列表(这是之前完全失败的那一项)")'''
E2E_MOVE_NEW = ''' check("配对成功", reply.get("ok") is True, str(reply)[:120])
print()
print("一b、★ 配对防爆破(必须在成功配对之前测,"
"否则配对窗口已经关了)")
breaker = Client("127.0.0.1", PORT)
wrong = "000000" if code != "000000" else "111111"
limited = False
for i in range(12):
r = breaker.call({"cmd": "pair", "deviceId": f"brute-{i}",
"deviceName": "爆破", "code": wrong}, timeout=10)
if not r.get("ok") and "过多" in str(r.get("error", "")):
limited = True
print(f" 第 {i + 1} 次开始被限速")
break
check("连续错码会被限速", limited,
f"12 次都没触发限速,最后一次: {r}")
breaker.close()
print()
print("二、★ 功能列表(这是之前完全失败的那一项)")'''
def main() -> int:
ok = True
# 1.
text = SERVER.read_text(encoding="utf-8")
if LOG_OLD in text:
SERVER.write_text(text.replace(LOG_OLD, LOG_NEW, 1), encoding="utf-8")
print(" server: 自检日志已补回")
else:
print(" [跳过] server 自检日志 —— 锚点没找到")
ok = False
# 2.
path = TESTS / "test_silent_mode.py"
text = path.read_text(encoding="utf-8")
if "seed_paired_device" in text:
print(" test_silent_mode: 加过了")
elif SILENT_SEED_OLD in text:
text = text.replace(SILENT_SEED_OLD, SILENT_SEED_NEW, 1)
# 在 seed_setup_done(DATA) 之后也预置一台设备
if "seed_setup_done(DATA)" in text:
text = text.replace("seed_setup_done(DATA)",
"seed_setup_done(DATA)\n seed_paired_device(DATA)", 1)
path.write_text(text, encoding="utf-8")
print(" test_silent_mode: 已加预置设备")
else:
print(" [跳过] test_silent_mode —— 锚点没找到")
ok = False
# 3.
path = TESTS / "test_e2e_features.py"
text = path.read_text(encoding="utf-8")
if "一b、" in text:
print(" test_e2e_features: 挪过了")
elif E2E_MOVE_OLD in text:
text = text.replace(E2E_MOVE_OLD, E2E_MOVE_NEW, 1)
# 删掉后面那段旧的爆破测试
start = text.find(' print()\n print("六、★ 配对防爆破")')
if start > 0:
end = text.find(' print()\n print("七、', start)
if end > 0:
text = text[:start] + text[end:]
print(" test_e2e_features: 旧爆破测试已删")
path.write_text(text, encoding="utf-8")
print(" test_e2e_features: 爆破测试已挪到最前")
else:
print(" [跳过] test_e2e_features —— 锚点没找到")
ok = False
import ast
for p in (SERVER, TESTS / "test_silent_mode.py", TESTS / "test_e2e_features.py"):
try:
ast.parse(p.read_text(encoding="utf-8"))
except SyntaxError as exc:
print(f" {p.name}: 语法错误 {exc}")
ok = False
print(" 语法检查完成")
return 0 if ok else 1
if __name__ == "__main__":
sys.exit(main())