소스 검색

fix(test-cron): metrics.env 的 INVALID_REASON 加引号,修复守卫原因被吞

守卫触发 INVALID 时,interface_test_metrics.env 里写入
  INVALID_REASON=NON_JSON 风暴(90%)|HTTP502 网关抖动(491)
未加引号,bash 侧 . 源引时报 "syntax error near unexpected token '('",
导致日志「原因:」恒为空、INVALID_REASON 变量丢失,运维无法从日志判断
本轮为何被判无效。改为双引号包裹,已在带括号原因下验证可正常 source。

Co-Authored-By: WorkBuddy <noreply@workbuddy.ai>
WorkBuddy Agent 1 주 전
부모
커밋
e560b09bee
1개의 변경된 파일과 3개의 추가작업 그리고 1개의 파일을 삭제
  1. 3 1
      run_interface_tests_cron.sh

+ 3 - 1
run_interface_tests_cron.sh

@@ -266,7 +266,9 @@ with open(_metrics_path, 'w', encoding='utf-8') as _mf:
               f"TOTAL={total}\nOK_COUNT={ok}\nNON_JSON_COUNT={non_json}\n"
               f"SERVER_ERR_COUNT={server_err}\nCONN_ERR_COUNT={conn_err}\n"
               f"HTTP_502_COUNT={http_502}\nINVALID={1 if INVALID else 0}\n"
-              f"INVALID_REASON={'|'.join(reasons)}\n")
+              # 必须加引号:reason 含 "(90%)" 括号与 "|",不加引号被 . 源引时会报
+              # "syntax error near unexpected token `('" 并使 INVALID_REASON 为空
+              f"INVALID_REASON=\"{'|'.join(reasons)}\"\n")
 
 print(report)
 print(f"\n[趋势] 已写入 {trend}")