SHiPS
SHiPS copied to clipboard
Filtering does not work. Seems to remove all objects
I was trying to add filtering to a SHiPs module I was developing however it always filtered out everything which is very strange. I have created a minimal reproduction of the issue
https://github.com/glennsarti/PSSummitNA2019-Ships/tree/master/FilterRepro
Steps to reproduce
- git clone https://github.com/glennsarti/PSSummitNA2019-Ships
- Install SHIPS module
- run
FilterRepro/repro.ps1
Expected behavior
Filtering should be honored
Importing module...
Without Filter
--------------
Using filter ''
Creating alpha leaf object
Creating beta leaf object
Creating gamma leaf object
Creating delta leaf object
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\alpha
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : alpha
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : alpha
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\beta
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : beta
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : beta
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\gamma
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : gamma
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : gamma
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\delta
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : delta
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : delta
With Empty Filter
--------------
Using filter ''
Creating alpha leaf object
Creating beta leaf object
Creating gamma leaf object
Creating delta leaf object
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\alpha
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : alpha
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : alpha
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\beta
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : beta
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : beta
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\gamma
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : gamma
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : gamma
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\delta
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : delta
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : delta
With a Filter
--------------
Using filter 'e'
Creating beta leaf object
Creating delta leaf object
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\beta
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : beta
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : beta
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\delta
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : delta
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : delta
--------------
Actual behavior
Importing module...
Without Filter
--------------
Using filter ''
Creating alpha leaf object
Creating beta leaf object
Creating gamma leaf object
Creating delta leaf object
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\alpha
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : alpha
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : alpha
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\beta
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : beta
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : beta
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\gamma
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : gamma
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : gamma
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\delta
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : delta
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : delta
With Empty Filter
--------------
Using filter ''
Creating alpha leaf object
Creating beta leaf object
Creating gamma leaf object
Creating delta leaf object
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\alpha
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : alpha
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : alpha
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\beta
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : beta
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : beta
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\gamma
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : gamma
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : gamma
SSItemMode : .
PSPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory\delta
PSParentPath : SHiPS\SHiPS::FilterRepro#Root\ExampleDirectory
PSChildName : delta
PSDrive : Repro
PSProvider : SHiPS\SHiPS
PSIsContainer : False
Name : delta
With a Filter
--------------
Using filter 'e'
Creating beta leaf object
Creating delta leaf object
--------------
Environment data
Occurs in both ;
Name Value
---- -----
PSVersion 6.1.0
PSEdition Core
GitCommitId 6.1.0
OS Microsoft Windows 10.0.17134
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Name Value
---- -----
PSVersion 5.1.17134.228
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17134.228
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Ships Version - 0.8.1 and 0.8.0