The monad-native submodule no longer owns a native host whatsoever, with it moved to the provider, and the provider's build system refactored to use CMake.
Because CMake is way better, even for dealing with OMI.
The former is available, the latter is not. For our simple case of a
readline-esque shell on Linux, they seem equivalent. This removes the
import of libpsnative and the native calls to get terminal width/height.
PSRP will of course still require it, but now the managed host sets up
the assembly load context, meaning we can depend on the emitted binary
from dotnet-cli.
It is too messy to count on being able to stop the infinite processes
that Start-Process tests start. All processes will now stop on their
own, removing the dependency on Stop-Process. The wait test is now not
much of a test however.
This test was not viable as it didn't retain the process object,
instead relying on Get-Process with the process name, which could fail
to get the correct process (since no PID was available).
Since it is pointless to test Start-Process without -PassThru, and that
test was the exact same code as the fixed first test, it was removed.
Deploying module is a bit funky until dotnet-cli gives us more control
over which libraries to build and where. Theoretically we'll be able to
package System.Management.Automation and depend on the package instead,
so Commands.Omi can be its own project entirely.
Cleaned up the Commands.Omi project.json as it had some unnecessary
cruft from where it was copied. Also removed the AssemblyInfo as it does
not matter for a new module.
Moved the Get-OmiInstance Pester test to the project's test folder so it
doesn't run with our suite of tests (as it takes a dependency on OMI).
Link to them instead so they don't get out of date. Explicitly fix the
incorrectly named file with an explicit link name. Also deploy the types
files with fixes to monad to fix shell output for various cmdlets.
Bumps monad submodule.
For the special case of having a string to insert on the buffer, switch from calling this.Insert to appending the string directly (and incrementing the count appropriately).
- fixed whitespace and minor typos
- added tests to increase test coverage of function and test the output
- increased failure threshold to one hundredth of a second