发现方式
正式安装器构建运行全量 .NET 测试时,NativePopupMenuTests.Repeated_tray_menu_build_and_dispose_does_not_leak_user_handles 偶发失败:用户对象句柄计数从开始到结束减少(本次 -7),却被 Assert.InRange(delta, 0, 1) 视为失败。定向复跑可通过,说明这是环境清理造成的脆弱断言,而不是句柄泄漏。
修复范围
- 仍严格拒绝用户对象句柄的正向泄漏。
- 允许测试进程中与本测试无关的句柄回收导致的负向差值。
- 将两个相同模式的菜单句柄测试统一到同一断言,保留诊断信息。
- 全量回归后重新执行未跳过测试的正式安装器构建。
发现方式
正式安装器构建运行全量 .NET 测试时,
NativePopupMenuTests.Repeated_tray_menu_build_and_dispose_does_not_leak_user_handles偶发失败:用户对象句柄计数从开始到结束减少(本次-7),却被Assert.InRange(delta, 0, 1)视为失败。定向复跑可通过,说明这是环境清理造成的脆弱断言,而不是句柄泄漏。修复范围