From acd9249fe2e5a951fa9d7f1c8d2765d03432a274 Mon Sep 17 00:00:00 2001 From: v-alexjo Date: Fri, 10 Jun 2016 10:15:33 -0700 Subject: [PATCH] Added PORTABLE as define for debugging and reidented tests. --- src/System.Management.Automation/project.json | 2 +- .../singleshell/config/MshSnapinInfo.cs | 2 +- test/powershell/PSDebugging.Tests.ps1 | 198 +++++++++--------- 3 files changed, 101 insertions(+), 101 deletions(-) diff --git a/src/System.Management.Automation/project.json b/src/System.Management.Automation/project.json index deb7012089..c5a4697bf0 100644 --- a/src/System.Management.Automation/project.json +++ b/src/System.Management.Automation/project.json @@ -24,7 +24,7 @@ "netstandard1.5": { "imports": [ "dnxcore50" ], "buildOptions": { - "define": [ "CORECLR" ], + "define": [ "CORECLR", "PORTABLE" ], "compile": { "exclude": [ "cimSupport/cmdletization/xml/cmdlets-over-objects.objectModel.autogen.cs", diff --git a/src/System.Management.Automation/singleshell/config/MshSnapinInfo.cs b/src/System.Management.Automation/singleshell/config/MshSnapinInfo.cs index eb6bd942e0..2baed477bf 100644 --- a/src/System.Management.Automation/singleshell/config/MshSnapinInfo.cs +++ b/src/System.Management.Automation/singleshell/config/MshSnapinInfo.cs @@ -1427,7 +1427,7 @@ namespace System.Management.Automation "SecurityMshSnapInResources,Description","SecurityMshSnapInResources,Vendor") }; -#if !CORECLR //TODO:CORECLR - The 'Microsoft.WSMan.Management' module will be available on OneCore soon +#if !LINUX if (!Utils.IsWinPEHost()) { defaultMshSnapins.Add(new DefaultPSSnapInInformation("Microsoft.WSMan.Management", "Microsoft.WSMan.Management", null, diff --git a/test/powershell/PSDebugging.Tests.ps1 b/test/powershell/PSDebugging.Tests.ps1 index 180b9dcf19..6559572261 100644 --- a/test/powershell/PSDebugging.Tests.ps1 +++ b/test/powershell/PSDebugging.Tests.ps1 @@ -1,182 +1,182 @@ using namespace System.Diagnostics Describe "PowerShell Command Debugging"{ - $powershell = Join-Path -Path $PsHome -ChildPath "powershell" + $powershell = Join-Path -Path $PsHome -ChildPath "powershell" -function NewProcessStartInfo([string]$CommandLine, [switch]$RedirectStdIn) - { - return [ProcessStartInfo]@{ - FileName = $powershell - Arguments = $CommandLine - RedirectStandardInput = $RedirectStdIn - RedirectStandardOutput = $true - RedirectStandardError = $true - UseShellExecute = $false - } + function NewProcessStartInfo([string]$CommandLine, [switch]$RedirectStdIn) + { + return [ProcessStartInfo]@{ + FileName = $powershell + Arguments = $CommandLine + RedirectStandardInput = $RedirectStdIn + RedirectStandardOutput = $true + RedirectStandardError = $true + UseShellExecute = $false } - - function RunPowerShell([ProcessStartInfo]$debugfn) - { - $process = [Process]::Start($debugfn) - return $process - } - - - function EnsureChildHasExited([Process]$process, [int]$WaitTimeInMS = 15000) - { - $process.WaitForExit($WaitTimeInMS) + } - if (!$process.HasExited) - { - $process.HasExited | Should Be $true - $process.Kill() - } + function RunPowerShell([ProcessStartInfo]$debugfn) + { + $process = [Process]::Start($debugfn) + return $process + } + + + function EnsureChildHasExited([Process]$process, [int]$WaitTimeInMS = 15000) + { + $process.WaitForExit($WaitTimeInMS) + + if (!$process.HasExited) + { + $process.HasExited | Should Be $true + $process.Kill() } - - It "Should be able to step into debugging"{ + } + + It "Should be able to step into debugging"{ $debugfn = NewProcessStartInfo "-noprofile ""`$function:foo = { 'bar' }""" -RedirectStdIn $process = RunPowerShell $debugfn $process.StandardInput.Write("Set-PsBreakpoint -command foo`n") $process.StandardInput.Write("foo`n") - - $process.StandardInput.Write("s`n") - $process.StandardInput.Write("s`n") + $process.StandardInput.Write("s`n") - $process.StandardInput.Write("s`n") + $process.StandardInput.Write("s`n") + + $process.StandardInput.Write("s`n") + + $process.StandardInput.Close() - $process.StandardInput.Close() - EnsureChildHasExited $process $process.ExitCode | Should Be 0 - } - - It "Should be able to continue into debugging"{ + } + + It "Should be able to continue into debugging"{ $debugfn = NewProcessStartInfo "-noprofile ""`$function:foo = { 'bar' }""" -RedirectStdIn $process = RunPowerShell $debugfn $process.StandardInput.Write("Set-PsBreakpoint -command foo`n") $process.StandardInput.Write("foo`n") - - $process.StandardInput.Write("c`n") - $process.StandardOutput.ReadLine() - $process.StandardOutput.ReadLine() - $process.StandardInput.Close() - + $process.StandardInput.Write("c`n") + $process.StandardOutput.ReadLine() + $process.StandardOutput.ReadLine() + + $process.StandardInput.Close() + EnsureChildHasExited $process $process.ExitCode | Should Be 0 - } + } - It "Should be able to list help for debugging"{ + It "Should be able to list help for debugging"{ $debugfn = NewProcessStartInfo "-noprofile ""`$function:foo = { 'bar' }""" -RedirectStdIn $process = RunPowerShell $debugfn $process.StandardInput.Write("Set-PsBreakpoint -command foo`n") $process.StandardInput.Write("foo`n") - - $process.StandardInput.Write("h`n") - foreach ($i in 1..38) { - $line = $process.StandardOutput.ReadLine() - } + $process.StandardInput.Write("h`n") + + foreach ($i in 1..38) { + $line = $process.StandardOutput.ReadLine() + } + + $process.StandardInput.Write("s`n") + $process.StandardInput.Write("s`n") + $process.StandardInput.Write("s`n") + $process.StandardInput.Close() - $process.StandardInput.Write("s`n") - $process.StandardInput.Write("s`n") - $process.StandardInput.Write("s`n") - $process.StandardInput.Close() - EnsureChildHasExited $process - $line | Should Be "For instructions about how to customize your debugger prompt, type `"help about_prompt`"." - } + $line | Should Be "For instructions about how to customize your debugger prompt, type `"help about_prompt`"." + } - It "Should be able to step over debugging"{ + It "Should be able to step over debugging"{ $debugfn = NewProcessStartInfo "-noprofile ""`$function:foo = { 'bar' }""" -RedirectStdIn $process = RunPowerShell $debugfn $process.StandardInput.Write("Set-PsBreakpoint -command foo`n") - $process.StandardInput.Write("foo`n") - $process.StandardInput.Write("v`n") - $process.StandardInput.Write("v`n") - $process.StandardInput.Write("v`n") + $process.StandardInput.Write("foo`n") + $process.StandardInput.Write("v`n") + $process.StandardInput.Write("v`n") + $process.StandardInput.Write("v`n") + + $process.StandardInput.Close() - $process.StandardInput.Close() - EnsureChildHasExited $process $process.ExitCode | Should Be 0 - } + } - It "Should be able to step out of debugging"{ + It "Should be able to step out of debugging"{ $debugfn = NewProcessStartInfo "-noprofile ""`$function:foo = { 'bar' }""" -RedirectStdIn $process = RunPowerShell $debugfn $process.StandardInput.Write("Set-PsBreakpoint -command foo`n") - $process.StandardInput.Write("foo`n") - $process.StandardInput.Write("o`n") + $process.StandardInput.Write("foo`n") + $process.StandardInput.Write("o`n") + + $process.StandardInput.Close() - $process.StandardInput.Close() - EnsureChildHasExited $process $process.ExitCode | Should Be 0 - } + } - It "Should be able to quit debugging"{ + It "Should be able to quit debugging"{ $debugfn = NewProcessStartInfo "-noprofile ""`$function:foo = { 'bar' }""" -RedirectStdIn $process = RunPowerShell $debugfn $process.StandardInput.Write("Set-PsBreakpoint -command foo`n") - $process.StandardInput.Write("foo`n") - $process.StandardInput.Write("q`n") + $process.StandardInput.Write("foo`n") + $process.StandardInput.Write("q`n") + + $process.StandardInput.Close() - $process.StandardInput.Close() - EnsureChildHasExited $process $process.ExitCode | Should Be 0 - } + } - It "Should be able to list source code in debugging"{ + It "Should be able to list source code in debugging"{ $debugfn = NewProcessStartInfo "-noprofile ""`$function:foo = { 'bar' }""" -RedirectStdIn $process = RunPowerShell $debugfn $process.StandardInput.Write("Set-PsBreakpoint -command foo`n") | Write-Host - $process.StandardInput.Write("foo`n") | Write-Host - $process.StandardInput.Write("l`n") | Write-Host + $process.StandardInput.Write("foo`n") | Write-Host + $process.StandardInput.Write("l`n") | Write-Host - foreach ($i in 1..19) { - $line = $process.StandardOutput.ReadLine() - } + foreach ($i in 1..19) { + $line = $process.StandardOutput.ReadLine() + } - $process.StandardInput.Write("`n") - $process.StandardInput.Write("`n") - $process.StandardInput.Write("`n") + $process.StandardInput.Write("`n") + $process.StandardInput.Write("`n") + $process.StandardInput.Write("`n") - $line | Should Be " 1:* `$function:foo = { 'bar' }" - $process.StandardInput.Close() + $line | Should Be " 1:* `$function:foo = { 'bar' }" + $process.StandardInput.Close() EnsureChildHasExited $process - } + } - It "Should be able to get the call stack in debugging"{ + It "Should be able to get the call stack in debugging"{ $debugfn = NewProcessStartInfo "-noprofile ""`$function:foo = { 'bar' }""" -RedirectStdIn $process = RunPowerShell $debugfn $process.StandardInput.Write("Set-PsBreakpoint -command foo`n") | Write-Host - $process.StandardInput.Write("foo`n") | Write-Host - $process.StandardInput.Write("k`n") | Write-Host + $process.StandardInput.Write("foo`n") | Write-Host + $process.StandardInput.Write("k`n") | Write-Host - foreach ($i in 1..20) { - $line = $process.StandardOutput.ReadLine() - } + foreach ($i in 1..20) { + $line = $process.StandardOutput.ReadLine() + } - $line | Should Be "foo {} " - $process.StandardInput.Close() + $line | Should Be "foo {} " + $process.StandardInput.Close() EnsureChildHasExited $process - } + } }