PowerShell / PowerShell/PSScriptAnalyzer

PSPossibleIncorrectComparisonWithNull not checked inside DSC Configurations

Offen
#1,745 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.