Commit Graph
100 Commits
Author SHA1 Message Date
Andrew Schwartzmeyer 52a7095056 Use Modules instead of SnapIns
Proper deployment of the Modules we support allowed me to remove my
work-arounds using the deprecated SnapIn system to load all PowerShell
libraries via Modules.

I still don't like that this is done in build scripts, but we need
better asset support from .NET CLI to change how this is done.

PowerShell.Utility now deploys the CoreClr manifest, so unsupported
commands don't show up erroneously.
2016-01-29 17:24:49 -08:00
Andrew Schwartzmeyer fd782abe99 Make dotnet-nightly workaround version-agnostic
If the `Debug/dnxcore50` path does not exist, don't worry about it.
2016-01-29 17:24:49 -08:00
Andrew Schwartzmeyer 188598e4ca Temporarily fix build scripts due to CLI bug
Latest versions of .NET CLI ignore --output and instead publish to a
long path inside of it. Until this is resolved properly, we can work
around it by copying to the expected location.

Revert this when CLI is fixed.
2016-01-28 18:38:57 -08:00
Andrew Schwartzmeyer 6f6239aa60 Bump monad and windows-build submodules 2016-01-26 17:00:13 -08:00
Andrew Schwartzmeyer 71f670f86c Add packages required for updated sources
Commands.Utility now needs Microsoft.CodeAnalysis.CSharp, which doesn't
explicitly target `dnxcore50`, so now Commands.Utility and the packages
which depend on it now much `import` the Portable Windows framework.
This also required adding the aspnetvnext feed.

System.Management.Automation now requires System.Diagnostics.StackTrace.
2016-01-26 16:49:28 -08:00
Andrew Schwartzmeyer e125650e54 Update mapped compileFiles
Removed CorePsPlatform.cs from the build mapping so that I could perform
it before merging.

Note that SMA by default now builds with a bunch of tracing files for
ETW, which cannot be compiled on Linux and must be hand-removed from the
windows-build auto-generated compileFiles output.
2016-01-26 16:43:02 -08:00
Andrew Schwartzmeyer 05205ecac7 Realign project.json files 2016-01-26 15:47:22 -08:00
Andrew Schwartzmeyer d73d51cd70 Link Waffle.io scrum board in readme
Add note to skip CI tests for documentation changes.

[ci skip]
2016-01-25 10:38:35 -08:00
Andrew Schwartzmeyer 0bdd2e4182 Enable Travis CI
- Add badge to readme
- Use language 'cpp' because 'csharp' would bring in Mono
- Set to Trusty Tahr (Ubuntu 14.04)
- Only clone necessary submodules
- Use SSH for powershell-ci user access
- Install dotnet-cli
- Build PowerShell
- Run Pester tests
2016-01-22 14:33:34 -08:00
Andrew Schwartzmeyer cd81479b87 Add test failure threshold to pester.sh
Set to 14 because of non-tty and random process failures.
2016-01-22 14:32:04 -08:00
Andrew Schwartzmeyer 7061c87eb2 Move more Git notes to CONTRIBUTING.md 2016-01-21 13:06:51 -08:00
Andrew Schwartzmeyer 423e7da910 Add link to known issues 2016-01-20 12:33:42 -08:00
Andrew Schwartzmeyer 0dda6c34a1 More readme updates 2016-01-20 12:29:06 -08:00
Andrew Schwartzmeyer 0cdbe9a3aa Bump dsc submodule because of upstream rewrite 2016-01-20 11:47:39 -08:00
Andrew Schwartzmeyer c61f649e10 Bump libpsl-native and windows-build submodules
With new readmes.
2016-01-20 11:34:35 -08:00
Andrew Schwartzmeyer 395300ff20 Create contributing file and update readme 2016-01-20 11:33:57 -08:00
Andrew Schwartzmeyer b9e2d3f446 Update OMI submodule's remote URL
OMI was transferred to the Microsoft organization, with read access for all FTEs.
2016-01-20 10:51:00 -08:00
Andrew Schwartzmeyer b451d02c5a Update profile banner 2016-01-20 10:26:13 -08:00
Andrew Schwartzmeyer ae9c58e3e3 Remove xUnit reference from csharp/project.json
Currently fails to restore, working on prototype.
2016-01-20 10:14:44 -08:00
Andrew Schwartzmeyer 4d8d738dd7 Bump monad submodule for Windows support 2016-01-19 12:56:56 -08:00
Andrew Schwartzmeyer 7c6aac1565 Update readme for cross-platform support 2016-01-19 12:56:56 -08:00
Andrew Schwartzmeyer 46f0631f64 Add build.ps1 for Windows 2016-01-19 12:56:56 -08:00
Andrew Schwartzmeyer 092feeef9a Emit powershell executable
Instead of Microsoft.PowerShell.Linux.Host

Since this changes the name of the library,
System.Management.Automation's assembly info needed to be updated.
2016-01-19 12:56:56 -08:00
Andrew Schwartzmeyer e4ad1d6603 Reindent and strip whitespace in host 2016-01-15 16:46:39 -08:00
Andrew Schwartzmeyer f8ef219186 Clean up PSL_profile.ps1
Remove unneeded cruft and use here-string.
2016-01-15 16:41:05 -08:00
Andrew Schwartzmeyer 08c7d801f8 Execute profile commands with out-default
So functions called in profile can write to the screen without any
workarounds.
2016-01-15 15:39:42 -08:00
Andrew Schwartzmeyer 62de9f2645 Fix the Get-Item Pester test
Failed because we renamed the test directory.
2016-01-15 14:31:52 -08:00
Andrew Schwartzmeyer 056d6ba5a8 Update readme for GitHub 2016-01-15 11:58:34 -08:00
Andrew Schwartzmeyer 3042c6c8e5 Sort .gitmodules 2016-01-14 17:15:26 -08:00
Andrew Schwartzmeyer bbebf2f76a Reorganize tests
- Pester source code moved to `test/Pester`, deleted `ext-src`.
- Pester tests (.ps1 files) moved to `test/powershell`
- xUnit tests (.cs files) moved to `test/csharp`
- Third-party script test moved to `test/shebang`
2016-01-14 17:00:06 -08:00
Andrew Schwartzmeyer ec08d9f46c Move Pester test/Pester and push to GitHub 2016-01-14 16:17:50 -08:00
Andrew Schwartzmeyer a36329e355 Bump DSC with fixes 2016-01-14 14:58:18 -08:00
Andrew Schwartzmeyer 953afd841e Move OMI PSRP provider to GitHub
Remove the `monad` prefix from its name.
2016-01-14 14:54:27 -08:00
Andrew Schwartzmeyer 19d8a6a0b2 Move monad-build to windows-build on GitHub
Better name since this submodule only has to do with the Windows build
system and generated artifacts.
2016-01-14 12:55:39 -08:00
Andrew Schwartzmeyer 895fbb8d40 Move monad to psl-monad on GitHub
- Removed more pre-processor conditionals
- Loads libpsl-native
- Pruned wmi (rewrote history)

The wmi folder was massive, and we did not need 99% of it, so a `git
filter-branch --tree-filter` was performed to remove all but the single
necessary subdirectory before pushing to GitHub.

The psl-monad repository can no longer be updated from the existing
GitSD sync. When the PSW teams have a Git repo for the monad codebase,
we will apply our patches to it and delete this fork.
2016-01-14 10:34:13 -08:00
Andrew Schwartzmeyer ae033a5846 Move monad-native to libpsl-native on GitHub 2016-01-14 10:32:02 -08:00
Andrew Schwartzmeyer b89766a2f0 Merge branch 'dev/start-dsc' 2016-01-12 17:38:21 -08:00
Andrew Schwartzmeyer e732e15ba4 Bump Newtonsoft.Json to 8.0.2 2016-01-12 12:31:17 -08:00
Andrew Schwartzmeyer 864d9bec01 Update readme 2016-01-12 12:25:25 -08:00
Andrew Schwartzmeyer ec49e37de6 Add DSC submodule from GitHub 2016-01-12 12:25:25 -08:00
Andrew Schwartzmeyer ad637c3548 Bump OMI submodule with test fixes 2016-01-12 12:25:25 -08:00
Andrew Schwartzmeyer b05325f6a9 Move OMI submodule to GitHub
Updated .gitmodules for new location of OMI and new working branch.

This requires running `git submodule sync`.
2016-01-12 12:25:25 -08:00
Andrew Schwartzmeyer e6cfea5b2d Bump monad-omi-provider submodule with moved host
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.
2016-01-12 12:25:25 -08:00
Andrew Schwartzmeyer 0c5c33f25e Bump monad-native submodule with removal of host 2016-01-12 12:25:25 -08:00
Andrew Schwartzmeyer 8ca4fdb7fd Remove stty echo workaround
Note that the run script is now entirely deprecated, since the host can be run directly.
2016-01-12 12:25:25 -08:00
Andrew Schwartzmeyer 0c4d642ac7 Remove deprecated patch script
Patching System.Console manually is no longer required.
2016-01-12 12:22:26 -08:00
Andrew Schwartzmeyer e26b55c3d9 Use Window(Width|Height) instead of Buffer
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.
2016-01-12 12:22:26 -08:00
Andrew Schwartzmeyer 735721e902 Bump .NET packages to build rc2-23712
This brings in the previously missing System.Console APIs and the fix for the echo TTY issue, fixing our remaining patches of the runtime.
2016-01-12 12:22:26 -08:00
Andrew Schwartzmeyer a9b7928d40 Add logging to PSRP script 2016-01-12 12:22:26 -08:00
Andrew Schwartzmeyer ca4dd87235 Fix indentation and build warning 2016-01-07 17:07:28 -08:00
Andrew Schwartzmeyer d89b6ade92 Merge branch 'dev/nixreadline' 2016-01-06 16:54:51 -08:00
Andrew Schwartzmeyer b270c03f50 Fix location of MOFs in DSC tests 2016-01-06 15:44:53 -08:00
Andrew Schwartzmeyer be61a6449b Merge branch 'dev/cross-platform-pester' 2016-01-06 12:54:57 -08:00
Andrew Schwartzmeyer 576884ed0c Fix third party library loading in JSON tests
Since we no longer have CORE_ROOT defined, but do have
AppContext.BaseDirectory from .NET
2015-12-30 10:46:54 -08:00
Andrew Schwartzmeyer 49fa9f6e43 Bump monad-native submodule with removal of host 2015-12-23 16:53:09 -08:00
Andrew Schwartzmeyer d5f5645f4d Eliminate dependency on native host for shell
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.
2015-12-23 16:53:09 -08:00
Andrew Schwartzmeyer 124fe201bf Don't fail on Jenkins for lack of stty support 2015-12-23 14:07:50 -08:00
Andrew Schwartzmeyer 001bca812e Don't launch any infinite processes
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.
2015-12-23 14:00:17 -08:00
Andrew Schwartzmeyer 92368e9cba Fix another Start-Process test
This one would sometimes just fail to stop the process... which is a probably a bug to be fixed.
2015-12-23 13:18:00 -08:00
Andrew Schwartzmeyer b8ca768099 Output Pester results in XML again
And bump submodule.
2015-12-23 13:18:00 -08:00
Andrew Schwartzmeyer af03950506 Bump monad submodule with RuntimeInformation OS check 2015-12-23 12:57:19 -08:00
Andrew Schwartzmeyer b73a33e4e5 Fix another Start-Process test
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.
2015-12-23 12:55:36 -08:00
Andrew Schwartzmeyer af1343472d Fix up Get-OmiInstance build and tests
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).
2015-12-23 12:29:08 -08:00
Andrew Schwartzmeyer 2e65ba25e4 Set monad-native submodule branch back to master
Since we're no longer working off develop.
2015-12-23 10:15:03 -08:00
Andrew Schwartzmeyer b3a92e0ed3 Fix types and format files
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.
2015-12-22 17:03:14 -08:00
Andrew Schwartzmeyer bf8c5e35e7 Bumping monad 2015-12-22 14:29:07 -08:00
Andrew Schwartzmeyer 83e8f0c63c Bump monad-native submodule 2015-12-22 13:15:55 -08:00
Andrew Schwartzmeyer 489a951c5d Use System.Environment.NewLine in host 2015-12-22 12:18:51 -08:00
Andrew Schwartzmeyer 7cd8b1f3ee Use StringBuilder append instead of insert
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).
2015-12-22 12:03:44 -08:00
Andrew Schwartzmeyer a2270ceb2d Change access-level of Run() from public to internal 2015-12-22 11:51:26 -08:00
Andrew Schwartzmeyer 290d29a6bb Remove deprecated Makefile 2015-12-22 11:44:31 -08:00
Andrew Schwartzmeyer 335835e20b Remove BOM from New-TimeSpan file 2015-12-22 10:05:07 -08:00
Andrew Schwartzmeyer efccc92ea2 Remove Get-TypeData tests
Jason Shirk of the PowerShell team removed the dependency on
Types.ps1xml, so it was removed from our produce. Therefore this test is
now deprecated.
2015-12-21 19:20:17 -08:00
Andrew Schwartzmeyer 0c61e164de Add script to launch Pester tests 2015-12-21 19:17:48 -08:00
Andrew Schwartzmeyer 1de894813c Fix Start-Process Pester tests
These tests attempted to stop the test ping process by name, which was
fragile. Now they stop by PID, which is far less fragile.
2015-12-21 19:14:48 -08:00
Andrew Schwartzmeyer bc9baddfc1 Fix Wait-Event
After reading the docs, the prior test was incorrect as written, as by default, it will wait for any event. So to test the timeout, we needed to make it wait for an event that would enver come.
2015-12-21 17:14:12 -08:00
Andrew Schwartzmeyer 655ed50a36 Bump Pester submodule 2015-12-21 16:34:28 -08:00
Andrew Schwartzmeyer eabd6a41ba Deploy PowerShell.Utility modules
Odd that this caused only one test failure.
2015-12-21 13:41:30 -08:00
Andrew Schwartzmeyer 837f40bbee Fix Newtonsoft.Json Pester tests
Look for library in new location.
2015-12-21 13:00:47 -08:00
Andrew Schwartzmeyer 6c7301c22c Bring up RegOpenKeyExW stub
This works around the Get-ExecutionPolicy Pester test failure. It's not a good solution, but it's also (seemingly) not our code that is calling the extern function. This needs to be fixed in CoreFX itself.
2015-12-21 12:46:36 -08:00
Andrew Schwartzmeyer bbe61cf0b5 Bump monad-native with fixes 2015-12-21 10:25:25 -08:00
Andrew Schwartzmeyer 9738090faf Patch use of /tmp in Pester tests
More work needs to be done here, but this at least gets rid of the dependency on the TEMP environment variable.
2015-12-18 17:22:39 -08:00
Andrew Schwartzmeyer 7f4c755f5d Whitespace cleanup of readline
Sorry...
2015-12-18 16:30:24 -08:00
Andrew Schwartzmeyer 30a562123a Clean up Host's project.json 2015-12-18 16:11:36 -08:00
Andrew Schwartzmeyer 20adc986ae Make dotnet-cli link more explicit
Link to the anchor which links to their docs.
2015-12-18 16:11:07 -08:00
Andrew Schwartzmeyer ef8e03dfdb Fix PowerShell remoting with dotnet-cli 2015-12-17 16:10:14 -08:00
Andrew Schwartzmeyer db49516dec Fix compiler warning 2015-12-17 16:09:09 -08:00
Andrew Schwartzmeyer 548cbc91b1 Bring back InitialSessionState() 2015-12-17 16:08:24 -08:00
Andrew Schwartzmeyer 3719046eb9 Prune ALC's dependencies 2015-12-17 16:08:12 -08:00
Andrew Schwartzmeyer abceb18344 Add patch script and update readme
To make it easier to patch `System.Console.dll`
2015-12-17 11:29:12 -08:00
Andrew Schwartzmeyer 536dc41859 Repin Pester with fix 2015-12-16 16:34:35 -08:00
Andrew Schwartzmeyer 4562121ffa Fix CorePsTypeCatalog for Management dependencies 2015-12-16 16:33:19 -08:00
Andrew Schwartzmeyer bd3cf39739 Add Commands.Management dependencies 2015-12-16 16:31:30 -08:00
Andrew Schwartzmeyer 8fe9e98c62 Fix CorePsTypeCatalog
Runtime facade updated with dependencies copied from
System.Management.Automation.
2015-12-16 16:24:33 -08:00
Andrew Schwartzmeyer 2c7d6dd4da Prune System.Management.Automation dependencies
I thought this seemed too easy earlier... I forget to replace the
frameworks section. This is now the minimum set of packages required.
2015-12-16 16:21:48 -08:00
Andrew Schwartzmeyer c9beaf314e Deploy Pester with symlink 2015-12-16 15:34:05 -08:00
Andrew Schwartzmeyer 6a62522797 Fix tty after exit of shell
This seems to be a bug with new versions of .NET. An interactive program
purposefully unsets echo, but should also restore on shutdown, and
PowerShell is not doing this (though it used to).

https://askubuntu.com/questions/171449/shell-does-not-show-typed-in-commands-reset-works-but-what-happened
2015-12-16 15:10:04 -08:00
Andrew Schwartzmeyer 2b78993cf8 Update CorePsTypecatalog for new runtime 2015-12-16 15:08:53 -08:00
Andrew Schwartzmeyer 251a875935 Major refactor of .NET dependencies
Much simpler now, thanks to NETStandard.Library.
2015-12-16 15:08:31 -08:00
Andrew Schwartzmeyer 2a05a7ae6c Remove test.sh
Relic from DNX buid system. Deprecated.
2015-12-16 14:01:07 -08:00