Commit graph

1220 commits

Author SHA1 Message Date
Steve Lee
7437f3dd3a Encoding for New-ModuleManifest on all platforms should be UTF-8 NoBOM (#5923)
* encoding for new-modulemanifest on all platforms should be utf8nobom
* fix test
2018-01-17 16:37:53 -08:00
Steve Lee
7459b54639 Set-Location should use path with wildcard characters if it exists instead of globbing (#5839)
When InitialSessionState initializes it tries to SetLocation to current working directory,
 but if the directory name contains PowerShell wildcard characters, it fails and reverts
 to $PSHOME.
 The change affects Set-Location in that if the path exists (even if containing wildcard characters), just use it. It is a breaking change.
2018-01-17 08:58:55 +04:00
Ilya
89bdb1796c Update PowerShell to build with .NET Core 2.0.5 (#5903) 2018-01-16 17:36:37 -08:00
Mark Kraus
3f9564e665 Replace HttpListener Link Header Tests with WebListener (#5806)
- Add Link controller to WebListener
- Replace HttpListener Link tests with WebListener
- Update WebListener Documentation
- Enable cross-platform multiple Link header tests
2018-01-16 09:23:22 -08:00
Mark Kraus
c8ccb376b4 [Feature] Replace HttpListener Echo Tests with WebListener (#5840) 2018-01-13 11:51:40 +04:00
Mark Kraus
211ee632dc [Feature] Replace HttpListener Redirect Tests with WebListener (#5872)
- adds type query to Redirect listener and adjusts logic to accommodate
- Replaces HttpListener Redirect Tests with WebListener
2018-01-13 11:51:04 +04:00
Ilya
b6f18e7101
Add a test for IValidateSetValuesGenerator in a module (#5830)
Add a test that has been skipped in PR #5702
2018-01-10 13:02:33 +04:00
Mark Kraus
bcb7252712 Convert WebCmdlets test to one-true-brace-style Formating (#5716) 2018-01-09 13:43:25 -08:00
Steve Lee
0d893a59c7 Remove sc alias which conflicts with sc.exe (#5827) 2018-01-08 17:20:00 -08:00
Aditya Patwardhan
d6288a3e2f Updated Help Uri to point to latest help content for Microsoft.PowerShell.Core module (#5820) 2018-01-08 16:37:59 -08:00
Dongbo Wang
d261e1f166
Move group policy settings and enable policy controlled logging in PowerShell Core (#5791)
Make PowerShell Core reads group policy settings from different registry keys (Windows only) and the configuration files (both Windows and Unix).
- On Windows, move to different GPO registry keys.
- On both Windows and Unix, read GPO related settings from the configuration file `powershell.config.json`.
- On Windows, the policy settings in registry take precedence over the configuration file.
- Enable policy controlled logging and transcription on Unix.
2018-01-08 12:03:23 -08:00
Dongbo Wang
3b5badca04 Rename 'PowerShellProperties.json' to 'powershell.config.json' 2018-01-05 16:06:36 -08:00
Ilya
6825182a6a
Add ForEach and Where methods to [PSCustomobject] (#5756) 2018-01-05 22:54:31 +04:00
Dongbo Wang
a6c62bfc58 [Feature] Minor changes to make ScriptBlock logging work with SysLog 2018-01-04 13:40:51 -08:00
Dongbo Wang
117e83a025 Add xUnit tests for reading Policy settings from config file 2018-01-04 13:40:51 -08:00
Dongbo Wang
ad231a8a7f
Make minor fixes in Compiler to properly handle void type expression (#5764) 2018-01-02 09:25:29 -08:00
Ilya
7257404929
Add Count and Length properties to [PSCustomobject] (#5745)
Related #3671
•Add Count and Length properties to [PSCustomobject].
 Now following returns 1:
 ([pscustomobject] @{ foo = 'bar' }).Count
 ([pscustomobject] @{ foo = 'bar' }).Length
•Add tests
2017-12-28 10:15:06 +04:00
Mark Kraus
79ae396917 [Feature] Replace lee.io Tests with WebListener. (#5709) 2017-12-19 08:29:46 +04:00
Mark Kraus
19197e11f3 Replace Remaining HttpBin.org Tests with WebListener (#5665)
•Replaces all remaining test that rely on httpbin.org
•Adds Put, Post, Patch, and Delete tests to WebListener by means of routes to Get test and modifications to the Get controller.
•Adds responsephrase option to the Response test to accommodate error message tests
•removed redundant GET tests from irm and iwr tests.
•Fixed markdown linting errors in README.md for WebListener
2017-12-13 19:28:05 +04:00
Travis Plunk
6ef94c1dfe
Make the experience better when start-pspester doesn't find pester (#5673)
refactor code to restore pester into a separate function called Restore-PSPester
update message on what to do when pester is missing
Add ability for get-psoptions to default to new-psoptions
fix an issue with publish-pstesttools when a build has not been run since build.psm1 has been imported (try to use the default options)
make start-pspester use the last build, not just use the default options
fix an issue in restore caused some files not to be removed
2017-12-12 16:07:12 -08:00
Dongbo Wang
d966f59a11
Update PowerShell to build with .NET Core runtime 2.0.4 (#5677) 2017-12-12 13:53:22 -08:00
Aditya Patwardhan
0bcc2a2a8f Get GitCommitId using the ProductVersion from Assembly (#5651) 2017-12-08 11:37:29 -08:00
Manikyam Bavandla
15e609caf3 Update 'PowerShellGet' tests to validate the new install location of AllUsers scope. (#5633)
Changed the install location of AllUsers scope on PWSH to SHARED_MODULES location.
2017-12-07 08:59:31 -08:00
Dongbo Wang
cc125422dd
Update a flaky test that fails intermittently in CI (#5641) 2017-12-06 12:46:53 -08:00
Mark Kraus
ee7fbed23c Make Travis CI use libcurl+openssl+gssapi for macOS (#5629) 2017-12-06 12:20:44 -08:00
James Truher [MSFT]
eaeca638fc Run tests for Windows installer only on Windows (#5619) 2017-12-04 14:18:52 -08:00
Dongbo Wang
3469d4b13f [Feature] Supress the expected errors from Select-Xml tests (#5591) 2017-12-04 13:26:53 -08:00
Dongbo Wang
c6f27dcb17 [Feature] Make the -SslProtocol tests pending (#5605) 2017-12-04 11:38:30 -08:00
Dongbo Wang
d105e15521 Add retry logic to prerequisite URL tests (#5601)
* Disable Requisiste URLs tests

* Add retry for the URL tests
2017-12-04 10:07:30 -08:00
Mark Kraus
95a8a64260 Replace HttpListener Response Tests with WebListener (#5540)
* Add Response Controller

* [Feature] Replace HttpListener Response tests with WebListener
2017-12-04 09:52:14 -08:00
Staffan Gustafsson
a9c6292903 Enable conversions from PSMethod to Delegate (#5287)
Underpinnings to make calling of Extension methods /Linq easier from PowerShell.
Enables the following that previously had to be done via reflection.

class M {
  [int] Twice([int] $value) { return 2 * $value }

  [int] DoubleSum([int[]] $values) {
     return [Linq.Enumerable]::Sum($values, [M]::Twice)
  }
}

Each PSMethod is created as with a unique type for the combinations of method signatures in the MethodInfos it represents.

PSMethod<T> where T is a MethodGroup<>, potentially recursive in the last template argument.

This way, we can determine by just looking at the type of a PSMethod if there exists a conversion from the PSMethod to a delegate.
2017-12-01 18:40:35 -08:00
Steve Lee
b69ff717ab Remove unncessary check for Paths.count > 0 as there is code later to use the current (#5596)
Remove unnecessary check for Paths.count > 0 as there is code later to use the current working directory since -Path is not a mandatory parameter.
Updated ShouldProcess to output the internal action on adding paths rather than the user action (which is the cmdlet name).

Updated tests to not specify -Path

Fix #5594
2017-12-01 10:57:00 -08:00
Dongbo Wang
b5f84c2b39 Skip null-element check for collections with a value-type element type (#5432)
* Fix NotNullOrEmpty check logic

* Fix a test issue on Unix
2017-11-30 14:46:09 -08:00
Chunqing Chen
52df947080 Fix xunnit test for PS (#4780)
* Initial work to enable xunit

* Moved AssemblyOriginatorKeyFile to csharp.tests.csproj

* Native binary has dylib extension on macOS
2017-11-30 14:44:41 -08:00
Steve Lee
7dce4116c7 output url so when test fails you can more easily troubleshoot 2017-11-29 13:00:36 -08:00
Jonathan Muller
ad17640d48 Clean up use of 'Runspaceconfiguration' from comments and xunit test code (#5569) 2017-11-29 09:38:04 -08:00
Travis Plunk
f67844e4cd Make 'AllSigned' execution policy require modules under $PSHome to be signed (#5511) 2017-11-28 17:34:37 -08:00
Ilya
910c5a4780 Fix PSVersion in PSSessionConfiguration tests (#5554)
* Fix PSVersion in PSSessionConfiguration tests by getting the expected value from PSVersionTable instead of hardcoded string.
2017-11-28 12:00:49 -08:00
Mark Kraus
7778941b40 Fix Import-CliXml Tests (#5521)
Add checks that ProcessName is not null or empty.
2017-11-22 13:34:05 +04:00
Mark Kraus
3ff495dc0b [Feature] Fix AppVeyor Fails (#5520) 2017-11-21 13:09:27 -08:00
Aditya Patwardhan
381134ba59 Updated csproj to use the latest help package (#5454) 2017-11-15 16:29:04 -08:00
Dongbo Wang
c4f0d1c893
Add a test for the powershell hang fix (#5451)
- Add test for the powershell hang fix
- Ignore the 'Sync-PSTags' warning
2017-11-15 09:41:11 -08:00
Mark Kraus
c832e1687d Add PSTypeName Support for Import-Csv and ConvertFrom-Csv (#5389)
closes #5134

Adds PSTypeName preservation on Import-Csv and ConvertFrom-Csv
2017-11-14 11:15:18 -08:00
Mark Kraus
87bcd4132a Fix Single Value JSON null in Invoke-RestMethod (#5338)
* [Feature] Fix Single Value JSON null in Invoke-WebRequest

* [Feature] Switch from Regex to JToken.Parse()

* [Feature] Address PR Feedback: use `n
2017-11-14 07:53:43 +04:00
Mark Kraus
ecf0f8c151 Add SslProtocol Support to WebCmdlets (#5329)
closes #2662

This feature adds the ability to restrict the SSL/TLS protocol used when making the web request. In 5.1 the user could make use of .NET API's to enforce this on the Web Cmdlets. With the move to HttpClient in PowerShell Core, those APIs have no impact. The user still has requirements to ensure specific protocols are used.

The public enum WebSslProtocol is added as a wrapper to the underlying SslProtocols enum. Neither it nor SecurityProtocolType can be used because Ssl3 and Ssl2 are not supported by HttpClientHandler.SslProtocols. While it may not be intuitive to a PowerShell user to use -bor or "Tls, Tls11" to set multiple options, the general use case for this will be a single protocol.

Adds -SslProtocol parameter to Web Cmdlets
Adds WebSslProtocol Enum to support limited subset of SslProtocol enum supported by HttpClientHandler
Adds TLS 1.1 and TLS 1.0 listening ports to WebListener
2017-11-13 10:45:46 -08:00
Ilya
c86f243ca0 Make Import-Csv support CR, LF and CRLF as line delimiters (#5363)
With the fix, `Import-Csv` support CR (\r), LF (\n), CRLF (\r\n) as line delimiters.
2017-11-10 14:02:45 -08:00
Chunqing Chen
2be13a623e Disable cmdlets that are not supported under unix system (#5083)
* permanently remove cmdlets that are not supported under Unix and move tests to defaultcommands.tests.ps1
2017-11-10 10:36:08 -08:00
Mark Kraus
ee7edb7427 Add error on Legacy Credential over non-HTTPS for Web Cmdlets (#5402)
- Add an error when a user tries to use `-Credential` (legacy usage without `-Authentication`) or `-UseDefaultCredentials` over a non-HTTPS URI
- User can bypass error with `-AllowUnencryptedAuthentication`
- `-UseDefaultCredentials` can only be reliably tested on Windows as support on other platforms depends on a Kerberos infrastructure. 
- Add `/Auth/` tests to WebListener for challenge authentication Basic, Negotiate, and NTLM

Incidentally, this increases test coverage for the web cmdlets as `-Credential` and `-UseDefaultCredentials` were not being tested.
2017-11-10 08:11:57 -08:00
Ilya
5fd1b4759c
Don't write an error if file already unblocked (Unblock-File) (#5362) 2017-11-10 18:14:08 +04:00
Dan Travison
7a78fec180 Exclude EventResource.resx from SMAResources.Tests.ps1 (#5379)
Fix a test failure.
2017-11-09 07:52:01 -08:00