PowerShell / PowerShell/PSScriptAnalyzer
Custom rule is invoked twice for a single script
オープン
まだ誰も着手していません。
Area - Engine
Issue - Discussion
- 主要言語
- C#
- スター
- 2.2k
- フォーク
- 414
- 平均マージ
- 13時間 1分
- マージ済み PR(30日)
- 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 にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、Invoke-ScriptAnalyzer、-CustomRulePath、および報告に示されている a.ps1 の例を使って問題を再現します。観測された 2 つのスレッドにまたがってカスタム ルールの呼び出しを追跡し、そのルールがスクリプト内の 1 つの出現に対して 1 件のレポートを生成することを確認します。コマンド出力には診断が 1 件だけ含まれるはずです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- powershell
- 領域
- tooling
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100