Fix for Linux remote script debugging hang (#2213)

* Fix for Linux remote debugging hang bug.

* Removing dependency in PSReadLine on new engine helper API since it needs to be compatible with V3.
This commit is contained in:
Paul Higinbotham authored and Jason Shirk committed 2016-09-13 11:31:48 -07:00
1 parent fd4552bfb8
commit 79ddafcc85
3 files changed
+168 -12

No files matched your search

@@ -0,0 +1,70 @@
Describe "InvokeOnRunspace method argument error handling" -tags "Feature" {
BeforeAll {
$command = [System.Management.Automation.PSCommand]::new()
$localRunspace = $host.Runspace
}
It "Null argument exception should be thrown for null PSCommand argument" {
try
{
[System.Management.Automation.HostUtilities]::InvokeOnRunspace($null, $localRunspace)
throw "InvokeOnRunspace method did not throw expected PSArgumentNullException exception"
}
catch
{
$_.FullyQualifiedErrorId | Should Be "PSArgumentNullException"
}
}
It "Null argument exception should be thrown for null Runspace argument" {
try
{
[System.Management.Automation.HostUtilities]::InvokeOnRunspace($command, $null)
throw "InvokeOnRunspace method did not throw expected PSArgumentNullException exception"
}
catch
{
$_.FullyQualifiedErrorId | Should Be "PSArgumentNullException"
}
}
}
Describe "InvokeOnRunspace method as nested command" -tags "Feature" {
It "Method should successfully invoke command as nested on busy runspace" {
$command = [System.Management.Automation.PSCommand]::new()
$command.AddScript('"Hello!"')
$currentRunspace = $host.Runspace
$results = [System.Management.Automation.HostUtilities]::InvokeOnRunspace($command, $currentRunspace)
$results[0] | Should Be "Hello!"
}
}
Describe "InvokeOnRunspace method on remote runspace" -tags "Feature" {
BeforeAll {
$wc = [System.Management.Automation.Runspaces.WSManConnectionInfo]::new()
$remoteRunspace = [runspacefactory]::CreateRunspace($host, $wc)
$remoteRunspace.Open()
}
AfterAll {
$remoteRunspace.Dispose();
}
It "Method should successfully invoke command on remote runspace" {
$command = [System.Management.Automation.PSCommand]::new()
$command.AddScript('"Hello!"')
$results = [System.Management.Automation.HostUtilities]::InvokeOnRunspace($command, $remoteRunspace)
$results[0] | Should Be "Hello!"
}
}