PowerShell / PowerShell/PSScriptAnalyzer
PSPossibleIncorrectComparisonWithNull not checked inside DSC Configurations
Aberta
Ninguém assumiu esta issue ainda.
Area - Configuration
Area - DSC
Issue - Bug
Up-for-Grabs
- Linguagem predominante
- C#
- Estrelas
- 2.2k
- Forks
- 415
- Merge médio
- 13h 1min
- PRs com merge (30d)
- 2
Descrição
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
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece reproduzindo o exemplo com PSScriptAnalyzer 1.20.0 e compare o comportamento da regra para as duas comparações de nível superior com as duas comparações dentro da DSC Configuration. Está concluído quando PSPossibleIncorrectComparisonWithNull emitir um aviso para as quatro comparações, incluindo as que estão dentro da configuração.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- csharp, powershell
- Domínio
- tooling
- Tipo de issue
- Bug
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100