PowerShell / PowerShell/PSScriptAnalyzer
PSPossibleIncorrectComparisonWithNull not checked inside DSC Configurations
Offen
Dieses Issue hat noch niemand übernommen.
Area - Configuration
Area - DSC
Issue - Bug
Up-for-Grabs
- Vorherrschende Sprache
- C#
- Sterne
- 2.2k
- Forks
- 414
- Ø Merge
- 13 Std. 1 Min.
- Gemergte PRs (30 T.)
- 2
Beschreibung
Steps to reproduce
if (@() -eq $null) { 'true' } else { 'false' }
if (@() -ne $null) { 'true' } else { 'false' }
Configuration Test
{
if (@() -eq $null) { 'true' } else { 'false' }
if (@() -ne $null) { 'true' } else { 'false' }
}
Expected behavior
All 4 comparisons produce Warnings
Actual behavior
# Only the first two comparisons produce Warnings
RuleName Severity ScriptName Line Message
-------- -------- ---------- ---- -------
PSPossibleIncorrectComparisonWithNull Warning test.ps1 1 $null should be on the left side of equality comparisons.
PSPossibleIncorrectComparisonWithNull Warning test.ps1 2 $null should be on the left side of equality comparisons.
If an unexpected error was thrown then please report the full error details using e.g. $error[0] | Select-Object *
Environment data
> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.18362.1171
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.18362.1171
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
> (Get-Module -ListAvailable PSScriptAnalyzer).Version | ForEach-Object { $_.ToString() }
1.20.0
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, das Beispiel mit PSScriptAnalyzer 1.20.0 zu reproduzieren, und vergleiche das Regelverhalten für die beiden Vergleiche auf oberster Ebene mit den beiden Vergleichen innerhalb der DSC Configuration. Als abgeschlossen gilt die Aufgabe, wenn PSPossibleIncorrectComparisonWithNull für alle vier Vergleiche warnt, einschließlich derjenigen innerhalb der Konfiguration.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- csharp, powershell
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100