PowerShell / PowerShell/PSScriptAnalyzer
Custom rule is invoked twice for a single script
未关闭
还没有人认领这个 Issue。
Area - Engine
Issue - Discussion
- 主要语言
- C#
- 星标
- 2.2k
- 派生
- 414
- 平均合并
- 13 小时 1 分钟
- 30 天内合并 PR
- 2
描述
I am writing custom rules and I see an error reported twice when there should be just one report.
I invoke script analyzer like this:
#11 PS> Invoke-ScriptAnalyzer -CustomRulePath D:\gh\PesterAnalyzerRules -Path a.ps1
RuleName Severity ScriptName Line Message
-------- -------- ---------- ---- -------
PesterAnalyzerRules\Measure-ShouldT Information a.ps1 3 Pipe a script block to 'Should Throw' or 'Should Not Throw'
hrow
PesterAnalyzerRules\Measure-ShouldT Information a.ps1 3 Pipe a script block to 'Should Throw' or 'Should Not Throw'
hrow
@ D:\xtmp
#12 PS> cat a.ps1
Describe "a" {
"b" | Should Throw
}
In a debugger, I noticed my rule is getting called on two different threads.
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先使用 Invoke-ScriptAnalyzer、-CustomRulePath 以及报告中所示的 a.ps1 示例重现该问题。跟踪自定义规则在两个已观察到的线程中的调用,并验证该规则会针对脚本中的单次出现生成一份报告;命令输出应仅包含一条诊断信息。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- powershell
- 领域
- tooling
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100