Commit Graph

1299 Commits

Author SHA1 Message Date
Travis Plunk
a099786cdc
Update to DotNet 2.0.6 (#6403)
Update to DotNet 2.0.6
  - this addresses [Microsoft Security Advisory CVE-2018-0875: Hash Collision can cause Denial of Service](https://github.com/PowerShell/Announcements/issues/4)
  - This is a port of d607f207b9 to 6.1
2018-03-15 14:54:00 -07:00
Klaudia Algiz
090f8761e8 Use new Pester syntax: -Parameter for Pester tests in engine. (#6298)
* Use new Pester syntax: -Parameter for Pester tests in engine.
2018-03-14 12:13:32 -07:00
Dongbo Wang
7721042fd5 Pass the 'Match' object to $_ for the substitute script block in '-replace' operation (#6029) 2018-03-14 09:43:57 -07:00
Mathias R. Jessen
915639a177 Add lambda support to -replace operator
Add support for replacement lambdas when using the -replace operator.
Requires minimal changes to existing code by using the following overload:
    Regex.Replace(string input, MatchEvaluator evaluator)
when a ScriptBlock is passed in as the replacement argument.
2018-03-14 09:43:57 -07:00
Klaudia Algiz
bcf86d4f8a Use new Pester syntax: -Parameter for Pester tests in Microsoft.PowerShell.Management module. (#6294) 2018-03-09 15:13:15 -08:00
Klaudia Algiz
31cef2afb5 Add negative tests for Copy-Item over remote sessions (#6231) 2018-03-09 08:34:19 -08:00
Mark Kraus
06b0bb2eb2 Make a relative redirect URI absolute when 'Authorization' header present (#6325) 2018-03-09 08:28:20 -08:00
rjmholt
e42c1db395 Make relation-link handling in web cmdlets case insensitive (#6338) 2018-03-08 15:54:42 -08:00
Travis Plunk
46a8976f9a markdown test: use strict in javascript (#6328) 2018-03-07 14:06:06 -08:00
Klaudia Algiz
740c075704 Use new Pester syntax: -Parameter for Pester tests in Modules/CimCmdlets (#6306)
* Use new Pester syntax: -Parameter for Pester tests in Modules/CimCmdlets.
2018-03-07 10:54:41 -08:00
James Truher [MSFT]
30e9e309dc Rename some tests because they are duplicates (#6312)
Also remove a couple of language tests which were actually duplicated
Change the one loop which loops through test cases to include an iteration number to remove test name duplication
2018-03-07 10:25:49 -08:00
Klaudia Algiz
20b0e9cc61 Tests for Get-Process Cmdlet for Module and FileVersion parameters (#6272)
* Tests for Get-Process cmdlet.

* Tests for Get-Process run as admin.

* Skipping some Get-Process tests on Linux

* Skip test for -FileVersionInfo parameter for Linux because of the bug that cause the command to hang.

* Add checks for ErrorId in Get-Process tests

* Change one Get-Process test status to pending for MacOs
2018-03-05 11:44:54 -08:00
Aditya Patwardhan
d91fe0074d
Add TLS1.2 workaround for code coverage script (#6299) 2018-03-02 15:41:21 -08:00
Klaudia Algiz
46613e419d Test for OsLocalDateTime property of Get-ComputerInfo. (#6253)
* Test for OsLocalDateTime property in ComputerInfo.
2018-03-02 14:35:56 -08:00
Chunqing Chen
502ee8f757 get-childitem -LiteralPath should accept 'Include' or 'Exclude' filter (#5462)
* get-childitem -LiteralPath should accept 'Include' or 'Exclude' filter
2018-03-02 14:34:53 -08:00
Dongbo Wang
b30a614e5a
Enable the pending Save-Help tests in CI (#6289)
Some CI level 'Save-Help' tests were disabled in #2806 because HelpInfo URIs for powershell modules were broken (tracked by #2807). However, they were forgotten to be enabled when the URI issue was fixed. This PR reenables those tests.
2018-03-02 13:17:05 -08:00
Mark Kraus
b7ca151260 Refactor Web Cmdlets Tests to Pester 4 Syntax (#6257)
* Pass with Update-PesterTest
* Search and Replace Pass
* [Feature] Move to BeTrue
2018-03-02 09:00:00 +04:00
Dongbo Wang
76526c6f1d
Restore modules from the NuGet package cache by using dotnet restore (#6111) 2018-02-27 13:36:54 -08:00
Kevin Marquette
548850d249 Add 'Path' alias to '-FilePath' parameters and others for several commands (#5817) 2018-02-27 13:05:58 -08:00
Travis Plunk
a49cc9d6e3
revert tests marked pending in #6230 (#6251) 2018-02-26 16:23:59 -08:00
Steve Lee
3b70f7689b Fix table alignment and padding. (#6230)
- The original change to remove extra padding didn't take into account alignment.
  Fix logic to accommodate left, center, and right alignment in the table format and also add tests.
- Fix ImplicitRemoting test that validates formatting to use same instance due to formatting changes in this PR
- Only use loopback to same powershell instance for formatting test as the other tests implicitly expect Windows PowerShell.
2018-02-26 12:43:31 -08:00
Klaudia Algiz
e76354758d Add RequireSudoOnUnix tag for get-help <cmdletName> tests. (#6223) 2018-02-26 12:35:05 -08:00
Roman Beltyukov
3ebe0a9cb0 Add Password parameter to Get-PfxCertificate cmdlet (#6113)
Add Password parameter to Get-PfxCertificate cmdlet to allow automatization instead of prompting for password every time.
2018-02-23 07:29:02 +04:00
Steve Lee
bdd6008846 Don't add trailing spaces to last column when using Format-Table (#5568)
* don't add trailing space to last column in table

* fix out-file tests to new behavior of no padding trailing spaces
2018-02-22 11:47:24 -08:00
Christoph Bergmeister
03ac50ade1 [breaking change] Throw terminating error in New-TemporaryFile and make it not rely on the presence of the 'TEMP' environment variable (#6182)
- Fixes issue #4634 by throwing a terminating error as agreed.
- Makes the command not rely on the presence of the TEMP environment variable to get path to temp directory and use the .Net method Path.GetTempPath() instead.
- Catch exception more specific as given by the documentation
- Improve existing test.
2018-02-22 23:32:01 +04:00
Klaudia Algiz
0ac01b722d Add tests for *-Item Cmdlets in Function Provider (#6172) 2018-02-22 23:26:26 +04:00
Mark Kraus
11d2e2dfd4 Add -SkipHeaderValidation Support to ContentType on Web Cmdlets (#6018)
* Add SkipHeaderValidation Support to ContentType on Web Cmdlets

* Move -SkipHeaderValidation Tests to Contexts

* Add ContentType -SkipHeaderValidation Tests

* Improve ContentType Exception

* Improve error message on invalid -ContentType
2018-02-22 11:15:05 -08:00
Kevin Marquette
93a5fed375 Add common aliases for all write-* commands default message parameter (#5816)
* add common write aliases

* add Message alias to the MessageData parameter for Write-Information
add  Msg and Message alias to the Object perameter for Write-Host

* Add tests for new aliases
2018-02-22 11:07:51 -08:00
Mark Kraus
c6cd66bca8 [feature] Make UTF-8 Default Encoding for application/json (#6109)
When a charset is not supplied for a JSON response, the default encoding should be UTF-8 per RFC 8259. This commit changes the default charset to UTF-8 for JSON responses when a charset is not defined.
2018-02-22 09:31:00 +04:00
Klaudia Algiz
43572b0831 Add tests for Set-Item Cmdlet for Function Provider. (#6166) 2018-02-20 15:00:49 -08:00
Travis Plunk
595a79870e
fix spelling failures in CI (#6191)
This fixes spelling failures in CI. It appears to be caused by a change in the tool used to test spelling
This change:

-Updates the dictionary for new and words which are detected differently
-updates markdown where it is more appropriate
-adds one file to the markdown tests.
2018-02-19 14:00:36 -08:00
Klaudia Algiz
17b501c9fa Support running tests in root privilege on Linux. (#6145)
Support running tests in root privilege on Linux by adding the `REQUIRESUDOONUNIX` tag.
- Delete skip tag in tests which require `sudo`.
2018-02-16 11:13:23 -08:00
Klaudia Algiz
d6e978f82a Invoke-Item.Tests.ps1 handles finding multiple ping executables. (#6120)
Invoke-Item.Tests.ps1 handles finding multiple ping executables.

Fixes Issue #5220
2018-02-13 17:01:24 -08:00
Steve Lee
c1c5344a88 Update copyright and license headers (#6134)
Based on standard practices, we need to have a copyright and license notice at the top of each source file. Removed existing copyrights and updated/added copyright notices for .h, .cpp, .cs, .ps1, and .psm1 files.

Updated module manifests for consistency to have Author = "PowerShell" and Company = "Microsoft Corporation". Removed multiple line breaks.

Separate PR coming to update contribution document for new source files: #6140

Manually reviewed each change.

Fix #6073
2018-02-13 09:23:53 -08:00
Ilya
0ad9fc9d70
[breaking-change] Fix range operator (#5732)
Breaking-change:  "0".."9" returns [char] previously in PowerShell Core (6.0.0, 6.0.1), now it returns [int]. After the change, the behavior is the same as in Windows PowerShell.
2018-02-11 14:22:45 +04:00
Klaudia Algiz
d6678d8417 Refactor the Get-Content tests to use -TestCases. (#6082) 2018-02-08 13:32:10 -08:00
Chunqing Chen
40eb3b3e13 Get-ChildItem <PATH>/* -file should include <Path> as search directory (#5431)
* get-childitem <PATH>/* -file should include <Path> as search directory

* [Feature] Added check for -Directory and more tests

* [Feature] Added check for the dynamic parameter type
2018-02-07 16:30:14 -08:00
Takuya Shibata
22014a923a Use 'RequireAdminOnWindows' tag in Set-Date tests (#6034)
* Use 'RequireAdminOnWindows' tag instead of 'Test-IsElevated' function.

* Fix incorrect condition of user privilege in Linux/macOS CI
2018-02-06 09:31:30 -08:00
James Truher [MSFT]
99a7d38cae Update test framework and tests to support 4x version of Pester (#6064)
* Test fixes and changes needed to support Pester 4.0.8

* Replace 'Should Contain' with new 'Should FileContentMatch' assertion

Explicitly check for string creation with write-output

* Use the current version of pester and install it in modulesDir

* Simplify logic for relative path test.

Multiple '..' is not needed for a relative path, a single one will do. Also, on multi-drive systems using split-path -noqualifier will probably do the wrong thing with regard to constructing a correct path.
Remove extraneous Should Not Throw test, if this throws, the test will fail, we don't need to explicitly assert the not throw

* In some environments it is possible that computer name is 'localhost', so that should be allowed

* [feature] Add link for migrating tests from Pester v3 to v4

Fix up capitalization and white space issues
Change one test to check FullyQualifiedErrorId rather than just `Should Throw`

* [feature] update invoke-item test to handle the case where multiple notepad processes are running

* Fix spelling issue with Pester 4x, calling it Pester 4 should be sufficient
2018-02-05 11:58:25 -08:00
Mark Kraus
37780de9b7 [Feature] Remove -TimeOutSec from non timeout related tests (#6055)
The timeout mechanism should be supported by the test framework (Pester here).
2018-02-02 23:56:06 +04:00
Ilya
ca4e4798fb Remove unsupported members from the enum 'Language' in Add-Type (#5829)
[breaking change]
Remove the unsupported members (various versions of CSharp and `JScript`) from the enum 'Language' in Add-Type. After this change, `Add-Type -Language` only supports `CSharp` and `VisualBasic`.
2018-02-01 09:25:20 -08:00
Mark Kraus
7d003f4f67 Change Web Cmdlet Tests to Use 127.0.0.1 not Localhost (#6069)
Change Web Cmdlets Tests to Use 127.0.0.1 instead of localhost due to dotnet/corefx#24104
This provides a decent speed boost to the WebCmdlet tests (Faster in dozens of times).
2018-02-01 08:26:05 +04:00
Mark Kraus
47c4a0a74b Test: Add Verbosity and more accurate timeout implementation for Start-WebListener (#6013)
- Add verbosity to the WebListener when it fails to assist in troubleshooting
- Switch the WebListener initialization timeout to count cycles instead of using fixed dates to work around possible VM CI sleep/ issues.
2018-01-31 14:55:16 -08:00
Travis Plunk
bd865280f3
update processes to allow for coordinated vulnerability disclosure (#6042) 2018-01-27 10:28:33 -08:00
Travis Plunk
3a33be87a7 Merge branch '6.0.1' into master
# Conflicts:
#	docker/release/fedora27/Dockerfile
#	docs/installation/linux.md
#	docs/installation/macos.md
#	tools/metadata.json
2018-01-25 16:35:25 -08:00
Dongbo Wang
875a12d3d1 Skip tests that use ExecutionPolicy cmdlets on Unix (#6021) 2018-01-25 11:18:21 -08:00
Dan Travison
43662809c7 Add '-settingsfile' to 'pwsh' to support loading a custom powershell config file. (#5920)
Support loading a custom `powershell.config.json` file via the command-line for use in testing.
This change supports replacing the default `powershell.config.json` file that's usually loaded from the `PSHome` directory with a custom version file.

The primary use-cases for this command-line option are as follows:
1. Allow the CI system to disable settings that impact test run times; such as disabling syslog usage on Linux and MacOS
2. Support testing of syslog and os_log without interfering with normal PowerShell operations during test runs via launching an instance with custom log settings.
2018-01-24 22:12:14 -08:00
Mark Kraus
a36d58cf09 Add Simplified multipart/form-data Support to Web Cmdlets Through -Form Parameter (#5972)
- Adds -Form Parameter to Invoke-WebRequest and Invoke-RestMethod.
- Form Accepts any IDictionary.
- Keys are used as multipart/form-data field names (PSObject unwrapped and ConvertTo<String>(Object)).
- FileInfo values are added as StreamContent with application/octet-stream content type and the FileInfo.Name as the file name.
- Strings are treated as StringContent.
- Singe values are converted to string with ConvertTo<String>(Object) and treated as StringContent
- Top level collections are enumerated and converted as above. Nested collections are treated as a single value and converted accordingly.
- Form is mutually exclusive with -Body and -InFile.
- Per PowerShell-Committee decision, -Form makes no assumptions about the HTTP method used. It can theoretically be used with any method. User will need to manually supply -Method POST to post the form.
- ContentType and content related headers supplied to -Headers will be ignored/cleared as MultipartFormDataContent requires control of these headers.
2018-01-25 09:17:55 +04:00
Takuya Shibata
f86371e347 Change Microsoft.PowerShell.Commands.SetDateCommand.SystemTime to struct. (#6006)
Change Microsoft.PowerShell.Commands.SetDateCommand.SystemTime class to struct and resolve the error in Set-Date cmdlet - SetLocalTime function is causing a parameter error (error code 0x00000057).
2018-01-25 07:54:27 +04:00
Aditya Patwardhan
5b5168d72e Revert "Pull PSReadLine from PSGallery" (#5986)
This reverts commit beffdcf94d.
2018-01-22 16:09:35 -08:00