修复: 测试进程 comctl32 延迟加载与流式 usage 断言同步
lib 测试无内嵌窗口清单,GUI 依赖静态绑定 comctl32 缺导出致测试进程启动即崩 改 DELAYLOAD 推迟绑定,测试进程不触碰 GUI 入口;app 端清单选 v6 行为不变 流式 usage 改为 message_start 同帧携带初始快照,断言对齐该语义
This commit is contained in:
@@ -696,10 +696,14 @@ mod tests {
|
||||
assert_eq!(c.delta, "");
|
||||
assert!(acc.is_none(), "此 chunk 无 usage 字段,累加器仍为 None");
|
||||
|
||||
// 4) usage-only chunk(choices=[])携带累计 usage → 覆盖累加器
|
||||
// 4) usage-only chunk(choices=[])携带累计 usage → 覆盖累加器,并同帧带出快照
|
||||
// (6bafdcd 起 usage 与累加器同帧挂载,中途断连也能拿到真实 usage,非仅 [DONE] 带出)
|
||||
let c = apply_openai_sse(&usage_only_chunk(12, 34), &mut acc);
|
||||
assert!(!c.finished);
|
||||
assert!(c.usage.is_none(), "非 [DONE] chunk 不带出 usage");
|
||||
let u = c.usage.expect("usage-only chunk 应同帧带出累积 usage 快照");
|
||||
assert_eq!(u.prompt_tokens, 12);
|
||||
assert_eq!(u.completion_tokens, 34);
|
||||
assert_eq!(u.total_tokens, 46);
|
||||
let acc = acc.expect("累加器应已被 usage-only chunk 覆盖写入");
|
||||
assert_eq!(acc.prompt_tokens, 12);
|
||||
assert_eq!(acc.completion_tokens, 34);
|
||||
@@ -712,7 +716,11 @@ mod tests {
|
||||
let mut acc: Option<TokenUsage> = None;
|
||||
let c = apply_openai_sse(&text_chunk_with_usage("", "stop", 100, 200), &mut acc);
|
||||
assert!(c.finished);
|
||||
assert!(c.usage.is_none(), "非 [DONE] 不带出 usage,仅覆盖累加器");
|
||||
// 6bafdcd 起 usage 与累加器同帧挂载:finish 帧即带快照,下游不必等 [DONE]
|
||||
let u = c.usage.expect("finish 帧应同帧带出累积 usage 快照");
|
||||
assert_eq!(u.prompt_tokens, 100);
|
||||
assert_eq!(u.completion_tokens, 200);
|
||||
assert_eq!(u.total_tokens, 300);
|
||||
let acc = acc.expect("末段 chunk 的 usage 应已覆盖累加器");
|
||||
assert_eq!(acc.prompt_tokens, 100);
|
||||
assert_eq!(acc.completion_tokens, 200);
|
||||
|
||||
Reference in New Issue
Block a user